public static void ExcludeVendor(string id, string name) { ConsentGdprSaveAndExitVariablesVendor excluded = null; foreach (var vendor in vendors[CmpCampaignPopupQueue.CurrentCampaignToShow()]) { if (vendor._id != null && vendor._id.Equals(id)) { excluded = vendor; break; } else if (vendor.name != null && vendor.name.Equals(name)) { excluded = vendor; break; } } if (excluded != null) { vendors[CmpCampaignPopupQueue.CurrentCampaignToShow()].Remove(excluded); if (excluded._id != null && specFeatures[CmpCampaignPopupQueue.CurrentCampaignToShow()].ContainsKey(excluded._id)) { specFeatures[CmpCampaignPopupQueue.CurrentCampaignToShow()].Remove(excluded._id); } } foreach (var kv in categoryVendors[CmpCampaignPopupQueue.CurrentCampaignToShow()]) { foreach (var vendor in kv.Value) { if (id != null && vendor._id != null && vendor._id.Equals(id)) { excluded = vendor; break; } } kv.Value.Remove(excluded); } // foreach (var v in CmpLocalizationMapper.vendors) // if (v.vendorId.Equals(id)) // v.accepted = false; isAcceptedVendorsChanged = true; }
public static void AcceptVendor(CmpVendorModel model, bool consent = true) { var vend = new ConsentGdprSaveAndExitVariablesVendor(model.vendorId, model.iabId, model.vendorType, consent, false, model.name); if (vendors[CmpCampaignPopupQueue.CurrentCampaignToShow()] != null // && (vendors[CmpCampaignPopupQueue.CurrentCampaignToShow()].Count>0 && !vendors[CmpCampaignPopupQueue.CurrentCampaignToShow()].Exists(x => (vend._id != null && x._id.Equals(vend._id)) || x.name.Equals(vend.name))) { vendors[CmpCampaignPopupQueue.CurrentCampaignToShow()].Add(vend); } if (model.iabSpecialFeatures != null) { foreach (var specFeat in model.iabSpecialFeatures) { //List init if (!specFeatures[CmpCampaignPopupQueue.CurrentCampaignToShow()].ContainsKey(model.vendorId)) { specFeatures[CmpCampaignPopupQueue.CurrentCampaignToShow()][model.vendorId] = new List <ConsentGdprSaveAndExitVariablesSpecialFeature>(); } //Duplicate check if (!specFeatures[CmpCampaignPopupQueue.CurrentCampaignToShow()][model.vendorId].Exists(x => x._id.Equals(specFeat))) { int?iabId = null; foreach (var v in CmpLocalizationMapper.CurrentVendors) { if (v.vendorId.Equals(model.vendorId)) { // v.accepted = true; if (v.iabId.HasValue) { iabId = v.iabId.Value; } break; } } specFeatures[CmpCampaignPopupQueue.CurrentCampaignToShow()][model.vendorId].Add(new ConsentGdprSaveAndExitVariablesSpecialFeature(specFeat, iabId)); } } } isAcceptedVendorsChanged = true; }
public static void ExcludeCategory(string id, bool consented = false) { ConsentGdprSaveAndExitVariablesCategory excluded = null; foreach (var cat in categories[CmpCampaignPopupQueue.CurrentCampaignToShow()]) { if (cat._id.Equals(id)) { excluded = cat; } } if (excluded != null) { categories[CmpCampaignPopupQueue.CurrentCampaignToShow()].Remove(excluded); if (categoryVendors[CmpCampaignPopupQueue.CurrentCampaignToShow()].ContainsKey(excluded._id) && categoryVendors[CmpCampaignPopupQueue.CurrentCampaignToShow()][excluded._id] != null) { categoryVendors[CmpCampaignPopupQueue.CurrentCampaignToShow()].Remove(excluded._id); isAcceptedVendorsChanged = true; } } foreach (var category in CmpLocalizationMapper.CurrentCategories) { if (category._id.Equals(id)) { category.accepted = consented; if (categoryVendors[CmpCampaignPopupQueue.CurrentCampaignToShow()].ContainsKey(category._id) && categoryVendors[CmpCampaignPopupQueue.CurrentCampaignToShow()][category._id] != null) { categoryVendors[CmpCampaignPopupQueue.CurrentCampaignToShow()].Remove(category._id); isAcceptedVendorsChanged = true; } List <CmpCategoryConsentVendorModel> vendoritos = new List <CmpCategoryConsentVendorModel>(); vendoritos.AddRange(category.legIntVendors); vendoritos.AddRange(category.disclosureOnlyVendors); vendoritos.AddRange(category.requiringConsentVendors); ConsentGdprSaveAndExitVariablesVendor vendo = null; foreach (var vendorez in vendoritos) { if (vendors[CmpCampaignPopupQueue.CurrentCampaignToShow()].Exists(x => x._id != null && vendorez.vendorId != null && vendorez.vendorId.Equals(x._id))) { vendo = vendors[CmpCampaignPopupQueue.CurrentCampaignToShow()].Find(x => x._id != null && vendorez.vendorId != null && vendorez.vendorId.Equals(x._id)); } } if (vendo != null) { if (CmpLocalizationMapper.CurrentVendors != null) { foreach (var vendor in CmpLocalizationMapper.CurrentVendors) { if (vendor.vendorId != null && vendo._id != null && vendo._id.Equals(vendor.vendorId) || vendor.name.Equals(vendo.name)) { vendor.accepted = consented; } } } vendors[CmpCampaignPopupQueue.CurrentCampaignToShow()].Remove(vendo); isAcceptedVendorsChanged = true; } break; } } ConsentGdprSaveAndExitVariablesCategory excluded2 = null; foreach (var cat in previousSessionCategories[CmpCampaignPopupQueue.CurrentCampaignToShow()]) { if (cat._id.Equals(id)) { excluded2 = cat; } } if (excluded2 != null) { previousSessionCategories[CmpCampaignPopupQueue.CurrentCampaignToShow()].Remove(excluded2); } isAcceptedCategoriesChanged = true; }