AIMS_BD_IATI.DAL.AimsDbIatiDAL.GetAssignActivities C# (CSharp) Метод

GetAssignActivities() публичный Метод

public GetAssignActivities ( string dp, bool mappedOnly = false ) : CFnTFModel
dp string
mappedOnly bool
Результат AIMS_BD_IATI.Library.Parser.ParserIATIv2.CFnTFModel
        public CFnTFModel GetAssignActivities(string dp, bool mappedOnly = false)
        {
            var q = (from a in dbContext.Activities
                     let isNotMapped = (a.ProjectId ?? 0) == 0 && (a.MappedProjectId ?? 0) == 0 && (a.MappedTrustFundId ?? 0) == 0
                     let isMapped = a.ProjectId > 0 || a.MappedProjectId > 0 || a.MappedTrustFundId > 0
                     where a.OrgId != dp
                         && a.AssignedOrgId == dp
                         && (mappedOnly ? isMapped : isNotMapped)

                     orderby a.IatiIdentifier
                     select new ActivityModel
                     {
                         IatiActivity = a.IatiActivity,
                         IatiIdentifier = a.IatiIdentifier,
                         ProjectId = a.ProjectId,
                         MappedProjectId = a.MappedProjectId,
                         MappedTrustFundId = a.MappedTrustFundId,
                         OrgId = a.OrgId,
                         IsInclude = a.IsInclude
                     }).ToList();

            var iatiActivities = ParseXMLAndResolve(q);

            foreach (var iatiActivity in iatiActivities)
            {

                #region Field Mapping Preference Delegateds
                var FieldMappingPreferenceDelegateds = dbContext.FieldMappingPreferenceDelegateds.Where(w => w.IatiIdentifier == iatiActivity.IatiIdentifier).ToList();
                if (FieldMappingPreferenceDelegateds.Count > 0)
                {
                    var CommitmentIncluded = FieldMappingPreferenceDelegateds.FirstOrDefault(j => j.FieldName == IatiFields.Commitment);
                    iatiActivity.IsCommitmentIncluded = CommitmentIncluded?.IsInclude ?? false;

                    var PlannedDisbursmentIncluded = FieldMappingPreferenceDelegateds.FirstOrDefault(j => j.FieldName == IatiFields.PlannedDisbursment);
                    iatiActivity.IsPlannedDisbursmentIncluded = PlannedDisbursmentIncluded?.IsInclude ?? false;

                    var DisbursmentIncluded = FieldMappingPreferenceDelegateds.FirstOrDefault(j => j.FieldName == IatiFields.Disbursment);
                    iatiActivity.IsDisbursmentIncluded = DisbursmentIncluded?.IsInclude ?? false;

                }
                #endregion

                LoadChildActivities(iatiActivity);
                SetExchangedValues(iatiActivity);

            }


            return new CFnTFModel
            {
                AssignedActivities = iatiActivities,
                AimsProjects = new AimsDAL().GetAIMSProjectsInIATIFormat(dp)
            };
        }