public ActionResult List()
        {
            var allStores = _storeService.GetAllStores();
            var model     = new AdCampaignListModel
            {
                GridPageSize = _adminAreaSettings.GridPageSize
            };

            model.ListAdType.Add(new SelectListItem {
                Text = "All", Value = ""
            });
            model.ListAdType.Add(new SelectListItem {
                Text = "Banner", Value = "Banner"
            });
            model.ListAdType.Add(new SelectListItem {
                Text = "Login", Value = "Login"
            });
            model.ListAdType.Add(new SelectListItem {
                Text = "Directory", Value = "Directory"
            });
            model.ListCreditType.Add(new SelectListItem {
                Text = "All", Value = ""
            });
            model.ListCreditType.Add(new SelectListItem {
                Text = "Impression", Value = "Impression"
            });
            model.ListCreditType.Add(new SelectListItem {
                Text = "Click", Value = "Click"
            });
            var traffic = _customerService.GetAvailableCredits(_workContext.CurrentCustomer.Id);

            model.AvailableClicks     = traffic.FirstOrDefault().AvailableClick;
            model.AvailableImpression = traffic.FirstOrDefault().AvailableImpression;
            return(View(model));
        }
        public ActionResult List(GridCommand command, AdCampaignListModel model)
        {
            var gridModel = new GridModel <AdCampaignModel>();

            int CustomerId = 0;

            if (!_workContext.CurrentCustomer.IsAdmin())
            {
                CustomerId = _workContext.CurrentCustomer.Id;
            }
            var adCampaigns = _adCampaignService.GetAdCampaigns(model.SearchCampaignName, model.SearchWebsiteUrl, model.CreditType, model.AdType, CustomerId, command.Page - 1, command.PageSize);

            gridModel.Data = adCampaigns.Select(x =>
            {
                var adCampaignModel             = x.ToModel();
                adCampaignModel.AvailableCredit = adCampaignModel.AssignedCredit - adCampaignModel.UsedCredit;
                adCampaignModel.Published       = adCampaignModel.Enabled;
                return(adCampaignModel);
            });

            gridModel.Total = adCampaigns.TotalCount;


            return(new JsonResult
            {
                Data = gridModel
            });
        }