// GET: Admin public ActionResult Index(PagerParameters pagerParameters, int? filterCurrencyId = null) { var campaigns = _campaignService.GetAllCampaigns(). Where(c => (null == filterCurrencyId) || (c.CurrencyRecord.Id == filterCurrencyId)); var yesterday = DateTime.UtcNow.AddDays(-1); var last24hoursOrders = _orderService.GetAllOrders().Where(o => o.IsActive && o.Created >= yesterday && o.OrderStatusRecord.Name != OrderStatus.Cancelled.ToString() && o.OrderStatusRecord.Name != OrderStatus.Unapproved.ToString()); var featuredCampaigns = new FeaturedCampaignViewModel[] { }; var total =_campaignService.GetAllCampaigns().Count(); var totalNotApproved = _campaignService.GetAllCampaigns().Where(c => c.IsApproved == false && c.Rejected == false).Count(); if (total > 0) { featuredCampaigns = campaigns .Select(c => new CampaignViewModel { Id = c.Id, Goal = c.ProductCountGoal, Sold = c.ProductCountSold, IsFeatured = c.IsFeatured, Title = c.Title, IsActive = c.IsActive, Alias = c.Alias, CreatedDate = c.StartDate.ToLocalTime(), IsApproved = c.IsApproved, Minimum = c.ProductMinimumGoal, Rejected = c.Rejected, Currency = c.CurrencyRecord, FilterCurrencyId = filterCurrencyId }) .Select(c => new FeaturedCampaignViewModel { Campaign = c, Last24HoursSold = last24hoursOrders .SelectMany(o => o.Products) .Where(p => p.CampaignProductRecord.CampaignRecord_Id == c.Id) .Sum(p => (int?)p.Count) ?? 0 }) .OrderBy(c => c.Campaign.Id) .ToArray(); campaigns.OrderByDescending(c => c.Id); } return View("Index", new AdminFeaturedCampaignsViewModel { Campaigns = featuredCampaigns,NotApprovedTotal= totalNotApproved, Currencies = _currencyRepository}); }
// GET: Admin public ActionResult Index2(PagerParameters pagerParameters, int?filterCurrencyId = null) { var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters); var skip = pager.Page > 0 ? (pager.Page - 1) * pager.PageSize : 0; var take = pager.PageSize == 0 ? int.MaxValue : pager.PageSize; var campaigns = _campaignService.GetAllCampaigns(). Where(c => (null == filterCurrencyId) || (c.CurrencyRecord.Id == filterCurrencyId)); var yesterday = DateTime.UtcNow.AddDays(-1); var last24hoursOrders = _orderService.GetAllOrders().Where(o => o.IsActive && o.Created >= yesterday && o.OrderStatusRecord.Name != OrderStatus.Cancelled.ToString() && o.OrderStatusRecord.Name != OrderStatus.Pending.ToString()); var featuredCampaigns = new FeaturedCampaignViewModel[] { }; var total = _campaignService.GetAllCampaigns().Count(); var totalNotApproved = _campaignService.GetAllCampaigns().Where(c => c.IsApproved == false && c.Rejected == false).Count(); if (total > 0) { featuredCampaigns = campaigns .Select(c => new CampaignViewModel { Id = c.Id, Goal = c.ProductCountGoal, Sold = c.ProductCountSold, IsFeatured = c.IsFeatured, Title = c.Title, IsActive = c.IsActive, Alias = c.Alias, CreatedDate = c.StartDate.ToLocalTime(), IsApproved = c.IsApproved, Minimum = c.ProductMinimumGoal, Rejected = c.Rejected, Currency = c.CurrencyRecord, FilterCurrencyId = filterCurrencyId, Seller = c.Seller //(c.TeeyootUserId.HasValue) ? _users.Get(c.TeeyootUserId.Value) : null }) .Select(c => new FeaturedCampaignViewModel { Campaign = c, Last24HoursSold = last24hoursOrders .SelectMany(o => o.Products) .Where(p => p.CampaignProductRecord.CampaignRecord_Id == c.Id) .Sum(p => (int?)p.Count) ?? 0 }) .OrderBy(c => c.Campaign.Id) .ToArray(); campaigns.OrderByDescending(c => c.Id); } //foreach (var campaign in campaigns) //{ // int soldCount = 0; // var xsoldCount = _orderService.GetAllOrders().Where(aa => aa.Campaign.Id == campaign.Id);//.Sum(aa => aa.TotalSold); // foreach (var xxx in xsoldCount) // { // if (xxx.OrderStatusRecord.Name == "Cancelled" || xxx.OrderStatusRecord.Name == "Pending" || xxx.OrderStatusRecord.Name == "Refunded") continue; // soldCount += xxx.TotalSold; // } // campaign.ProductCountSold = soldCount; //} return(View("Index", new AdminFeaturedCampaignsViewModel { Campaigns = featuredCampaigns, NotApprovedTotal = totalNotApproved, Currencies = _currencyRepository })); }