public ActionResult SubmitOrder(long orderId) { Order order = new Order(); try { order = _orderRepository.GetOrderByOrderId(orderId); _orderRepository.UpdateOrder(order); //Generate delivery order string beginSerialNumber = "CK-" + DateTime.Now.ToString("yyyyMMdd"); string maxDeliveryNumberStr = _deliveryOrderRepository.GetMaxDeliveryOrderNumber(beginSerialNumber); DeliveryOrder deliveryOrder = new DeliveryOrder(); deliveryOrder.DeliveryOrderNumber = beginSerialNumber + "-" + maxDeliveryNumberStr; deliveryOrder.DeliveryDate = DateTime.Now; deliveryOrder.TotalRMBInChinese = MathHelper.ConvertToChinese((Double)order.TotalAmount); deliveryOrder.TotalRMBInNumberic = order.TotalAmount.ToString(); deliveryOrder.OrderId = order.Id; long currentDeliveryOrderId = _deliveryOrderRepository.AddDeliveryOrder(deliveryOrder); List <OrderItem> orderItems = order.OrderItems.ToList(); foreach (var item in orderItems) { DeliveryOrderItem deliveryOrderItem = new DeliveryOrderItem(); deliveryOrderItem.ProductName = item.Product.ProductName; deliveryOrderItem.Unit = "件"; deliveryOrderItem.OutNumber = item.Quantity; deliveryOrderItem.PricePerProduct = item.UnitPrice; deliveryOrderItem.TotalPrice = item.Quantity * item.UnitPrice; deliveryOrderItem.DeliveryOrderId = currentDeliveryOrderId; _deliveryOrderItemRepository.AddDeliveryOrderItem(deliveryOrderItem); } //Generate delivery note DeliveryNote deliveryNote = new DeliveryNote(); deliveryNote.DeliveryNoteNumber = "PS-" + DateTime.Now.ToString("yyyyMMdd") + "-" + maxDeliveryNumberStr; //Generate QR Code deliveryNote.QRCodeImgURL = QRCodeHelper.GetQRImage(deliveryNote.DeliveryNoteNumber); deliveryNote.OrderId = order.Id; _deliveryNoteRepository.AddDeliveryNote(deliveryNote); } catch (Exception ex) { } return(View("SubmitOrder", order)); }
public bool AddDeliveryNote(DeliveryNoteModel model) { var note = Mapper.Map <DeliveryNoteEntity>(model); note.SubscriberId = UserContext.Current.SubscriberId; if (_noteRepository.AddDeliveryNote(note)) { if (model.HasProperties) { if (!AddPropertyValues(note, model.Properties)) { var properties = JsonConvert.SerializeObject(model.Properties); } } return(true); } return(false); }