public IActionResult Index(string returnUrl) { return(View(new CartIndexViewModel { Lines = _cartProvider.Lines.ToList(), ReturnUrl = returnUrl, TotalValue = _cartProvider.ComputeTotalValue() })); }
public IViewComponentResult Invoke() { var model = new CartSummaryViewModel { Lines = _cartProvider.Lines.ToList(), TotalValue = _cartProvider.ComputeTotalValue() }; return(View("Default", model)); }
public void ProcessOrder(ShippingDetails shippingInfo) { using (var smtpClient = new SmtpClient()) { smtpClient.EnableSsl = _emailSettings.UseSsl; smtpClient.Host = _emailSettings.ServerName; smtpClient.Port = _emailSettings.ServerPort; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(_emailSettings.Username, _emailSettings.Password); if (_emailSettings.WriteAsFile) { var fullPath = Path.Combine(_hostingEnvironment.WebRootPath, _emailSettings.FileLocation); if (!Directory.Exists(fullPath)) { Directory.CreateDirectory(fullPath); } smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = fullPath; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder() .AppendLine("Новый заказ обработан") .AppendLine("---") .AppendLine("Товары:"); foreach (var line in _cartProvider.Lines) { var subtotal = line.Game.Price * line.Quantity; body.AppendFormat("{0} x {1} (итого: {2:c}", line.Quantity, line.Game.Name, subtotal); } body.AppendFormat("Общая стоимость: {0:c}", _cartProvider.ComputeTotalValue()) .AppendLine("---") .AppendLine("Доставка:") .AppendLine(shippingInfo.Name) .AppendLine(shippingInfo.Line1) .AppendLine(shippingInfo.Line2 ?? "") .AppendLine(shippingInfo.Line3 ?? "") .AppendLine(shippingInfo.City) .AppendLine(shippingInfo.Country) .AppendLine("---") .AppendFormat("Подарочная упаковка: {0}", shippingInfo.GiftWrap ? "Да" : "Нет"); MailMessage mailMessage = new MailMessage( _emailSettings.MailFromAddress, // От кого _emailSettings.MailToAddress, // Кому "Новый заказ отправлен!", // Тема body.ToString()); // Тело письма if (_emailSettings.WriteAsFile) { mailMessage.BodyEncoding = Encoding.UTF8; } smtpClient.Send(mailMessage); } }