public async Task <ActionResult> EditOrder(OrderDetailSummaryViewModel model) { if (ModelState.IsValid) { string paymentStatus = Request.Form["paymentStatus"].ToString(); string paymentType = Request.Form["paymentType"].ToString(); string orderStatus = Request.Form["orderStatus"].ToString(); var order = _context.Orders.Single(o => o.OrderNumber == model.OrderNumber); //var id = TempData["OrderId"]; //var id = model.OrderId; order.PaymentTransaction.Amount = model.PaymentTransaction.Amount; order.PostedAmount = model.PaymentTransaction.Amount; order.PaymentTransaction.PaymentStatusId = _context.PaymentStatuses.Single(p => p.Description == paymentStatus).Id; //order.TrueProfit = model.TrueProfit - (model.Discount/2); //order.Commission = model.Commission - (model.Discount/2); order.Profit -= model.Discount - order.Discount; order.Total = order.Total + order.Discount - model.Discount; order.Discount = model.Discount; order.PaymentTransaction.PaymentTypeId = _context.PaymentTypes.Single(p => p.Description == paymentType).Id; order.OrderStatusId = _context.OrderStatuses.Single(s => s.Description == orderStatus).Id; order.Notes = model.OrderStatusNote; await _context.SaveChangesAsync(); return(RedirectToAction("ViewOrder", new { order.Id })); } return(View()); }
public ActionResult EditOrder(long number) { var ret = new OrderDetailSummaryViewModel(); var lineItems = new List <LineOrderDetail>(); //using (var context = new ShoppingCartContext()) //{ var order = _context.Orders.Single(o => o.OrderNumber == number); //ret.ActualSoldAmount = order.ActualSoldAmount; ret.Email = order.Email; ret.FullName = order.FullName; ret.OrderDate = order.OrderDate; ret.OrderDetails = _context.LineOrderDetails.Where(p => p.OrderId == order.Id).ToList(); ret.OrderStatusId = order.OrderStatusId; if (ret.OrderStatusId > 0) { ret.OrderStatus = _context.OrderStatuses.Single(s => s.Id == ret.OrderStatusId).Description; } else { ret.OrderStatus = "Unknown"; } ret.OrderStatusNote = order.Notes; ret.ShippingCost = order.ShippingCost; ret.PaymentTransaction = order.PaymentTransaction; ret.TotalProfit = order.Profit; ret.Commission = order.Commission; ret.TrueProfit = order.TrueProfit; ret.Discount = order.Discount; ret.Total = order.Total; ret.TotalBeforeDiscount = order.Total + order.Discount; if (order.FullName.Contains("Hiển Nguyễn") || order.FullName.Contains("Hien Nguyen") || order.FullName.Contains("Nguyen Hien") || order.FullName.Contains("Nguyễn Hiển")) { if (ret.Commission == 0) { ret.Commission = Math.Round((ret.TotalProfit / 2) / 1000, 0, MidpointRounding.AwayFromZero) * 1000; } if (ret.TrueProfit == 0) { ret.TrueProfit = ret.TotalProfit - ret.Commission; } } ret.OrderNumber = order.OrderNumber; ret.PaymentTransaction = order.PaymentTransaction; ret.ShippingAddress = _context.Addresses.Single(a => a.Id == order.ShippingAddressId); //} //TempData["OrderId"] = order.Id; return(View(ret)); }
public ActionResult ViewInvoice(long orderNumber) { var ret = new OrderDetailSummaryViewModel(); var lineItems = new List <LineOrderDetail>(); //using (var context = new ShoppingCartContext()) //{ var order = _context.Orders.Single(o => o.OrderNumber == orderNumber); //ret.ActualSoldAmount = order.ActualSoldAmount; ret.Email = order.Email; ret.FullName = order.FullName; ret.OrderDate = order.OrderDate; ret.OrderStatusId = order.OrderStatusId; ret.OrderDetails = _context.LineOrderDetails.Where(p => p.OrderId == order.Id).ToList(); ret.TotalProfit = order.Profit; ret.Commission = order.Commission; ret.TrueProfit = order.TrueProfit; ret.Discount = order.Discount; var shipment = _context.Shipments.SingleOrDefault(s => s.Id == order.ShipmentId); ret.ShipmentCode = string.Empty; if (shipment != null) { ret.ShipmentCode = shipment.Code; } if (order.FullName.Contains("Hiển Nguyễn") || order.FullName.Contains("Hien Nguyen") || order.FullName.Contains("Nguyen Hien") || order.FullName.Contains("Nguyễn Hiển")) { if (ret.Commission == 0) { ret.Commission = Math.Round((ret.TotalProfit / 2) / 1000, 0, MidpointRounding.AwayFromZero) * 1000; } if (ret.TrueProfit == 0) { ret.TrueProfit = ret.TotalProfit - ret.Commission; } } if (ret.OrderStatusId > 0) { ret.OrderStatus = _context.OrderStatuses.Single(s => s.Id == ret.OrderStatusId).Description; } else { ret.OrderStatus = "Unknown"; } ret.OrderStatusNote = order.Notes; //context.LineOrderDetails.Where(o => o.OrderId == id).ForEach(p => ret.OrderDetails.Add(new LineOrderDetail() //{ // Product = p.Product, // UnitPrice = p.UnitPrice, // Quantity = p.Quantity, // Total = p.Total //})); ret.Total = order.Total; ret.ShippingCost = order.ShippingCost; ret.PaymentTransaction = order.PaymentTransaction; ret.OrderNumber = order.OrderNumber; ret.PaymentTransaction = order.PaymentTransaction; ret.ShippingAddress = _context.Addresses.Single(a => a.Id == order.ShippingAddressId); //} return(View(ret)); }