public void UpdateInitiativeMetaTags(InitiativeContext context, string[] selectedMetaTags, Initiative initiativeToUpdate) { if (selectedMetaTags == null) { initiativeToUpdate.InitiativeMetaTag = new List <InitiativeMetaTag>(); return; } var selectedMetaTagsHS = new HashSet <string>(selectedMetaTags); var initiativeMetaTags = new HashSet <int> (initiativeToUpdate.InitiativeMetaTag.Select(c => c.MetaTag.MetaTagId)); foreach (var metaTag in context.MetaTag) { // This is the add a meta tag condition from UI if (selectedMetaTagsHS.Contains(metaTag.MetaTagId.ToString())) { if (!initiativeMetaTags.Contains(metaTag.MetaTagId)) { initiativeToUpdate.InitiativeMetaTag.Add ( new InitiativeMetaTag { InitiativeId = initiativeToUpdate.InitiativeId, MetaTagId = metaTag.MetaTagId }); } } else { //This is the delete a meta tag conditon if (initiativeMetaTags.Contains(metaTag.MetaTagId)) { InitiativeMetaTag metaTagToRemove = initiativeToUpdate .InitiativeMetaTag .SingleOrDefault(i => i.MetaTagId == metaTag.MetaTagId); context.Remove(metaTagToRemove); } } } }
public void UpdateInitiativeBusiness(InitiativeContext context, string[] selectedBusiness, Initiative initiativeToUpdate) { if (selectedBusiness == null) { initiativeToUpdate.InitiativeBusiness = new List <InitiativeBusiness>(); return; } var selectedBusinessHS = new HashSet <string>(selectedBusiness); var initiativeBusiness = new HashSet <int> (initiativeToUpdate.InitiativeBusiness.Select(c => c.Business.BusinessId)); foreach (var business in context.Business) { // This is the add a meta tag condition from UI if (selectedBusinessHS.Contains(business.BusinessId.ToString())) { if (!initiativeBusiness.Contains(business.BusinessId)) { initiativeToUpdate.InitiativeBusiness.Add ( new InitiativeBusiness { InitiativeId = initiativeToUpdate.InitiativeId, BusinessId = business.BusinessId }); } } else { //This is the delete a meta tag conditon if (initiativeBusiness.Contains(business.BusinessId)) { InitiativeBusiness businessToRemove = initiativeToUpdate .InitiativeBusiness .SingleOrDefault(i => i.BusinessId == business.BusinessId); context.Remove(businessToRemove); } } } }
public void UpdateInitiativeFacility(InitiativeContext context, string[] selectedFacility, Initiative initiativeToUpdate) { if (selectedFacility == null) { initiativeToUpdate.InitiativeFacility = new List <InitiativeFacility>(); return; } var selectedFacilityHS = new HashSet <string>(selectedFacility); var initiativeFacilitys = new HashSet <int> (initiativeToUpdate.InitiativeFacility.Select(c => c.Facility.FacilityId)); foreach (var facility in context.Facility) { // This is the add a meta tag condition from UI if (selectedFacilityHS.Contains(facility.FacilityId.ToString())) { if (!initiativeFacilitys.Contains(facility.FacilityId)) { initiativeToUpdate.InitiativeFacility.Add ( new InitiativeFacility { InitiativeId = initiativeToUpdate.InitiativeId, FacilityId = facility.FacilityId }); } } else { //This is the delete a meta tag conditon if (initiativeFacilitys.Contains(facility.FacilityId)) { InitiativeFacility facilityToRemove = initiativeToUpdate .InitiativeFacility .SingleOrDefault(i => i.FacilityId == facility.FacilityId); context.Remove(facilityToRemove); } } } }