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)
};
}