/// <summary> /// 快速添加订单,以及根据购买的数量构造虚拟单 /// </summary> /// <param name="model"></param> /// <param name="tran"></param> public static void FastAddOrder(TravelOrderInfo model, DbTransaction tran) { dal.Add(model, tran); for (int i = 0; i < model.BuyNum; i++) { var detail = CreateVirtualOrderDetail(model.AddMemberName, model.OrderNum, model.GroupID, model.LineID); detailDal.Add(detail, tran); } }
private void UpdateLoadDowOrderDetails() { OrderDetail.DeleteByOrderID(OrderID); for (int i = 0; i < gvOrderDetails.Rows.Count - 1; i++) { DataGridViewRow currRow = gvOrderDetails.Rows[i]; OrderDetail tempo = new OrderDetail(); tempo.OrderID = _OrderID; tempo.ProductID = Convert.ToInt32(currRow.Cells[0].Value.ToString()); tempo.UnitPrice = Convert.ToDouble(Convert.ToDecimal(currRow.Cells[1].Value.ToString())); tempo.Quantity = Convert.ToInt16(currRow.Cells[2].Value.ToString()); tempo.Discount = Convert.ToDouble(currRow.Cells[3].Value.ToString()); OrderDetail.Add(tempo); } }
/// <summary> /// 编辑订单 /// </summary> /// <param name="entity"></param> /// <param name="list"></param> /// <returns></returns> public override string EditOrder(OrdersEntity entity, List <OrderDetailEntity> list) { using (var ts = new TransactionScope()) { var line = 0; entity.Include(a => new { a.OrderType, a.ContractOrder, a.Remark, a.Amount, a.Num }); entity.Where(a => a.OrderNum == entity.OrderNum); var detail = new OrderDetailEntity(); detail.Where(a => a.OrderNum == entity.OrderNum); MoveOrderDetail.Delete(detail); foreach (var item in list) { item.OrderNum = entity.OrderNum; item.IncludeAll(); } entity.Num = list.Sum(a => a.Num); entity.Amount = list.Sum(a => a.Amount); line = Orders.Update(entity); OrderDetail.Add(list); ts.Complete(); return(line > 0 ? EnumHelper.GetEnumDesc(EReturnStatus.Success) : string.Empty); } }
private void btnAdd_Click(object sender, EventArgs e) { try { Order temp = OrderLoad(); if (gvOrderDetails.Rows.Count > 1) { DialogResult dlg = MessageBox.Show("Do you want to add this order!", "Message Box", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (dlg == System.Windows.Forms.DialogResult.OK) { int oder = Order.Add(temp); for (int i = 0; i < gvOrderDetails.Rows.Count - 1; i++) { DataGridViewRow currRow = gvOrderDetails.Rows[i]; OrderDetail tempo = new OrderDetail(); tempo.OrderID = oder; tempo.ProductID = Convert.ToInt32(currRow.Cells[0].Value.ToString()); tempo.UnitPrice = Convert.ToDouble(Convert.ToDecimal(currRow.Cells[1].Value.ToString())); tempo.Quantity = Convert.ToInt16(currRow.Cells[2].Value.ToString()); tempo.Discount = Convert.ToDouble(currRow.Cells[3].Value.ToString()); OrderDetail.Add(tempo); } this.DialogResult = DialogResult.OK; } } else { MessageBox.Show("You can import order details!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// 创建单据 /// </summary> /// <param name="entity"></param> /// <param name="list"></param> /// <returns></returns> public override string Create(OrdersEntity entity, List <OrderDetailEntity> list) { using (var ts = new TransactionScope()) { var line = 0; entity.OrderNum = entity.OrderNum.IsEmpty() ? SequenceProvider.GetSequence(typeof(OrdersEntity)) : entity.OrderNum; entity.IncludeAll(); if (!list.IsNullOrEmpty()) { list.ForEach(a => { a.OrderNum = entity.OrderNum; a.SendTime = entity.SendDate; a.IncludeAll(); }); line = Orders.Add(entity); line += OrderDetail.Add(list); } ts.Complete(); return(line > 0 ? EnumHelper.GetEnumDesc(EReturnStatus.Success) : string.Empty); } }
private void GetOrderDetailsList() { var odrepo = RepositoryManager.OrderDetailRepo(); //Select only items in the cart; which are not invoiced var orderitems = odrepo.SearchFor(c => c.OrderId <= 0).ToList(); var list = orderitems.Select(c => new OrderDetails() { ID = c.ID, MenuID = c.MenuID, MenuName = odrepo.GetMenuNameById(c.MenuID), Price = c.Price, Quantity = c.Quantity, }).ToList(); TotalAmount = list.Sum(c => c.Price * c.Quantity); OnPropertyChanged("TotalAmount"); foreach (var od in list) { OrderDetail.Add(od); } }