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();
 }