public HttpResponseMessage DeletePurOrderRow(t_purchase_order obj) { using (TransactionScope transaction = new TransactionScope()) { try { var result = new DBHelper <t_purchase_order>().Remove(obj); result = result + new DBHelper <t_purchase_order_detail>().RemoveList(x => x.POID == obj.POID); //提交事务 transaction.Complete(); return(Json(true, "删除成功!")); } catch (Exception er) { return(Json(false, "删除失败!", er.Message)); } } }
public HttpResponseMessage FindPurOrderForm(t_purchase_order obj) { long POID = obj.POID; DateTime dt = DateTime.Now; int CorpID = userInfo.CorpID; var WarehouseIDList = db.t_warehouse.Where(w => w.CorpID == CorpID && w.IsValid != 0).Select(s => new { label = s.Name, value = s.WarehouseID }); var PurchaserIDList = db.t_bas_user.Where(w => w.CorpID == CorpID && w.IsValid != 0 && w.UserCategoryID == 4).Select(s => new { label = s.Name, value = s.UserID }); var SupplierIDList = db.t_supplier.Where(w => w.CorpID == CorpID && w.IsValid != 0).Select(s => new { label = s.Name, value = s.SupplierID }); var TruckIDList = db.t_bas_truck.Where(w => w.CorpID == CorpID && w.IsValid != 0).Select(s => new { label = s.Name, value = s.TruckID }); var DriverIDList = db.t_bas_user.Where(w => w.CorpID == CorpID && w.IsValid != 0 && w.UserCategoryID == 7).Select(s => new { label = s.Name, value = s.UserID }); var CustList = db.t_bas_user.Where(w => w.CorpID == CorpID).Select(s => new { label = s.Name, value = s.UserID }); if (POID == 0) { string NullValue = null; var OrderDetail = new { Code = NullValue, Name = NullValue, CorpID = NullValue, POID = NullValue, RowID = NullValue, ItemID = NullValue, UomID = NullValue, UomIDList = NullValue, WarehouseID = NullValue, WarehouseIDList = NullValue, BinID = NullValue, BillQty = NullValue, OperQty = NullValue, BalanceQty = NullValue, UnitAmount = NullValue, UnitCost = NullValue, Amount = NullValue, ReturnReasonID = NullValue, IsFree = NullValue, IsGift = NullValue, Remark = NullValue, UpdateTime = NullValue, UpdateUserID = NullValue }; List <object> OrderDetailList = new List <object>(); OrderDetailList.Add(OrderDetail); var list = new { POID = 0, PostDate = NullValue, PurchaserID = NullValue, PurchaserIDList = PurchaserIDList, Remark = NullValue, Status = 0, SupplierID = NullValue, SupplierIDList = SupplierIDList, TruckID = NullValue, TruckIDList = TruckIDList, UpdateTime = NullValue, UpdateUserID = NullValue, BillDate = dt.ToString("yyyy-MM-dd"), BillType = obj.BillType, Code = NullValue, ConfirmTime = NullValue, ConfirmUserID = NullValue, CorpID = CorpID, CreateTime = NullValue, CreateUserID = userInfo.UserID, CustList = CustList, DriverID = NullValue, DriverIDList = DriverIDList, IsStockFinished = 0, OrderDetail = OrderDetailList }; return(Json(true, "", list)); } else { var OrderDetail = db.view_purchase_detail.Where(w => w.POID == POID && w.CorpID == CorpID).Select(x => new { CorpID = x.CorpID, POID = x.POID, RowID = x.RowID, ItemID = x.ItemID, Code = x.Code, Name = x.Name, UomID = x.UomID, UomIDList = db.view_uom.Where(w => w.CorpID == x.CorpID && w.ItemID == x.ItemID).OrderByDescending(o => o.UomType).Select(v => new { value = v.UomID, label = v.Name, UomID = v.UomID, ItemID = v.ItemID, CorpID = v.CorpID, Name = v.Name, PurchasePrice = v.PurchasePrice, LastPurchasePrice = db.t_itemprice.Where(w => w.CorpID == v.CorpID && w.ItemID == v.ItemID && w.SuppCustID == obj.SupplierID && w.TargetType == 1 && w.UomID == v.UomID).Select(x1 => (decimal?)x1.LastPrice).FirstOrDefault(), SalesPrice = v.SalesPrice, UomType = v.UomType, RateQty = v.RateQty, IsPurchaseUOM = v.IsPurchaseUOM, IsSalesUOM = v.IsSalesUOM }), WarehouseID = x.WarehouseID, BinID = x.BinID, BillQty = x.BillQty, OperQty = x.OperQty, BalanceQty = x.BalanceQty, UnitAmount = x.UnitAmount, UnitCost = x.UnitCost, Amount = x.Amount, ReturnReasonID = x.ReturnReasonID, IsFree = x.IsFree, IsGift = x.IsGift, Remark = x.Remark, UpdateTime = x.UpdateTime, UpdateUserID = x.UpdateUserID, WarehouseIDList = WarehouseIDList }); var list = db.t_purchase_order.Where(w => w.POID == POID && w.CorpID == CorpID).Select(s => new { s.POID, s.PostDate, s.PurchaserID, PurchaserIDList = PurchaserIDList, s.Remark, s.Status, s.SupplierID, SupplierIDList = SupplierIDList, s.TruckID, TruckIDList = TruckIDList, s.UpdateTime, s.UpdateUserID, s.BillDate, s.BillType, s.Code, s.ConfirmTime, s.ConfirmUserID, s.CorpID, s.CreateTime, s.CreateUserID, CustList = CustList, s.DriverID, DriverIDList = DriverIDList, s.IsStockFinished, OrderDetail = OrderDetail }).FirstOrDefault(); return(Json(true, "", list)); } }
private dynamic SaveForm(t_purchaseOrder obj) { using (TransactionScope transaction = new TransactionScope()) { DateTime dt = DateTime.Now; t_purchase_order objItem = new t_purchase_order() { POID = obj.POID, PostDate = obj.PostDate, PurchaserID = obj.PurchaserID, Remark = obj.Remark, Status = obj.Status, SupplierID = obj.SupplierID, TruckID = obj.TruckID, UpdateTime = obj.UpdateTime, UpdateUserID = obj.UpdateUserID, BillDate = obj.BillDate, BillType = obj.BillType, Code = obj.Code, ConfirmTime = obj.ConfirmTime, ConfirmUserID = obj.ConfirmUserID, CorpID = obj.CorpID, CreateTime = obj.CreateTime, CreateUserID = obj.CreateUserID, DriverID = obj.DriverID, IsStockFinished = obj.IsStockFinished }; DBHelper <t_purchase_order> dbhelp_purOrder = new DBHelper <t_purchase_order>(); //事务 var result = 0; var Item = db.t_purchase_order.Where(w => w.Code == objItem.Code && w.CorpID == userInfo.CorpID); try { if (objItem.POID == 0) { string Code = objItem.Code; if (Code == "" || Code == null) { result = AutoIncrement.AutoIncrementResult("PurchaseOrder", out Code); } objItem.CreateTime = dt; objItem.BillDate = dt; objItem.CreateUserID = (int)userInfo.UserID; objItem.CorpID = userInfo.CorpID; objItem.Code = Code; objItem.Status = 1; if (Item.ToList().Count() > 0) { throw new Exception("账号重复!"); } result = result + dbhelp_purOrder.Add(objItem); } else { objItem.CorpID = userInfo.CorpID; objItem.UpdateTime = dt; objItem.UpdateUserID = (int)userInfo.UserID; if (Item.ToList().Count() > 1) { throw new Exception("账号重复!"); } result = result + dbhelp_purOrder.Update(objItem); } //删除并保存明细 DBHelper <t_purchase_order_detail> dbhelp_purOderDetail = new DBHelper <t_purchase_order_detail>(); List <int> ItemList = new List <int>(); List <int> UomList = new List <int>(); List <t_itemprice> itempriceList = new List <t_itemprice>(); foreach (var item in obj.OrderDetail) { item.CorpID = userInfo.CorpID; item.POID = objItem.POID; item.UpdateTime = dt; item.UpdateUserID = (int)userInfo.UserID; ItemList.Add(item.ItemID); UomList.Add(item.UomID); itempriceList.Add(new t_itemprice { CorpID = userInfo.CorpID, SuppCustID = objItem.SupplierID, ItemID = item.ItemID, UomID = item.UomID, LastPrice = item.UnitAmount, UpdateTime = dt, TargetType = 1 }); } //删除明细 result = result + dbhelp_purOderDetail.RemoveList(w => w.POID == objItem.POID); //添加明细 result = result + dbhelp_purOderDetail.AddList(obj.OrderDetail); //删除最后价格 DBHelper <t_itemprice> dbhelp_itemprice = new DBHelper <t_itemprice>(); result = result + dbhelp_itemprice.RemoveList(w => w.TargetType == 1 && w.CorpID == userInfo.CorpID && ItemList.Contains(w.ItemID) && UomList.Contains(w.UomID) && w.SuppCustID == objItem.SupplierID); //添加最后价格 result = result + dbhelp_itemprice.AddList(itempriceList.ToArray()); //提交事务 transaction.Complete(); return(new { result = true, message = "保存成功!", data = new { POID = objItem.POID } }); } catch (Exception ex) { throw new DomainException("保存失败!"); } } }