AIMS_BD_IATI.WebAPI.Controllers.IATIImportController.SubmitActivities C# (CSharp) Method

SubmitActivities() private method

private SubmitActivities ( List relevantActivies ) : ProjectMapModelMinified
relevantActivies List
return AIMS_DB_IATI.WebAPI.Models.IATIImport.ProjectMapModelMinified
        public ProjectMapModelMinified SubmitActivities(List<iatiactivityModel> relevantActivies)
        {
            if (relevantActivies != null)
            {
                UpdateActivities(relevantActivies, Sessions.activitiesContainer?.RelevantActivities);
            }
            var relevantActiviesSession = Sessions.activitiesContainer?.RelevantActivities;

            //SetStatics();//since we have no access to session at library project, so we pass it in a static variables

            var ProjectsOwnedByOther = relevantActiviesSession.FindAll(f => f.IATICode != Sessions.DP.ID);

            relevantActiviesSession.RemoveAll(f => f.IATICode != Sessions.DP.ID);

            var AimsProjects = Sessions.activitiesContainer?.AimsProjects;

            var MatchedProjects = (GetMatchedProjects(relevantActiviesSession, AimsProjects)).ToList();

            //for showing mathced projects side by side And field mapping later
            var MatchedProjects2 = (from i in relevantActiviesSession
                                    from a in AimsProjects.Where(k => i.OriginalIatiIdentifier == k.OriginalIatiIdentifier)
                                    orderby i.IatiIdentifier
                                    select new ProjectFieldMapModel(i, a)
                                    ).ToList();

            var IatiActivityNotInAims = relevantActiviesSession.Except(MatchedProjects).ToList();


            var AimsProjectNotInIati = AimsProjects
                .ExceptBy(MatchedProjects, f => f.OriginalIatiIdentifier)
                .ExceptBy(ProjectsOwnedByOther, f => f.OriginalIatiIdentifier)
                .ToList();

            var returnResult = new ProjectMapModel
            {
                MatchedProjects = MatchedProjects2,
                IatiActivitiesNotInAims = IatiActivityNotInAims,
                AimsProjectsNotInIati = AimsProjectNotInIati,
                NewProjectsToAddInAims = new List<iatiactivity>(),
                ProjectsOwnedByOther = ProjectsOwnedByOther
            };
            Sessions.ProjectMapModel = returnResult;

            Sessions.CurrentStage = Stage.ShowProjects;

            var r = ToMinifiedProjectMapModel(returnResult);

            r.AimsProjectsDrpSrc = (from p in AimsProjects
                                    select new LookupItem
                                    {
                                        ID = p.ProjectId,
                                        Name = p.Title
                                    }).ToList();
            return r;
        }