private void UpdateCrmPartnerChildDetails(List <CRMPartner> crmPartners, Dictionary <int, PartnerChildDetails> dictionary) { foreach (var crmPartner in crmPartners) { crmPartner.PartnerCenterRoomInfo.Clear(); crmPartner.PartnerCenterDescription.Clear(); crmPartner.PartnerCoursePackage.Clear(); crmPartner.PartnerCenterInfo.Clear(); crmPartner.Pictures.Clear(); PartnerChildDetails partnerChildDetails = new PartnerChildDetails(); if (dictionary.TryGetValue(crmPartner.CRMPartnerId, out partnerChildDetails)) { crmPartner.PartnerCenterRoomInfo.AddRange(partnerChildDetails.PartnerCenterRoomInfo); crmPartner.PartnerCenterDescription.AddRange(partnerChildDetails.PartnerCenterDescription); crmPartner.PartnerCoursePackage.AddRange(partnerChildDetails.PartnerCoursePackage); crmPartner.PartnerCenterInfo.AddRange(partnerChildDetails.PartnerCenterInfo); crmPartner.Pictures.AddRange(partnerChildDetails.Pictures); } } }
private void UpdateCrmPartnerForApprovedStatusAndLastModifiedDate(List <CRMPartner> crmPartners, DateTime lastModifiedDate) { Dictionary <int, PartnerChildDetails> _dictionary = new Dictionary <int, PartnerChildDetails>(); foreach (var crmPartner in crmPartners) { PartnerChildDetails partnerChildDetails = new PartnerChildDetails(); foreach (var partnerCenterRoomInfo in crmPartner.PartnerCenterRoomInfo) { if (_partnerCenterRoomInfoContentStatus(partnerCenterRoomInfo, 1) && _validatePartnerCenterRoomInfoLastModifiedDate(partnerCenterRoomInfo, lastModifiedDate)) { partnerChildDetails.PartnerCenterRoomInfo.Add(partnerCenterRoomInfo); } } foreach (var partnerCenterDescription in crmPartner.PartnerCenterDescription) { if (_partnerCenterDescriptionContentStatus(partnerCenterDescription, 1) && _validatePartnerCenterDescriptionLastModifiedDate(partnerCenterDescription, lastModifiedDate)) { partnerChildDetails.PartnerCenterDescription.Add(partnerCenterDescription); } } foreach (var partnerCoursePackage in crmPartner.PartnerCoursePackage) { if (_partnerCoursePackageContentStatus(partnerCoursePackage, 1) && _validatePartnerCoursePackageLastModifiedDate(partnerCoursePackage, lastModifiedDate)) { partnerChildDetails.PartnerCoursePackage.Add(partnerCoursePackage); } } foreach (var partnerCenterInfo in crmPartner.PartnerCenterInfo) { if (_partnerCenterInfoContentStatus(partnerCenterInfo, 1) && _validatePartnerCenterInfoLastModifiedDate(partnerCenterInfo, lastModifiedDate)) { partnerChildDetails.PartnerCenterInfo.Add(partnerCenterInfo); } } foreach (var picture in crmPartner.Pictures) { if (picture.LastModified != null && picture.LastModified > lastModifiedDate) { partnerChildDetails.Pictures.Add(picture); } } if (crmPartner.PartnerInspirationCategoriesDK?.ContentStatusId == null || crmPartner.PartnerInspirationCategoriesDK?.ContentStatusId != 1 || crmPartner.PartnerInspirationCategoriesDK?.LastModified == null || crmPartner.PartnerInspirationCategoriesDK?.LastModified < lastModifiedDate) { crmPartner.PartnerInspirationCategoriesDK = null; } if (crmPartner.PartnerInspirationCategoriesUK?.ContentStatusId == null || crmPartner.PartnerInspirationCategoriesUK?.ContentStatusId != 1 || crmPartner.PartnerInspirationCategoriesUK?.LastModified == null || crmPartner.PartnerInspirationCategoriesUK?.LastModified < lastModifiedDate) { crmPartner.PartnerInspirationCategoriesUK = null; } _dictionary.Add(crmPartner.CRMPartnerId, partnerChildDetails); } UpdateCrmPartnerChildDetails(crmPartners, _dictionary); }
public List <CRMPartner> GetCrmPartnersBasedOnApprovalStatus() { var crmResults = DkbsContext.CRMPartner //.Include(x => x.Pictures) .Include(x => x.PartnerCenterInfo) //.ThenInclude(x => x.ContentStatus) .Include(x => x.PartnerCenterRoomInfo) .Include(x => x.PartnerCenterDescription) //.ThenInclude(x => x.ContentStatus) .Include(x => x.PartnerInspirationCategoriesDK) .Include(x => x.PartnerInspirationCategoriesUK) .Include(x => x.PartnerCoursePackage) //.ThenInclude(x => x.CoursePackage).ThenInclude(x => x.PackageIncludedItems) //.Include(x => x.PartnerCoursePackage) //.ThenInclude(x => x.PartnerPackageIncludedItems) //.Include(x => x.PartnerCoursePackage) //.ThenInclude(x => x.PartnerPackageAdditionalItems) //.Include(x => x.PartnerCoursePackage) //.ThenInclude(x => x.PartnerPackageYears) //.Include(x => x.PartnerCoursePackage) //.ThenInclude(x => x.ContentStatus) .ToList() ; Dictionary <int, PartnerChildDetails> _dictionary = new Dictionary <int, PartnerChildDetails>(); foreach (var crmPartner in crmResults) { PartnerChildDetails partnerChildDetails = new PartnerChildDetails(); foreach (var partnerCenterRoomInfo in crmPartner.PartnerCenterRoomInfo) { if (_partnerCenterRoomInfoContentStatus(partnerCenterRoomInfo, 2)) { partnerChildDetails.PartnerCenterRoomInfo.Add(partnerCenterRoomInfo); } } foreach (var partnerCenterDescription in crmPartner.PartnerCenterDescription) { if (_partnerCenterDescriptionContentStatus(partnerCenterDescription, 2)) { partnerChildDetails.PartnerCenterDescription.Add(partnerCenterDescription); } } foreach (var partnerCoursePackage in crmPartner.PartnerCoursePackage) { if (_partnerCoursePackageContentStatus(partnerCoursePackage, 2)) { partnerChildDetails.PartnerCoursePackage.Add(partnerCoursePackage); } } foreach (var partnerCenterInfo in crmPartner.PartnerCenterInfo) { if (_partnerCenterInfoContentStatus(partnerCenterInfo, 2)) { partnerChildDetails.PartnerCenterInfo.Add(partnerCenterInfo); } } if (crmPartner.PartnerInspirationCategoriesDK?.ContentStatusId != null || crmPartner.PartnerInspirationCategoriesDK?.ContentStatusId == 1) { crmPartner.PartnerInspirationCategoriesDK = null; } if (crmPartner.PartnerInspirationCategoriesUK?.ContentStatusId != null || crmPartner.PartnerInspirationCategoriesUK?.ContentStatusId == 1) { crmPartner.PartnerInspirationCategoriesUK = null; } _dictionary.Add(crmPartner.CRMPartnerId, partnerChildDetails); } UpdateCrmPartnerChildDetails(crmResults, _dictionary); return(crmResults); }