public void Processor(Cart cart, Customer user, Address address, string shipMethod) { ISalesOrderDetail iSalesOrderDetail = new EFSalesOrderDetails(); ISalesOrderHeader iSalesOrderHeader = new EFSalesOrderHeader(); var salesOrderHeader=new SalesOrderHeader { ModifiedDate = DateTime.Now, rowguid = Guid.NewGuid(), CustomerID = user.CustomerID, RevisionNumber = 0, OrderDate = DateTime.Now, DueDate = DateTime.Now, ShipMethod = shipMethod, TotalDue = 0, SubTotal = cart.ComputeTotalValue(), ShipToAddressID = address.AddressID, BillToAddressID = address.AddressID }; iSalesOrderHeader.AddSalesOrderHeader(salesOrderHeader); foreach (var prod in cart.Lines) { iSalesOrderDetail.AddSalesOrderDetails(new SalesOrderDetail { UnitPrice = prod.Product.StandardCost, ModifiedDate = DateTime.Now, OrderQty = (short)prod.Quantity, ProductID = prod.Product.ProductID, UnitPriceDiscount = 0, rowguid = Guid.NewGuid(), SalesOrderDetailID = 0, SalesOrderID = salesOrderHeader.SalesOrderID }); } }
public void ProcessOrder(Cart cart, ShippingDetails shippingInfo) { MailToAddress = shippingInfo.Email; 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) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = emailSettings.FileLocation; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder() .AppendLine("Złozono nowe zamównie") .AppendLine("---") .AppendLine("Przedmioty:"); foreach (var line in cart.Lines) { var subtotal = line.Product.Price * line.Quantity; body.AppendFormat("{0} x {1} (suma: {2:c}", line.Quantity, line.Product.Name, subtotal); } body.AppendFormat("Price zamówienia: {0:c}", cart.ComputeTotalValue()) .AppendLine("---") .AppendLine("Wysyłka do:") .AppendLine(shippingInfo.Name) .AppendLine(shippingInfo.Line1) .AppendLine(shippingInfo.City) .AppendLine(shippingInfo.State ?? "") .AppendLine(shippingInfo.Country) .AppendLine(shippingInfo.Zip); MailMessage mailMessage = new MailMessage( emailSettings.MailFromAddress, //From shippingInfo.Email, //To "RAbot.pl Złozono nowe zamówienie!", //Subject body.ToString()); //Body if (emailSettings.WriteAsFile) { mailMessage.BodyEncoding = Encoding.UTF8; } smtpClient.Send(mailMessage); } }
public void Calculate_Cart_Total() { var p1 = new Product { ProductID = 1, Name = "P1", StandardCost = 100M }; var p2 = new Product { ProductID = 2, Name = "P2", StandardCost = 50M }; var target = new Cart(); target.AddItem(p1, 1); target.AddItem(p2, 1); target.AddItem(p1, 3); var result = target.ComputeTotalValue(); Assert.AreEqual(result, 450M); }
public void ProcessOrder(Cart cart, 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) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = emailSettings.FileLocation; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder() .AppendLine("A new order has been submitted") .AppendLine("---").AppendLine("Items:"); foreach (var line in cart.Lines) { var subtotal = line.Product.Price * line.Quantity; body.AppendFormat("{0} x {1} (subtotal: {2:c}", line.Quantity, line.Product.Name, subtotal); } body.AppendFormat("Total order value: {0:c}", cart.ComputeTotalValue()) .AppendLine("---") .AppendLine("Ship to:").AppendLine(shippingInfo.Name) .AppendLine(shippingInfo.Line1) .AppendLine(shippingInfo.Line2 ?? "") .AppendLine(shippingInfo.Line3 ?? "") .AppendLine(shippingInfo.City) .AppendLine(shippingInfo.State ?? "") .AppendLine(shippingInfo.Country) .AppendLine(shippingInfo.Zip) .AppendLine("---").AppendFormat("Gift wrap: {0}", shippingInfo.GiftWrap ? "Yes" : "No"); MailMessage mailMessage = new MailMessage( emailSettings.MailFromAddress, // From emailSettings.MailToAddress, // To "New order submitted!", // Subject body.ToString()); // Body if (emailSettings.WriteAsFile) { mailMessage.BodyEncoding = Encoding.ASCII; } smtpClient.Send(mailMessage); } }
public void Canlcalate_Cart_Total() { var p1 = new Product { ProductID = 1, Name = "p1", Price = 100M }; var p2 = new Product { ProductID = 2, Name = "p2", Price = 50M }; var target = new Cart(); target.AddItem(p1, 1); target.AddItem(p2, 1); target.AddItem(p1, 3); var result = target.ComputeTotalValue(); Assert.AreEqual(result, 450M); }
public void ProcessOrder(Cart cart, ShippingDetails shippingInfo) { using (var smtpClient = new SmtpClient()) { smtpClient.EnableSsl = emailSettings.UseSsl; smtpClient.Host = emailSettings.SeverName; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(emailSettings.Username, emailSettings.Password); var body = new StringBuilder().AppendLine("Новый заказ оформлен") .AppendLine("---") .AppendLine("Товары: "); foreach (var line in cart.Lines) { var subtotal = line.Product.Price*line.Quantity; body.AppendFormat("{0} x {1} (Общая стоимость: {2:c})", line.Quantity, line.Product.Name, subtotal ); } body.AppendFormat("Cумма: {0:c}", cart.ComputeTotalValue()) .AppendLine("--") .AppendLine("Ship to:") .AppendLine(shippingInfo.Name) .AppendLine(shippingInfo.Line1) .AppendLine(shippingInfo.City) .AppendLine(shippingInfo.Country) .AppendLine(shippingInfo.Zip) .AppendLine("--"); var mailMessage = new MailMessage ( emailSettings.MailFromAddress, emailSettings.MailToAddress, "Новый заказ оформлен", body.ToString() ); smtpClient.Send(mailMessage); } }