AIMS_DB_IATI.WebAPI.Controllers.CFnTFController.SubmitAssignedActivities C# (CSharp) Method

SubmitAssignedActivities() private method

private SubmitAssignedActivities ( List assignedActivities ) : CFnTFModel
assignedActivities List
return AIMS_BD_IATI.Library.Parser.ParserIATIv2.CFnTFModel
        public CFnTFModel SubmitAssignedActivities(List<iatiactivity> assignedActivities)
        {
            if (assignedActivities == null) return Sessions.CFnTFModel;
            CFnTFModel CFnTFModel = new CFnTFModel();
            CFnTFModel.AssignedActivities = assignedActivities;
            #region Co-financed
            CFnTFModel.AimsProjects = (from i in assignedActivities
                                       join a in Sessions.CFnTFModel.AimsProjects on i.MappedProjectId equals a.ProjectId
                                       where i.MappedTrustFundId == default(int)
                                       select a).DistinctBy(d => d.ProjectId).ToList();

            foreach (var project in CFnTFModel.AimsProjects)
            {
                var acts = assignedActivities.FindAll(f => f.MappedProjectId == project.ProjectId);
                project.MatchedProjects.AddRange(acts);
            }
            #endregion

            #region TrustFund
            //get all trust fund activities that the user map by selecting dropdown
            var trastFundsActivities = (from i in assignedActivities
                                        where i.MappedProjectId == default(int)
                                          && i.MappedTrustFundId > 0
                                        select i);

            foreach (var activity in trastFundsActivities.DistinctBy(d => d.MappedTrustFundId))
            {

                CFnTFModel.TrustFundDetails.Add(aimsDAL.GetTrustFundDetails(activity.MappedTrustFundId));
            }

            foreach (var TrustFund in CFnTFModel.TrustFundDetails)
            {
                var acts = assignedActivities.FindAll(f => f.MappedTrustFundId == TrustFund.TrustFundId);
                TrustFund.iatiactivities.AddRange(acts);
            }
            #endregion
            Sessions.CFnTFModel = CFnTFModel;
            return CFnTFModel;
        }
        [AcceptVerbs("GET", "POST")]