Пример #1
0
        public iOrgs GetAllImplementingOrg(FilterBDModel filterDBModel)
        {
            if (filterDBModel != null)
            {
                Sessions.filterBDModel.iatiActivities = filterDBModel.iatiActivities;
                UpdateActivities(filterDBModel.iatiActivities, Sessions.activitiesContainer.iatiActivities);
            }

            //actual method begins here
            var managingDPs = GetAllFundSources();

            var iOrgs = new List<participatingorg>();
            foreach (var activity in Sessions.activitiesContainer?.RelevantActivities)
            {
                if (activity.ImplementingOrgs != null)
                    iOrgs.AddRange(activity.ImplementingOrgs);


            }

            var distictOrgs = iOrgs.DistinctBy(l => l.Name).OrderBy(o => o.Name);

            var exAgencies = aimsDAL.GetExecutingAgencies();

            var returtResult = new iOrgs
            {
                Orgs = distictOrgs.ToList(),
                FundSources = managingDPs,
                ExecutingAgencyTypes = aimsDAL.GetExecutingAgencyTypes(),
                ExecutingAgencies = exAgencies

            };
            Sessions.iOrgs = returtResult;

            foreach (var org in distictOrgs)
            {
                //check for matching managing DP from AIMS
                var managingDP = !string.IsNullOrWhiteSpace(org.@ref) ? managingDPs.FirstOrDefault(q => q.IATICode != null && q.IATICode.Contains(org.@ref)) : null;

                //Add selected value
                org.AllID = managingDP == null ? Sessions.DP.AllID : managingDP.AllID;

                GuessAgency(org, false);
            }


            Sessions.CurrentStage = Stage.FilterDP;

            return returtResult;
        }
Пример #2
0
        public FilterBDModel SubmitHierarchy(HeirarchyModel heirarchyModel)
        {
            if (Sessions.activitiesContainer.IsHierarchyLoaded == true)
                return null;

            var returnResult = new FilterBDModel();
            heirarchyModel = heirarchyModel ?? Sessions.heirarchyModel;

            var iatiActivities = Sessions.activitiesContainer?.iatiActivities;
            if (heirarchyModel == null)
            {
                returnResult.iatiActivities = ToMinifiedIatiActivitiesModel(Sessions.activitiesContainer?.iatiActivities);
            }
            else
            {

                if (heirarchyModel.SelectedHierarchy == 1)
                {
                    iatiActivities = ImportLogic.LoadH1ActivitiesWithChild(iatiActivities);
                    returnResult.iatiActivities = ToMinifiedIatiActivitiesModel(iatiActivities, false, true);
                }
                else
                {
                    iatiActivities = ImportLogic.LoadH2ActivitiesWithParent(iatiActivities);
                    returnResult.iatiActivities = ToMinifiedIatiActivitiesModel(iatiActivities);
                }
                Sessions.activitiesContainer.IsHierarchyLoaded = true;
            }
            returnResult.iatiActivities = returnResult.iatiActivities.OrderByDescending(k => k.IsRelevant).ToList();

            Sessions.CurrentStage = Stage.FilterBD;
            Sessions.heirarchyModel = heirarchyModel;
            Sessions.filterBDModel = returnResult;
            Sessions.activitiesContainer.iatiActivities = iatiActivities;
            return returnResult;
        }