public void CreateImagesForOtherColor(int campaignId, string prodIdAndColor, CampaignProductRecord p, DesignInfo data, string frontPath, string backPath, string color) { var destForder = Path.Combine(Server.MapPath("/Media/campaigns/"), campaignId.ToString(), prodIdAndColor); if (!Directory.Exists(destForder)) { Directory.CreateDirectory(destForder); } if (!Directory.Exists(destForder + "/normal")) { Directory.CreateDirectory(destForder + "/normal"); } if (!Directory.Exists(destForder + "/big")) { Directory.CreateDirectory(destForder + "/big"); } var frontTemplate = new Bitmap(frontPath); var backTemplate = new Bitmap(backPath); var rgba = ColorTranslator.FromHtml(color); var front = BuildProductImage(frontTemplate, _imageHelper.Base64ToBitmap(data.Front), rgba, p.ProductRecord.ProductImageRecord.Width, p.ProductRecord.ProductImageRecord.Height, p.ProductRecord.ProductImageRecord.PrintableFrontTop, p.ProductRecord.ProductImageRecord.PrintableFrontLeft, p.ProductRecord.ProductImageRecord.PrintableFrontWidth, p.ProductRecord.ProductImageRecord.PrintableFrontHeight); front.Save(Path.Combine(destForder, "normal", "front.png")); var back = BuildProductImage(backTemplate, _imageHelper.Base64ToBitmap(data.Back), rgba, p.ProductRecord.ProductImageRecord.Width, p.ProductRecord.ProductImageRecord.Height, p.ProductRecord.ProductImageRecord.PrintableBackTop, p.ProductRecord.ProductImageRecord.PrintableBackLeft, p.ProductRecord.ProductImageRecord.PrintableBackWidth, p.ProductRecord.ProductImageRecord.PrintableBackHeight); back.Save(Path.Combine(destForder, "normal", "back.png")); _imageHelper.ResizeImage(front, p.ProductRecord.ProductImageRecord.Width * 2, p.ProductRecord.ProductImageRecord.Height * 2).Save(Path.Combine(destForder, "big", "front.png")); _imageHelper.ResizeImage(back, p.ProductRecord.ProductImageRecord.Width * 2, p.ProductRecord.ProductImageRecord.Height * 2).Save(Path.Combine(destForder, "big", "back.png")); frontTemplate.Dispose(); backTemplate.Dispose(); front.Dispose(); back.Dispose(); }
public ActionResult Index2(int?page_id, int?page_size, int?filterCurrencyId, int?status, int?paymentStatus, PagerParameters pagerParameters) { var orders = _orderService.GetAllOrders() .Where(item => item.IsActive && item.Email != null && item.Products.Count > 0); if (status.HasValue) { orders = orders.Where(aa => aa.OrderStatusRecord.Id == status.Value); } if (filterCurrencyId.HasValue) { var filterCurrency = _currencyRepository.Get(filterCurrencyId.Value); orders = orders.Where(o => o.CurrencyRecord == filterCurrency); } if (paymentStatus.HasValue) { if (paymentStatus.Value != -1) { orders = orders.Where(aa => ((paymentStatus.Value == 0) ? aa.ProfitPaid : !aa.ProfitPaid)); } } var orderEntities = new AdminOrderViewModel(); foreach (var item in orders) { CampaignProductRecord campRec = null; campRec = item.Products.First().CampaignProductRecord; //if (item.Products == null || item.Products.Count() == 0 || ()== null) continue; var campaignId = campRec.CampaignRecord_Id; if (campaignId == null) { continue; } var campaign = _campaignService.GetCampaignById(campaignId); try { var seller = _contentManager.Query <UserPart, UserPartRecord>() .Where(user => user.Id == campaign.TeeyootUserId) .List() .First(); double orderProfit = 0; foreach (var product in item.Products) { var prof = product.CampaignProductRecord.Price - product.CampaignProductRecord.BaseCost; foreach (var size in product.CampaignProductRecord.ProductRecord.SizesAvailable) { if (size.Id == product.ProductSizeRecord.Id) { prof = prof - size.SizeCost; } } orderProfit = orderProfit + (prof * product.Count); orderProfit = Math.Round(orderProfit, 2); } //if (string.IsNullOrWhiteSpace(searchString) || campaign.Title.ToLower().Contains(searchString.ToLower())) //{ orderEntities.Orders.Add(new AdminOrder { PublicId = item.OrderPublicId, Products = item.Products, Status = item.OrderStatusRecord.Name, EmailBuyer = item.Email, CampaignId = campaign.Id, CampaignName = campaign.Title, CampaignAlias = campaign.Alias, Id = item.Id, Profit = orderProfit, SellerId = seller != null ? seller.Id : 0, Payout = item.ProfitPaid, CreateDate = item.Created, UserNameSeller = seller != null ? seller.UserName : "", Currency = item.CurrencyRecord.ShortName }); //} } catch (Exception ex) { Logger.Error(ex, campaign.TeeyootUserId + " ERROOORRRRRRRRRRRR "); throw; } } //var qwe = new List<SelectListItem>(); //var entriesProjection = orderEntities.Orders.Select(e => //{ // return Shape.FaqEntry( // PublicId: e.PublicId, // Products: e.Products, // Status: e.Status, // EmailBuyer: e.EmailBuyer, // Id: e.Id, // Profit: e.Profit, // UserNameSeller: e.UserNameSeller, // Payout: e.Payout, // CampaignId: e.CampaignId, // CampaignName: e.CampaignName, // CampaignAlias: e.CampaignAlias, // SellerId: e.SellerId, // CreateDate: e.CreateDate.ToString("dd/MM/yyyy") // ); //}); //var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters.Page, pagerParameters.PageSize); //var pagerShape = Shape.Pager(pager).TotalItemCount(entriesProjection.Count()); var orderStatuses = _orderStatusRepository.Table .Select(s => new OrderStatusItemViewModel { Id = s.Id, Name = s.Name }) .ToList(); var currencies = _currencyRepository.Table .Select(c => new CurrencyItemViewModel { Id = c.Id, Name = c.ShortName }); return(View("Index2", new AdminOrderViewModel { DynamicOrders = orderEntities.Orders.ToArray(), OrderStatuses = orderStatuses, SelectedCurrencyFilterId = filterCurrencyId, Currencies = currencies })); }