/// <summary> /// 修改【---事务---】 /// </summary> /// <param name="dp"></param> /// <returns></returns> public static int EdiStocks(CheckDepot dep, List <CheckDepotDetail> list) { PSSEntities db = new PSSEntities(); int fg = 1; ///以下开始事务操作 using (var tx = db.Database.BeginTransaction()) { try { //将要修改的创建人找回来,避免修改时没有创建人 CheckDepot st = db.CheckDepot.FirstOrDefault(p => p.CDID == dep.CDID); st.DepotID = dep.DepotID; //盘点仓库 st.CDDate = dep.CDDate; //盘点时间 st.CDDesc = dep.CDDesc; //备注 db.CheckDepotDetail.RemoveRange(db.CheckDepotDetail.Where(p => p.CDID == dep.CDID)); //删除详单 if (list != null) { db.CheckDepotDetail.AddRange(list); //如果添加的详单不为空的话,那么就添加详单 } db.SaveChanges(); tx.Commit(); } catch (Exception e) { fg = 0; tx.Rollback(); throw new Exception(e.Message); } } return(fg); }
public void BatchDeleteTest() { CheckDepot v1 = new CheckDepot(); CheckDepot v2 = new CheckDepot(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v1.DepotsID = AddDepots(); v1.FrameworkUserID = AddFrameworkUser(); v1.CDState = SCMSupplyChain.Model.CDState.盘点中; v1.CDDesc = "f8r"; v2.DepotsID = v1.DepotsID; v2.FrameworkUserID = v1.FrameworkUserID; v2.CDState = SCMSupplyChain.Model.CDState.盘点核算; v2.CDDesc = "Z1chJ"; context.Set <CheckDepot>().Add(v1); context.Set <CheckDepot>().Add(v2); context.SaveChanges(); } var rv = _controller.BatchDelete(new string[] { v1.ID.ToString(), v2.ID.ToString() }); Assert.IsInstanceOfType(rv, typeof(OkObjectResult)); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { var data1 = context.Set <CheckDepot>().Find(v1.ID); var data2 = context.Set <CheckDepot>().Find(v2.ID); Assert.AreEqual(data1.IsValid, false); Assert.AreEqual(data2.IsValid, false); } rv = _controller.BatchDelete(new string[] {}); Assert.IsInstanceOfType(rv, typeof(OkResult)); }
/// <summary> /// 添加【---事务---】 /// </summary> /// <param name="dep"></param> /// <returns></returns> public static int AddStocks(CheckDepot dep, List <CheckDepotDetail> list) { PSSEntities db = new PSSEntities(); int fg = 1; using (var tx = db.Database.BeginTransaction()) { try { db.CheckDepot.Add(dep); if (list != null) { db.CheckDepotDetail.AddRange(list); } db.SaveChanges(); tx.Commit(); } catch (Exception e) { fg = 0; tx.Rollback(); throw new Exception(e.Message); } } return(fg); }
/// <summary> /// 修改订单 /// </summary> /// <param name="pd"></param> /// <param name="list"></param> /// <returns></returns> public ActionResult Edit(CheckDepot pd, List <CheckDepotDetail> list) { if (CheckDepotBLL.EdiStocks(pd, list) > 0) { return(Content("edit_yes")); } else { return(Content("edit_no")); } }
/// <summary> /// 添加订单 /// </summary> /// <param name="pd"></param> /// <param name="list"></param> /// <returns></returns> public ActionResult Add(CheckDepot pd, List <CheckDepotDetail> list) { pd.UserID = Convert.ToInt32(Session["uid"]); if (CheckDepotBLL.AddStocks(pd, list) > 0) { return(Content("add_yes")); } else { return(Content("add_no")); } }
public void GetTest() { CheckDepot v = new CheckDepot(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v.DepotsID = AddDepots(); v.FrameworkUserID = AddFrameworkUser(); v.CDState = SCMSupplyChain.Model.CDState.盘点中; v.CDDesc = "f8r"; context.Set <CheckDepot>().Add(v); context.SaveChanges(); } var rv = _controller.Get(v.ID.ToString()); Assert.IsNotNull(rv); }
public void EditTest() { CheckDepot v = new CheckDepot(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v.DepotsID = AddDepots(); v.FrameworkUserID = AddFrameworkUser(); v.CDState = SCMSupplyChain.Model.CDState.盘点中; v.CDDesc = "f8r"; context.Set <CheckDepot>().Add(v); context.SaveChanges(); } CheckDepotVM vm = _controller.Wtm.CreateVM <CheckDepotVM>(); var oldID = v.ID; v = new CheckDepot(); v.ID = oldID; v.CDState = SCMSupplyChain.Model.CDState.盘点核算; v.CDDesc = "Z1chJ"; vm.Entity = v; vm.FC = new Dictionary <string, object>(); vm.FC.Add("Entity.DepotsID", ""); vm.FC.Add("Entity.FrameworkUserID", ""); vm.FC.Add("Entity.CDState", ""); vm.FC.Add("Entity.CDDesc", ""); var rv = _controller.Edit(vm); Assert.IsInstanceOfType(rv, typeof(OkObjectResult)); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { var data = context.Set <CheckDepot>().Find(v.ID); Assert.AreEqual(data.CDState, SCMSupplyChain.Model.CDState.盘点核算); Assert.AreEqual(data.CDDesc, "Z1chJ"); Assert.AreEqual(data.UpdateBy, "user"); Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10); } }
/// <summary> /// 审核订单【修改后不可修改,直接影响库存数据】 /// </summary> /// <param name="id"></param> /// <returns></returns> public static int CKDepot(string id, int userid) { PSSEntities db = new PSSEntities(); int fg = 1; ///以下开始事务操作 using (var tx = db.Database.BeginTransaction()) { try { /* * --------------------------------------- 【库存盘点】------------------------------------------------- * 1、将盘点状态改为3 * 2、直接修改对应仓库中的商品库存为盘点后的实际库存 */ CheckDepot st = db.CheckDepot.FirstOrDefault(s => s.CDID.Equals(id)); st.CDState = 2; List <CheckDepotDetail> list = db.CheckDepotDetail.Where(p => p.CDID.Equals(id)).ToList();//销售出库详单 foreach (CheckDepotDetail item in list) { //如果盘点的仓库中不存在该商品 if (db.DepotStock.FirstOrDefault(p => p.DepotID.Equals(st.DepotID) && p.ProID == item.ProID) == null) { throw new Exception("商品不存在该仓库中!"); } else {//如果指定仓库存在这个商品,修改这个商品的库存为盘点后的库存 DepotStock ds = db.DepotStock.FirstOrDefault(d => d.ProID == item.ProID && d.DepotID == st.DepotID); ds.DSAmount = item.CDDAmount1; } } db.SaveChanges(); tx.Commit(); } catch (Exception e) { tx.Rollback(); throw new Exception(e.Message); } } return(fg); }
/// <summary> /// 盘点【将状态改为二】 /// </summary> /// <param name="id"></param> /// <returns></returns> public static int PDDepot(string id) { PSSEntities db = new PSSEntities(); int fg = 1; using (var tx = db.Database.BeginTransaction()) { try { CheckDepot cd = db.CheckDepot.FirstOrDefault(s => s.CDID == id); cd.CDState = 1; List <CheckDepotDetail> list = db.CheckDepotDetail.Where(s => s.CDID == id).ToList(); List <DepotStock> dps = db.DepotStock.Where(p => p.DepotID == cd.DepotID).ToList(); foreach (var item in list) { foreach (DepotStock d in dps) { if (item.ProID == d.ProID) { item.DevAmount2 = d.DSAmount; break; } } } db.SaveChanges(); tx.Commit(); } catch (Exception ex) { fg = 0; tx.Rollback(); throw new Exception(ex.Message); } } return(fg); }
public void CreateTest() { CheckDepotVM vm = _controller.Wtm.CreateVM <CheckDepotVM>(); CheckDepot v = new CheckDepot(); v.DepotsID = AddDepots(); v.FrameworkUserID = AddFrameworkUser(); v.CDState = SCMSupplyChain.Model.CDState.盘点中; v.CDDesc = "f8r"; vm.Entity = v; var rv = _controller.Add(vm); Assert.IsInstanceOfType(rv, typeof(OkObjectResult)); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { var data = context.Set <CheckDepot>().Find(v.ID); Assert.AreEqual(data.CDState, SCMSupplyChain.Model.CDState.盘点中); Assert.AreEqual(data.CDDesc, "f8r"); Assert.AreEqual(data.CreateBy, "user"); Assert.IsTrue(DateTime.Now.Subtract(data.CreateTime.Value).Seconds < 10); } }
/// <summary> /// 修改【---事务---】 /// </summary> /// <param name="dp"></param> /// <returns></returns> public static int EdiStocks(CheckDepot dep, List <CheckDepotDetail> list) { return(CheckDepotDAL.EdiStocks(dep, list)); }
public async Task <int> PutCD_K([FromUri] dynamic key, [FromBody] CheckDepot checkDepot) { return(await universalModuel.Update_Key(key, checkDepot)); }
public async Task <int> PostCDI([FromBody] CheckDepot checkDepot) { return(await universalModuel.Insert(checkDepot).ConfigureAwait(false)); }
public async Task <int> PutCD_P([FromUri] string properties_json, [FromBody] CheckDepot checkDepot) { Dictionary <string, dynamic> properties = universalModuel.JsonToDictionary(properties_json); return(await universalModuel.Update_Properties(properties, checkDepot).ConfigureAwait(false)); }