private void NewBill() { try { if (Orders.Count > 0 && OrderSummary.BillNo == 0) { MessageBoxResult result = System.Windows.MessageBox.Show("Are you sure you want to create New Bill?", "Warning Message", MessageBoxButton.YesNoCancel, MessageBoxImage.Question, MessageBoxResult.No); if (result == MessageBoxResult.No || result == MessageBoxResult.Cancel) { return; } } Orders.Clear(); SelectedPaymentMode = null; SelectedPaymentMode = new PaymentMode(); SelectedPaymentMode = PaymentModes.Where(x => x.PaymentModeId == 1).FirstOrDefault(); NotifyPropertyChanged("SelectedPaymentMode"); OrderSummary.Clear(); Customer.Clear(); Add(); } catch (Exception ex) { MessageBox.Show("Error Occured: " + ex.Message + " " + ex.Source + " " + ex.StackTrace); } }
public void Test_OrderService_Returns_The_Expected_Tax_Entries() { _order = CreateOrderObject(product_sku_1, product_sku_2); OrderSummary orderSummary = _orderService.PlaceOrder(_order); Assert.Equal(orderSummary.Taxes, _taxEntries); }
public ActionResult Finish(FormCollection form) { if (CartItems.Count <= 0) { return(RedirectToAction("Index", "Cart")); } var order = new OrderSummary(); var member = db.MemberShips.First(m => m.Email == User.Identity.Name); order.OrderDate = DateTime.Now; if (TryUpdateModel(order)) { order.OrderDetails = GetOrderDetails(member); order.TotalTax = CartItems.Sum(item => item.TaxPrice); order.Shipping = member.Role == Role.Premium ? 0 : CartItems.Max(item => item.Shipping); order.TotalPrice = Math.Round(CartItems.Sum(item => item.Price) + order.TotalTax + order.Shipping, 2); order.Member = member; order.OrderStatus = db.OrderStatuses.First(os => os.Id == 1); StockOut(order); db.Orders.Add(order); db.SaveChanges(); CartItems.Clear(); TempData["OrderId"] = order.Id; SendOrderMail(order); CheckAndUpgradeMember(order.Member); //Call Pay gateway return(RedirectToAction("InitiateCreditTransaction", new { transAmount = order.TotalPrice, orderId = order.Id })); } return(View("CheckOut")); }
//public void GetNextOrder() //{ // using (var cxt = DataStore.CreateDataStore()) // { // var result = ( // from t in cxt.Tick // join p in cxt.Pair on t.PairID equals p.PairID // where p.PairID == this.PairID // && (t.Bid >= this.TradingParameters.EntryLong || t.Bid <= this.TradingParameters.EntryShort) // && (t.TickTime >= CurrentTickMarker.TickTime) // select t // ).FirstOrDefault(); // if (result != null) // { // this.CurrentOrder = result; // this.OpenOrder(this.CurrentOrder); // } // } //} /// <summary> /// Opens an order based a tick value /// </summary> public void OpenOrder(Tick data) { OrderSummary order = null; // If the price is gte the entry long, do a "buy" order if (data.Bid >= this.TradingParameters.EntryLong) { order = new BuyOrderSummary(); order.TickID = data.TickID; order.Ask = data.Ask; order.Bid = data.Bid; order.PairID = data.PairID; order.TickDateTime = data.TickTime; } // If the price is lte the entry short, do a "short" order if (data.Bid <= this.TradingParameters.EntryShort) { order = new SellOrderSummary(); order.TickID = data.TickID; order.Ask = data.Ask; order.Bid = data.Bid; order.PairID = data.PairID; order.TickDateTime = data.TickTime; } if (order != null) { this.OrdersCreated.Add(order); } else { throw new UserException("The order is null"); } }
public OrderSummary PlaceOrder(Order order) { ValidateOrder(order); var orderConfirmation = _orderFulfillmentService.Fulfill(order); var customer = _customerRepository.Get(order.CustomerId.Value); var netTotal = CalculateNetTotal(order); var taxRate = _taxRateService.GetTaxEntries(customer.PostalCode, customer.Country) .FirstOrDefault(rate => rate.Description == "Default"); _emailService.SendOrderConfirmationEmail(orderConfirmation.CustomerId, orderConfirmation.OrderId); var orderSummary = new OrderSummary { OrderNumber = orderConfirmation.OrderNumber, OrderId = orderConfirmation.OrderId, CustomerId = orderConfirmation.CustomerId, Taxes = _taxRateService.GetTaxEntries(customer.PostalCode, customer.Country), NetTotal = netTotal, Total = netTotal * (1 + taxRate.Rate) }; return(orderSummary); }
/// <summary> /// Initializes a new instance of the MainViewModel class. /// </summary> public UpcomingJobsVm() { BtnSyncWithBackend = new RelayCommand(() => startSync()); MyClassInitialize(); OS = new OrderSummary(); UpcomingOrders = new ObservableCollection <OrderSummary>(OS.GetUpcomingOrderSummaries()); RaisePropertyChanged("UpcomingOrders"); //Countries = new ObservableCollection<country>(); //Dataprovider = new Dataprovider(); //startSync(); //SimpleDatabaseFunctions<service_provider> sp = new SimpleDatabaseFunctions<service_provider>(); //var tst = sp.QueryAll(); //SimpleDatabaseFunctions<country> cntry = new SimpleDatabaseFunctions<country>(); //foreach (var item in cntry.QueryAll()) //{ // Countries.Add(item); //} }
private void StockOut(OrderSummary order) { foreach (var od in order.OrderDetails) { od.Product.ProductCount -= od.Amount; } }
public OrderSummary PlaceOrder(Order order) { ValidateOrder(order); var confirmation = _orderFulfillmentService.Fulfill(order); var customer = _customerRepository.Get(confirmation.CustomerId); var taxes = _taxRateService.GetTaxEntries(customer.PostalCode, customer.Country); var netTotal = order.OrderItems.Sum(c => c.Quantity * c.Product.Price); var orderSummary = new OrderSummary { CustomerId = confirmation.CustomerId, OrderNumber = confirmation.OrderNumber, OrderId = confirmation.OrderId, NetTotal = netTotal, Taxes = taxes, }; _emailService.SendOrderConfirmationEmail(orderSummary.CustomerId, orderSummary.OrderId); return(orderSummary); }
public OrderSummary[] ReportByDateRange(DateTime startDate, DateTime endDate) { IQueryable <Order> query = context.Set <Order>(); if (startDate != null) { query = query.Where(p => ((p.OrderDate >= startDate))); } if (endDate != null) { query = query.Where(p => p.OrderDate <= endDate); } var ordersummaries = new List <OrderSummary>(); foreach (var order in query.ToList()) { var osum = new OrderSummary { Id = order.Id }; osum.LinesCount = order.OrderLines.Count(); osum.TotalPriceWithoutDiscount = order.OrderLines.Sum(p => p.TotalPriceWithoutDiscount); osum.TotalPrice = order.OrderLines.Sum(p => p.TotalPrice); ordersummaries.Add(osum); } return(ordersummaries.ToArray()); }
private bool SendOrderMail(OrderSummary order) { try { string mailBody = System.IO.File.ReadAllText(Server.MapPath("~/Content/emailtemplate.html")); mailBody = mailBody.Replace("{{OrderId}}", order.Id.ToString()); mailBody = mailBody.Replace("{{ContactName}}", order.ContactName); mailBody = mailBody.Replace("{{ContactAddress}}", order.Zipcode + order.City + order.State + order.ContactAddress); mailBody = mailBody.Replace("{{ContactPhone}}", order.ContactPhone); mailBody = mailBody.Replace("{{OrderDate}}", order.OrderDate.ToShortDateString()); mailBody = mailBody.Replace("{{Name}}", db.MemberShips.First(m => m.Email == User.Identity.Name).Name); var smtpSever = new SmtpClient("smtp.gmail.com"); smtpSever.Port = 587; smtpSever.Credentials = new System.Net.NetworkCredential("*****@*****.**", "123abcabc"); smtpSever.EnableSsl = true; var mailMsg = new MailMessage { From = new MailAddress("*****@*****.**"), Subject = "(FreeEshop)Thanks for order our product.", Body = mailBody, IsBodyHtml = true }; mailMsg.To.Add(new MailAddress(User.Identity.Name)); smtpSever.Send(mailMsg); return(true); } catch (Exception ex) { return(false); } }
public void Test_TaxRateService_Returns_The_Expected_TaxRate() { _order = CreateOrderObject(product_sku_1, product_sku_2); OrderSummary orderSummary = _orderService.PlaceOrder(_order); Assert.AreEqual(orderSummary.OrderTotal, 83); }
private void buttonPlaceOrder_Click(object sender, EventArgs e) { // Get data from UI and calculations orderBLL.productID = 1; orderBLL.totalPrice = total; orderBLL.quantity = totalQuantity; // Insert data into database bool success = orderDAL.Insert(orderBLL); // If successful then value is true, else false if (success == true) { // Data successfully inserted MessageBox.Show("Order Placed successfully"); } else { // Data failed to be inserted MessageBox.Show("Order Failed"); } OrderSummary orderSummary = new OrderSummary(); orderSummary.Show(); this.Hide(); }
public OrderController(WildeRoverMgmtAppContext context, UserManager <User> userManager) { _userManager = userManager; _context = context; //Get latest OrderSummary (TODO: change to also query for user as well) var current = (from o in _context.OrderLog.Include("OrderList.Item") orderby o.Date descending select o).FirstOrDefault(); //If there is no uncompleted order if (current == null || current.Completed) { //Create new OrderSummary current = new OrderSummary(); current.Completed = false; current.Date = DateTime.Now; _context.OrderLog.Add(current); _context.SaveChanges(); current = (from o in _context.OrderLog.Include("OrderList.Item") orderby o.Date descending select o).FirstOrDefault(); } _order = current; }
public void Test_OrderService_Returns_The_Expected_NetTotal() { _order = CreateOrderObject(product_sku_1, product_sku_2); OrderSummary orderSummary = _orderService.PlaceOrder(_order); Assert.Equal(50, orderSummary.NetTotal); }
public static void SendMail(OrderSummary orderSummary) { string subject = "Hi"; string body = "Thanks for shopping with us for bill amount: " + orderSummary.BillAmount.ToString(); ActionMail(subject, body); }
private void Delete() { if (Orders.Count == 1) { Reset(); } if (Orders == null || Orders.Count == 0 || Order.OrderDetailId == -1) { System.Windows.MessageBox.Show("No record selected!"); } else { MessageBoxResult result = System.Windows.MessageBox.Show("Would you like to delete selected record ?", "Warning Message", MessageBoxButton.YesNoCancel); if (result == MessageBoxResult.Yes) { Product = null; Orders.Remove(Order); Reset(); if (Orders.Count == 0) { Add(); } OrderSummary.RefreshBillTotals(); } } }
/// <summary> /// Initializes a new instance of the MainViewModel class. /// </summary> public DetailVm() { CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("de-DE"); CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("de-DE"); msg.Register <GenericMessage <OrderSummary> >(this, ChangeSelected); AllStatuses = new string[] { "Abgeschlossen", "Angenommen", "Nicht bestätigt", "Auftrag ablehnen" }; SelectedJob = new OrderSummary(); OS = new DetailedClass(); Dp = new Dataprovider(); BtnSyncWithBackend = new RelayCommand(() => StartSync()); MyClassInitialize(); BtnApplyChanges = new RelayCommand(() => ApplyChanges()); BtnCreateReport = new RelayCommand(() => CreateReport()); BtnAppendDocuments = new RelayCommand(() => AppendDocuments()); //CreateDemoData(); }
public ActionResult CalCulateOrderAmount(List <UnitPrice> unitPrices) { int output = 0; foreach (var unit in unitPrices) { if (unit.Value == null) { unit.Value = 0; } if (unit.Value > 0) { var activePromotion = this.repository.GetActivePromotion(); var findpromotion = activePromotion.Where(x => x.PromotionCode.Contains(unit.STUId)).FirstOrDefault(); if (findpromotion != null && unit.UnitQty > 0) { if (findpromotion.PromoQuantity < unit.UnitQty) { int x = Convert.ToInt32(unit.UnitQty) % findpromotion.PromoQuantity; int y = Convert.ToInt32(unit.UnitQty / findpromotion.PromoQuantity); int unitQ = unit.UnitQty - findpromotion.PromoQuantity; output += ((y * findpromotion.Amount) + Convert.ToInt32(x * unit.Value)); } else { if (findpromotion.PromoQuantity == unit.UnitQty) { if (unit.Value.HasValue) { output += Convert.ToInt32(unit.UnitQty * unit.Value); } else { output += findpromotion.Amount; } } else { output += Convert.ToInt32(unit.UnitQty * unit.Value); } } } else { output += Convert.ToInt32(unit.UnitQty * unit.Value); } } } var model = new OrderSummary(); model.Total = output; return(this.View(model)); }
public OrderSummary PlaceOrder(Order order) { ValidateOrder(order); var fulfillment = _orderFulfillmentService.Fulfill(order); var customer = _customerRepository.Get(order.CustomerId); var netTotal = CalculateNetTotal(order); var listOfTaxEntries = CreateListOfTaxEntries(customer); var orderTotal = CalculateOrderTotal(listOfTaxEntries, netTotal); var orderSummary = new OrderSummary() { OrderNumber = fulfillment.OrderNumber, OrderId = fulfillment.OrderId, Taxes = listOfTaxEntries, NetTotal = netTotal, Total = orderTotal }; SendConfirmationEmail(order, orderSummary); return(orderSummary); }
public List<> getOrders(string email) { DAL dal = new DAL(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "GetOrders"; cmd.Parameters.AddWithValue("@email", email); DataTable dt = db.Execute(cmd); List<OrderSummary> orders = new List<OrderSummary>(); foreach (DataRow dr in dt.Rows) { OrderSummary ordersummary = new OrderSummary { OrderID = Int32.Parse(dr["OrderNo"].ToString()), OrderDate = DateTime.Parse(dr["OrderDate"].ToString()), ShipDate = DateTime.Parse(dr["ShipDate"].ToString()).Date, OrderStatus = dr["OrderStatus"].ToString(), BillingStatus = dr["BillingStatus"].ToString(), OrderType = dr["OrderType"].ToString(), OrderAmount = double.Parse(dr["OrderAmount"].ToString()) }; orders.Add(ordersummary); } return orders; }
public OrderSummary PlaceOrder(Order order) { if (order.OrderItemsAreUnique() == false) { throw new OrderItemsAreNotUniqueException(); } if (ProductsAreInStock(order, _productRepository) == false) { throw new OrderItemsAreNotInStockException(); } OrderConfirmation orderConfirmation = _orderFulfillmentService.Fulfill(order); IEnumerable <TaxEntry> taxEntries = _taxRateService.GetTaxEntries(_postalCode, _country); decimal netTotal = order.GetOrderTotal(); decimal orderTotal = netTotal + GetTotalTax(taxEntries); OrderSummary orderSummary = new OrderSummary { OrderId = orderConfirmation.OrderId, OrderNumber = orderConfirmation.OrderNumber, CustomerId = orderConfirmation.CustomerId, OrderItems = order.OrderItems, NetTotal = netTotal, Taxes = taxEntries, Total = orderTotal }; _emailService.SendOrderConfirmationEmail(orderConfirmation.CustomerId, orderConfirmation.OrderId); return(orderSummary); }
//public ActionResult BackToBrowse() //{ // return RedirectToAction("Events/Index"); //} /* * public ActionResult OrderReview() * { * OrderSummary thesummary = new OrderSummary(); * thesummary = OrderSummary.GetOrder(this.HttpContext); * * OrderSummaryViewModel vm = new OrderSummaryViewModel() * { * OrderItems = singleOrder.GetSingleOrder() * }; * * return View(vm); * } */ //Register was moved back to home again /* * public ActionResult Register (int id) * { * OrderSummary order = OrderSummary.GetOrder(this.HttpContext); * order.AddOrder(id); * * * OrderSummary thesummary = new OrderSummary(); * thesummary = OrderSummary.GetOrder(this.HttpContext); * OrderSummaryViewModel vm = new OrderSummaryViewModel() * { * OrderItems = thesummary.GetOrderItems() * }; * * return View(); * } */ // GET: Order/AddOrder ---ORIGINAL--Will need one that take in int for Count, too public ActionResult AddOrder(int id) { OrderSummary order = OrderSummary.GetOrder(this.HttpContext); order.AddOrder(id); //return RedirectToAction("OrderSummary"); return(RedirectToAction("Index")); }
public OrderSummary GetOrderSummary(Order order) { OrderSummary orderSummary = new OrderSummary(); orderSummary.OrderId = order.Id; orderSummary.TotalAmount = order.TotalPrice; orderSummary.DeliveryAmount = order.DeliveryCost; return(orderSummary); }
public OrderSummary PlaceOrder(Order order) { // Check duplicate SKU if (order.HasNoDuplicateSku() == false) { throw new ArgumentException(DuplicateSkuError); } // Get customer information int customerId = order.CustomerId ?? -1; if (customerId == -1) { throw new ArgumentException(NoCustomerIdError); } Customer customer = _customerService.Get(customerId); // Get tax rate IEnumerable <TaxEntry> tax = _taxService.GetTaxEntries(customer.PostalCode, customer.Country); decimal totalTax = 0; foreach (TaxEntry entry in tax) { totalTax += entry.Rate; } // Check product stock and calculate totals decimal netTotal = 0; decimal total = 0; foreach (OrderItem items in order.OrderItems) { if (_productRepo.IsInStock(items.Product.Sku) == false) { throw new ArgumentException(NoStockError); } netTotal += items.Product.Price * items.Quantity; } total = totalTax / 100 * netTotal; // All checks pass, get confirmation properties OrderConfirmation confirmation = _fulfillmentService.Fulfill(order); // Create new summary with required information filled in OrderSummary summary = new OrderSummary { OrderId = confirmation.OrderId, OrderNumber = confirmation.OrderNumber, NetTotal = netTotal, Total = total }; _emailService.SendOrderConfirmationEmail(customerId, summary.OrderId); return(summary); }
public DetailVm() { CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("de-DE"); CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("de-DE"); msg.Register<GenericMessage<OrderSummary>>(this, ChangeSelected); AllStatuses = new string[] { "Abgeschlossen", "Angenommen", "Nicht bestätigt", "Auftrag ablehnen" }; SelectedJob = new OrderSummary(); OS = new DetailedClass(); Dp = new Dataprovider(); BtnApplyChanges = new RelayCommand(() => ApplyChanges()); BtnCreateReport = new RelayCommand(() => CreateReport()); BtnAppendDocuments = new RelayCommand(() => AppendDocuments()); BtnAddPicture = new RelayCommand<OrderItemReport_>( (p) => { OpenFileDialog openFileDialog = new OpenFileDialog { Title = "Select a picture", Filter = "Image files (*.jpg, *.jpeg, *.jpe, *.jfif, *.png) | *.jpg; *.jpeg; *.jpe; *.jfif; *.png" }; if ((bool)openFileDialog.ShowDialog()) { int i = 0; foreach (var item in SelectedDetailed.OrderItemReports) { item.Visibility = "Collapsed"; if (p == item) { SelectedDetailed.OrderItemReports[i].Appendix.Add(new OrderItemReportAppendix() { OrderItemReportId = item.Id , Picture = ImageConverter.ImageToByteArray(new BitmapImage(new Uri(openFileDialog.FileName, UriKind.Absolute))) }); item.Visibility = "Visible"; //TODO: Does it work? RaisePropertyChanged(nameof(SelectedDetailed)); } RaisePropertyChanged(nameof(item.Visibility)); i++; } } }); CreateDateTime("4:45"); //CreateDemoData(); }
public void Test_All_Products_Are_In_Stock_Returns_Correct_OrderSummary() { _order = CreateOrderObject(product_sku_1, product_sku_2, customer_id_2); OrderSummary orderSummary = _orderService.PlaceOrder(_order); Assert.Equal(orderSummary.CustomerId, customer_id_2); Assert.Equal(orderSummary.OrderId, order_id_1); Assert.Equal(orderSummary.OrderNumber, order_no_1); }
public OrderSummary PlaceOrder(IEnumerable <LineItem> items) { OrderSummary summary = CalulateOrderSummary(items); // // save order // return(summary); }
public Task <string> DownLoadInvoiceByUserInvoiceId(string invoiceId, string userId, string userTableName) { OrderSummary orderSummary = _context.OrderSummaries.FromSqlRaw($"select '' as statusname,* from UserOrders.User{userTableName}Orders where id='{invoiceId}' and userId='{userId}'").FirstOrDefault(); if (orderSummary.OrderStatusId != (int)EnumOrderStatus.Delivered) { return(Task.FromResult("Requested order not found.")); } return(Task.FromResult(TemplateGeneratorForInvoice.GetHTMLStringForInvoice(invoiceId, orderSummary))); }
private async Task <IActionResult> SendOrderUpdate(string eventName, OrderSummary orderSummary) { // TODO: Challenge 6 - Send event to SignalR output binding // References: // https://github.com/dapr/docs/tree/master/howto/send-events-with-output-bindings // https://github.com/dapr/docs/blob/master/reference/specs/bindings/signalr.md // Option: use the OrderSummaryUpdateData object return(new OkResult()); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); OrderSummary summary = new OrderSummary(MyPage.MTApp.CurrentStore.Id); this.litNewCount.Text = summary.NewOrderCount.ToString(); this.litHoldCount.Text = summary.OnHoldOrderCount.ToString(); this.litPaymentCount.Text = summary.ReadyForPaymentOrderCount.ToString(); this.litShippingCount.Text = summary.ReadyForShippingOrderCount.ToString(); }
private static OrderSummary CreateOrderSummary(Customer customer, IEnumerable <Order> orders) { var orderSummary = new OrderSummary(customerId: customer.Id); foreach (Order order in orders) { orderSummary.AddSummaryItem(new OrderSummaryItem(order)); } return(orderSummary); }
private void simpleButton1_Click(object sender, EventArgs e) { var receipt = new BLL.Receipt(); receipt.LoadByPrimaryKey(ReceiptID); var data = BLL.PO.GetOrderSummary(receipt.ReceiptInvoiceID); var orderSummary = new OrderSummary {DataSource = data}; orderSummary.ShowPreview(); }
public ModifyOrderResponse(OrderSummary summary) { this.Order = summary; }
public PlaceOrderResponse(OrderSummary summary) { this.Order = summary; }
public List<OrderSummary> GetUserOrders(string memberCardNo) { List<OrderSummary> list = new List<OrderSummary>(); using (var SqlConn = ConnectionProvider.GetConnection()) { var SqlCmd = new SqlCommand(); SqlCmd.Connection = SqlConn; SqlCmd.CommandText = @" select o.Id AS OrderId,o.ContactName,o.ContactPhone,o.DiningDate,o.DiningDate,o.CreateDate, o.Status,o.RstId AS RestaurantId,o.PersonCount, os.OrderStatus, os.LastUpdateTime, -- Caculates order total price case when pr.PrepayMoney is NULL then (select SUM(od.ProductCount * od.UnitPrice) from OrderDetails od where od.OrderId=o.Id) else pr.PrepayMoney end as TotalMoney from orders o left join OrderStatus os on os.OrderId = o.Id left join PrepayRecord pr on pr.SId = convert(nvarchar(50), o.Id) where ((pr.AddMoney = pr.PrepayMoney and pr.AddMoney <= 0) or (pr.AddMoney is null and pr.PrepayMoney is null)) and o.MemberCardNo=@MemberCardNo order by o.CreateDate desc; "; SqlCmd.Parameters.AddWithValue(@"MemberCardNo", memberCardNo); var reader = SqlCmd.ExecuteReader(); while (reader.Read()) { if (reader["TotalMoney"] == DBNull.Value) { continue; } var summary = new OrderSummary(); summary.OrderId = Guid.Parse(reader["OrderId"].ToString()); summary.ContactName = reader["ContactName"].ToString(); if (reader["ContactPhone"] != DBNull.Value) { summary.ContactPhone = reader["ContactPhone"].ToString(); } if (reader["PersonCount"] != DBNull.Value) { summary.PersonCount = Convert.ToInt32(reader["PersonCount"]); } if (reader["OrderStatus"] != DBNull.Value) { summary.Status = Convert.ToString(reader["OrderStatus"]); } if (reader["DiningDate"] != DBNull.Value) { summary.DiningDate = Convert.ToDateTime(reader["DiningDate"]); } if (reader["TotalMoney"] != DBNull.Value) { summary.TotalMoney = Math.Abs(Convert.ToDecimal(reader["TotalMoney"])); } summary.RestaurantId = Guid.Parse(reader["RestaurantId"].ToString()); summary.CreateTime = Convert.ToDateTime(reader["CreateDate"]); summary.Backlog = "无"; list.Add(summary); } } if (list != null && list.Count > 0) { RestaurantDal restaurantDal = new RestaurantDal(); foreach (var item in list) { item.RestaurantName = restaurantDal.GetRestaurantName(item.RestaurantId); } } return list; }
public OrderSummary GetOrderSummary(Guid orderId) { OrderSummary summary = null; using (var SqlConn = ConnectionProvider.GetConnection()) { var SqlCmd = new SqlCommand(); SqlCmd.Connection = SqlConn; SqlCmd.CommandText = @" select o.Id AS OrderId,o.ContactName,o.ContactPhone,o.DiningDate,o.DiningDate,o.CreateDate, o.Status,o.RstId AS RestaurantId,o.PersonCount, os.OrderStatus, os.LastUpdateTime, o.Sex, -- Caculates order total price case when pr.AddMoney is NULL then (select SUM(od.ProductCount * od.UnitPrice) from OrderDetails od where od.OrderId=o.Id) else pr.AddMoney end as TotalMoney from orders o left join OrderStatus os on os.OrderId = o.Id left join PrepayRecord pr on pr.SId = convert(nvarchar(50), o.Id) where ((pr.AddMoney <= 0) or (pr.AddMoney is null and pr.PrepayMoney is null)) and o.Id=@OrderId"; SqlCmd.Parameters.AddWithValue(@"OrderId", orderId); using (var reader = SqlCmd.ExecuteReader()) { if (reader.Read()) { summary = new OrderSummary(); summary.OrderId = Guid.Parse(reader["OrderId"].ToString()); summary.ContactName = reader["ContactName"].ToString(); if (reader["sex"] != DBNull.Value) { int sexValue = Convert.ToInt32(reader["sex"]); if (sexValue == 0) { summary.ContactName += "先生"; } else { summary.ContactName += "女士"; } } if (reader["PersonCount"] != DBNull.Value) { summary.PersonCount = Convert.ToInt32(reader["PersonCount"]); } if (reader["ContactPhone"] != DBNull.Value) { summary.ContactPhone = reader["ContactPhone"].ToString(); } if (reader["OrderStatus"] != DBNull.Value) { summary.Status = Convert.ToString(reader["OrderStatus"]); } if (reader["DiningDate"] != DBNull.Value) { summary.DiningDate = Convert.ToDateTime(reader["DiningDate"]); } if (reader["TotalMoney"] != DBNull.Value) { summary.TotalMoney = Math.Abs(Convert.ToDecimal(reader["TotalMoney"])); } else { summary.TotalMoney = GetOrderDetails(summary.OrderId).First().TotalPrice; } summary.CreateTime = Convert.ToDateTime(reader["CreateDate"]); summary.Backlog = "无"; } } } return summary; }
public TimeShiftOrderResponse(OrderSummary order) { Order = order; }