public static void AcceptCategory(CmpCategoryModel model, bool consent = true) { var cat = new ConsentGdprSaveAndExitVariablesCategory(model._id, model.iabId, model.type, consent, false); if (!categories[CmpCampaignPopupQueue.CurrentCampaignToShow()].Exists(x => (x._id != null && cat._id != null && cat._id.Equals(x._id)))) { categories[CmpCampaignPopupQueue.CurrentCampaignToShow()].Add(cat); } List <CmpCategoryConsentVendorModel> vendors = new List <CmpCategoryConsentVendorModel>(); foreach (var vendor in model.requiringConsentVendors) { vendors.Add(vendor); } vendors.AddRange(model.legIntVendors); foreach (var vendor in vendors) { int?iabId = null; foreach (var v in CmpLocalizationMapper.CurrentVendors) { if (v.vendorId != null && v.vendorId.Equals(vendor.vendorId)) { if (v.iabId.HasValue) { iabId = v.iabId.Value; } v.accepted = consent; } //List init if (!categoryVendors[CmpCampaignPopupQueue.CurrentCampaignToShow()].ContainsKey(model._id)) { categoryVendors[CmpCampaignPopupQueue.CurrentCampaignToShow()][model._id] = new List <ConsentGdprSaveAndExitVariablesVendor>(); } //Duplicate check if (!categoryVendors[CmpCampaignPopupQueue.CurrentCampaignToShow()][model._id].Exists(x => (x._id != null && vendor.vendorId != null && x._id.Equals(vendor.vendorId)) || (x.name != null && vendor.name != null && vendor.name.Equals(x.name)))) { categoryVendors[CmpCampaignPopupQueue.CurrentCampaignToShow()][model._id].Add(new ConsentGdprSaveAndExitVariablesVendor(vendor.vendorId, iabId, vendor.vendorType, true, false, vendor.name)); isAcceptedVendorsChanged = true; } } } foreach (var category in CmpLocalizationMapper.CurrentCategories) { if (category._id.Equals(model._id)) { category.accepted = consent; } } isAcceptedCategoriesChanged = true; }
public override void FillView() { ClearScrollContent(); if (this.model is CmpCategoryModel) { CmpCategoryModel mod = model as CmpCategoryModel; foreach (CmpCategoryConsentVendorModel categoryConsentVendor in mod.requiringConsentVendors) { AddCell(categoryConsentVendor.name); } foreach (CmpCategoryConsentVendorModel vendor in mod.legIntVendors) { AddCell(vendor.name); } } ScrollAppear(); }