public void BatchDeleteTest() { OtherOutDepot v1 = new OtherOutDepot(); OtherOutDepot v2 = new OtherOutDepot(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v1.OODID = "fLy"; v1.OODState = SCMSupplyChain.Model.OODState.未定义2; v1.DepotsID = AddDepots(); v1.OODDesc = "gZElY9o4"; v2.OODID = "aidQC"; v2.OODState = SCMSupplyChain.Model.OODState.未定义2; v2.DepotsID = v1.DepotsID; v2.OODDesc = "XNc1E9D"; context.Set <OtherOutDepot>().Add(v1); context.Set <OtherOutDepot>().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 <OtherOutDepot>().Find(v1.ID); var data2 = context.Set <OtherOutDepot>().Find(v2.ID); Assert.AreEqual(data1.IsValid, false); Assert.AreEqual(data2.IsValid, false); } rv = _controller.BatchDelete(new string[] {}); Assert.IsInstanceOfType(rv, typeof(OkResult)); }
public void CreateTest() { OtherOutDepotVM vm = _controller.Wtm.CreateVM <OtherOutDepotVM>(); OtherOutDepot v = new OtherOutDepot(); v.OODID = "fLy"; v.OODState = SCMSupplyChain.Model.OODState.未定义2; v.DepotsID = AddDepots(); v.OODDesc = "gZElY9o4"; 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 <OtherOutDepot>().Find(v.ID); Assert.AreEqual(data.OODID, "fLy"); Assert.AreEqual(data.OODState, SCMSupplyChain.Model.OODState.未定义2); Assert.AreEqual(data.OODDesc, "gZElY9o4"); 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(OtherOutDepot dep, List <OtherOutDepotDetail> list) { PSSEntities db = new PSSEntities(); int fg = 1; ///以下开始事务操作 using (var tx = db.Database.BeginTransaction()) { try { //将要修改的创建人找回来,避免修改时没有创建人 OtherOutDepot st = db.OtherOutDepot.FirstOrDefault(p => p.OODID == dep.OODID); st.DepotID = dep.DepotID; st.OODDate = dep.OODDate; st.OODDesc = dep.OODDesc; db.OtherOutDepotDetail.RemoveRange(db.OtherOutDepotDetail.Where(p => p.OODID == dep.OODID)); if (list != null) { db.OtherOutDepotDetail.AddRange(list); } db.SaveChanges(); tx.Commit(); } catch (Exception e) { fg = 0; tx.Rollback(); throw new Exception(e.Message); } } return(fg); }
/// <summary> /// 添加【---事务---】 /// </summary> /// <param name="dep"></param> /// <returns></returns> public static int AddStocks(OtherOutDepot dep, List <OtherOutDepotDetail> list) { PSSEntities db = new PSSEntities(); int fg = 1; using (var tx = db.Database.BeginTransaction()) { try { db.OtherOutDepot.Add(dep); if (list != null) { db.OtherOutDepotDetail.AddRange(list); } db.SaveChanges(); tx.Commit(); } catch (Exception e) { fg = 0; tx.Rollback(); throw new Exception(e.Message); } } return(fg); }
/// <summary> /// 审核采购订单 /// </summary> /// <param name="id"></param> /// <returns></returns> public static int CKInDepot(string id, int userid) { PSSEntities db = new PSSEntities(); int fg = 1; ///以下开始事务操作 using (var tx = db.Database.BeginTransaction()) { try { OtherOutDepot st = db.OtherOutDepot.FirstOrDefault(s => s.OODID.Equals(id)); st.OODState = 1; ObjectParameter para = new ObjectParameter("DD", ""); db.pro_order("InOutDepot", "IODNum", "RK", para); string IODNum = para.Value.ToString(); //添加出库记录 db.InOutDepot.Add(new InOutDepot() { DepotID = st.DepotID, IODType = 2, IODNum = IODNum, IODDate = DateTime.Now, IODUser = userid, IODDesc = st.OODDesc }); db.SaveChanges(); int inod = db.InOutDepot.Max(i => i.IODID); List <OtherOutDepotDetail> list = db.OtherOutDepotDetail.Where(p => p.OODID.Equals(id)).ToList();//销售出库详单 foreach (OtherOutDepotDetail 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); if (ds.DSAmount < item.OODDAmount) { throw new Exception("商品库存小于出库数量,操作失败!"); } ds.DSAmount = ds.DSAmount - item.OODDAmount; } //添加入库记录详情 db.InOutDepotDetail.Add(new InOutDepotDetail() { IODID = inod, ProID = item.ProID, IODDAmount = item.OODDAmount, IODDPrice = item.OODDPrice }); } db.SaveChanges(); tx.Commit(); } catch (Exception e) { tx.Rollback(); throw new Exception(e.Message); } } return(fg); }
/// <summary> /// 修改生产领料单 /// </summary> /// <param name="qp"></param> /// <param name="list"></param> /// <returns></returns> public ActionResult EditOtherOutDepot(OtherOutDepot qp, List <OtherOutDepotDetail> list) { if (OtherOutDepotBLL.EdiStocks(qp, list) > 0) { return(Content("edit_yes")); } else { return(Content("edit_no")); } }
/// <summary> /// 添加报价单 /// </summary> /// <param name="qp"></param> /// <param name="list"></param> /// <returns></returns> public ActionResult AddOtherOutDepot(OtherOutDepot qp, List <OtherOutDepotDetail> list) { qp.UserID = Convert.ToInt32(Session["uid"]); if (OtherOutDepotBLL.AddStocks(qp, list) > 0) { return(Content("add_yes")); } else { return(Content("add_no")); } }
public void GetTest() { OtherOutDepot v = new OtherOutDepot(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v.OODID = "fLy"; v.OODState = SCMSupplyChain.Model.OODState.未定义2; v.DepotsID = AddDepots(); v.OODDesc = "gZElY9o4"; context.Set <OtherOutDepot>().Add(v); context.SaveChanges(); } var rv = _controller.Get(v.ID.ToString()); Assert.IsNotNull(rv); }
public void EditTest() { OtherOutDepot v = new OtherOutDepot(); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { v.OODID = "fLy"; v.OODState = SCMSupplyChain.Model.OODState.未定义2; v.DepotsID = AddDepots(); v.OODDesc = "gZElY9o4"; context.Set <OtherOutDepot>().Add(v); context.SaveChanges(); } OtherOutDepotVM vm = _controller.Wtm.CreateVM <OtherOutDepotVM>(); var oldID = v.ID; v = new OtherOutDepot(); v.ID = oldID; v.OODID = "aidQC"; v.OODState = SCMSupplyChain.Model.OODState.未定义2; v.OODDesc = "XNc1E9D"; vm.Entity = v; vm.FC = new Dictionary <string, object>(); vm.FC.Add("Entity.OODID", ""); vm.FC.Add("Entity.OODState", ""); vm.FC.Add("Entity.DepotsID", ""); vm.FC.Add("Entity.OODDesc", ""); var rv = _controller.Edit(vm); Assert.IsInstanceOfType(rv, typeof(OkObjectResult)); using (var context = new DataContext(_seed, DBTypeEnum.Memory)) { var data = context.Set <OtherOutDepot>().Find(v.ID); Assert.AreEqual(data.OODID, "aidQC"); Assert.AreEqual(data.OODState, SCMSupplyChain.Model.OODState.未定义2); Assert.AreEqual(data.OODDesc, "XNc1E9D"); Assert.AreEqual(data.UpdateBy, "user"); Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10); } }
/// <summary> /// 修改【---事务---】 /// </summary> /// <param name="dp"></param> /// <returns></returns> public static int EdiStocks(OtherOutDepot dep, List <OtherOutDepotDetail> list) { return(OtherOutDepotDAL.EdiStocks(dep, list)); }