public ActionResult Create(CreateBillViewModel model) { ViewBag.Parent = "Quản lý giao hàng"; ViewBag.Child = "Lập hóa đơn"; isAdminLogged(); var bill = new Bill(); bill.idDeliveryOrder = model.idDeliveryOrder; bill.idDistributor = model.idDistributor; bill.idStaff = model.idStaff; bill.purchase = model.purchase; bill.description = model.description; bill.createdDate = model.createdDate; var delivery = _dOrderService.SearchById(bill.idDeliveryOrder.Value); var order = _orderService.GetOrder(delivery.idOrder.Value); // TH thanh toán giao hàng // nếu hình thức thanh toán của đơn hàng là qua thẻ thì ko cần lập hóa đơn (paymenttype = true) if (order.PaymentType == true) { ViewBag.types = 1; ViewBag.msg = "Đã thanh toán qua thẻ, không cần lập hóa đơn thanh toán giao hàng"; } else { // TH thanh toán bằng tiền mặt var bills = delivery.Bills; // TH Đơn đã có hóa đơn rồi if (bills.FirstOrDefault() != null) { ViewBag.types = 1; ViewBag.msg = "Đơn hàng này đã lập hóa đơn thanh toán rồi, vui lòng thanh toán công nợ nếu có!"; } else { // TH đơn chưa có hóa đơn decimal tienthieu = delivery.totalPurchase.Value - bill.purchase.Value; if (tienthieu < 0) { ViewBag.types = 1; ViewBag.msg = "Lập thất bại, tiền đơn hàng chỉ có " + string.Format("{0:0,0}", delivery.totalPurchase.Value) + " VNĐ."; } else { // TH thu tiền ít hơn tổng tiền đơn hàng, thì tăng thêm công nợ if (tienthieu > 0) { var dis = order.Distributor; dis.debt += tienthieu; _distributoriervice.UpdateDebt(bill.idDistributor.Value, dis.debt.Value); } _billService.AddBill(bill); } } } ViewBag.types = 2; ViewBag.msg = "Lập hoá đơn thành công, bạn đã thanh toán " + string.Format("{0:0,0}", delivery.totalPurchase.Value) + " VNĐ."; return(View(model)); }
public ActionResult Search(DeliveryOrderViewModel model) { isAdminLogged(); ViewBag.Parent = "Quản lý giao hàng"; ViewBag.Child = "Tìm kiếm"; try { if (model.idDeliveryOrder > 0) { var t = _deliveryOrderService.SearchById(model.idDeliveryOrder); if (t != null) { IList <DeliveryOrder> temp = new List <DeliveryOrder>(); temp.Add(t); model.listDeliveryOrder = temp.ToList(); } return(View("List", model)); } else if (model.deliveryDate != null) { DateTime delivery_date = Convert.ToDateTime(model.deliveryDate); model.listDeliveryOrder = _deliveryOrderService.SearchByDeliveryDate(delivery_date); return(View("List", model)); } else if (model.status != 0) { //byte status = Convert.ToByte(dOrder.status); model.listDeliveryOrder = _deliveryOrderService.SearchByStatus(model.status); View("List", model); } else { model.listDeliveryOrder = _deliveryOrderService.GetAll(); return(View("List", model)); } } catch (FormatException e) { throw; } return(View("List")); }