public static JobAc ProcessJobEntity(JobAc jobAc, ref List <dynamic> lstDocuments) { #region "MailComments" var lstMailComments = lstDocuments.Where(p => p.JobId == jobAc.Id && p.Type.ToString() == EntityType.MailComment.ToString()).ToList(); if (lstMailComments.Any()) { lstDocuments.RemoveAll(p => p.JobId == jobAc.Id && p.Type.ToString() == EntityType.MailComment.ToString()); jobAc.UsedIn.Add(new UsedIn() { Type = EntityType.MailComment.ToString(), Name = "Mail Comments", Entity = lstMailComments }); } #endregion #region "CheckIns" var lstCheckIns = lstDocuments.Where(p => p.JobId == jobAc.Id && p.Type.ToString() == EntityType.CheckIn.ToString()).ToList(); if (lstCheckIns.Any()) { lstDocuments.RemoveAll(p => p.JobId == jobAc.Id && p.Type.ToString() == EntityType.CheckIn.ToString()); jobAc.UsedIn.Add(new UsedIn() { Type = EntityType.CheckIn.ToString(), Name = "Check Ins", Entity = lstCheckIns }); } #endregion #region "Overview" var lstOverview = lstDocuments.Where(p => p.JobId == jobAc.Id && p.Type.ToString() == EntityType.Overview.ToString()).ToList(); if (lstOverview.Any()) { lstDocuments.RemoveAll(p => p.JobId == jobAc.Id && p.Type.ToString() == EntityType.Overview.ToString()); } #endregion #region "Conclusion" var lstConclusion = lstDocuments.Where(p => p.JobId == jobAc.Id && p.Type.ToString() == EntityType.Conclusion.ToString()).ToList(); if (lstConclusion.Any()) { lstDocuments.RemoveAll(p => p.JobId == jobAc.Id && p.Type.ToString() == EntityType.Conclusion.ToString()); jobAc.UsedIn.Add(new UsedIn() { Type = EntityType.Conclusion.ToString(), Name = "Conclusion", Entity = lstConclusion }); } #endregion return(jobAc); }
public static JobAc ProcessJobWise(dynamic item, ref List <dynamic> lstFilteredItems, string type, string entityName) { var groupedList = lstFilteredItems.GroupBy(x => x.JobId).ToList().Select(x => new { key = x.Key, lstItems = x.ToList() }); var getKeyObject = groupedList.FirstOrDefault(x => x.key == item.JobId); if (getKeyObject != null && getKeyObject.lstItems.Count > 0) { var jobAc = new JobAc { Type = type, Id = item.JobId, Title = item.JobTitle, Description = item.JobDescription, Address = item.JobAddress, CreatedDateTime = item.JobCreatedDateTime, UpdatedDateTime = item.JobUpdatedDateTime, UpdatedBy = item.JobUpdatedBy, TeamName = item.TeamName, TeamIcon = item.TeamIcon, UsedIn = new List <UsedIn>() }; foreach (var singleItem in getKeyObject.lstItems) { jobAc.UsedIn.Add(new UsedIn() { Type = type, Name = entityName, Entity = new List <dynamic> { (dynamic)singleItem } }); } lstFilteredItems.RemoveAll(x => x.JobId == item.JobId); return(jobAc); } return(null); }