void BlChangeReqQuantity(object sender, EventChangePreReqQuantity e)//изменено { PreGoodsBalanceObj gb = e.GoodsObj; try { gb.ChangePreReqQuantity -= BlChangeReqQuantity; SaveOrder(gb); } finally { gb.ChangePreReqQuantity += BlChangeReqQuantity; } }
void SaveOrder(PreGoodsBalanceObj goodsObj)//изменено { { using (var oc = unityContainer.Resolve <OrderDataContext>()) { oc.DataBaseContext.spCreatePreOrderNew(goodsObj.id, IdOrderHeader, goodsObj.ReqQuantity); unityContainer.Resolve <IDBLogger>().InsertLog(string.Format("Позиция заказа. товар = '{0}' колво = {1}", goodsObj.id, goodsObj.ReqQuantity), IdOrderHeader.ToString().ToUpper()); var gods = oc.DataBaseContext.sp_sel_PreOrderBalanceRefresh(IdOrderHeader, goodsObj.id).Single(); goodsObj.Ordered = gods.Ordered; goodsObj.Quantity = gods.Balance.GetValueOrDefault(0); goodsObj.Quota = gods.Quota; } } }
public BindingList <PreGoodsBalanceData> GetOrderList() { if (_currentOrderHeader != null) { Cursor.Current = Cursors.WaitCursor; try { using (var oc = unityContainer.Resolve <OrderDataContext>()) { var balance = new BindingList <PreGoodsBalanceData>(); _allowEdit = ((_currentOrderHeader.IdOrderState == 1) && (ServerDate.Date == _currentOrderHeader.CreateDate.Date)); balance.AllowEdit = _allowEdit; var isBalance = unityContainer.Resolve <IOrderUserInfo>().Property.ContainsKey("SHOP_BALANCE") && !(double.Parse(unityContainer.Resolve <IOrderUserInfo>().Property["SHOP_BALANCE"]) == 0); var commitOrders = oc.DataBaseContext.sp_sel_PreOrderCommitGoodsByHeader(_currentOrderHeader.IdOrderHeader).ToList(); var orders = from vo in oc.DataBaseContext.sp_sel_PreOrderBalance(_currentOrderHeader.IdOrderHeader, Convert.ToInt32(StoreHouseType), _currentOrderHeader.IdOrderState) select new PreGoodsBalanceData { Barcode = vo.Barcode, Code = vo.Code, Date = vo.Date, FreeBalance = vo.FreeBalance.GetValueOrDefault(), Group = vo.GoodsGroup, id = vo.id_GoodsBalance, Measure = vo.Measure, MinOrder = vo.MinOrder.GetValueOrDefault(), Name = vo.Name, Price = vo.Price.GetValueOrDefault(), Ordered = vo.Ordered, Quantity = vo.Balance.GetValueOrDefault(), QuantityInPack = vo.QuantityInPack.GetValueOrDefault(), Reserved = vo.Reserved.GetValueOrDefault(), Supplier = vo.Supplier, RreqAssort = vo.IsReqAssort.GetValueOrDefault(false), ReqQuantity = vo.ReqQuantity, ForOrder = vo.ForOrder.GetValueOrDefault(0), AvgSell = vo.AvgSell, ShopBalance = vo.ShopBalance, Quota = vo.Quota, IsQuoted = vo.IsQuoted, SelfImport = vo.SelfImport.GetValueOrDefault(false), OrderMode = PreGoodsBalanceObj.ConvertToMode(vo.AutoOrderModeId), IsLoaded = true, IsShopBalance = isBalance, LastOrderDate = vo.LastAutoOrderDate.GetValueOrDefault(DateTime.MinValue.Date), CommitList = GetCommitList(commitOrders, vo.id_PreOrder.GetValueOrDefault()) }; foreach (var bl in orders) { bl.ChangePreReqQuantity += BlChangeReqQuantity; bl.OnPreAutoOrdeer += bl_OnAutoOrdeer; balance.Add(bl); } BalanceList = balance; return(BalanceList); } } finally { Cursor.Current = Cursors.Default; } } return(null); }