public void CreateTest()
        {
            StockInDepotVM vm = _controller.Wtm.CreateVM <StockInDepotVM>();
            StockInDepot   v  = new StockInDepot();

            v.SIDID         = "tax";
            v.ProductLendID = AddProductLend();
            v.DepotsID      = AddDepots();
            v.StocksID      = AddStocks();
            v.SIDDeliver    = "MDcpYxQ";
            v.SIDFreight    = 15;
            v.SIDData       = SCMSupplyChain.Model.SIDData.未定义1;
            v.SIDDesc       = "SBi";
            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 <StockInDepot>().Find(v.ID);

                Assert.AreEqual(data.SIDID, "tax");
                Assert.AreEqual(data.SIDDeliver, "MDcpYxQ");
                Assert.AreEqual(data.SIDFreight, 15);
                Assert.AreEqual(data.SIDData, SCMSupplyChain.Model.SIDData.未定义1);
                Assert.AreEqual(data.SIDDesc, "SBi");
                Assert.AreEqual(data.CreateBy, "user");
                Assert.IsTrue(DateTime.Now.Subtract(data.CreateTime.Value).Seconds < 10);
            }
        }
        public void EditTest()
        {
            StockInDepot v = new StockInDepot();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.SIDID         = "tax";
                v.ProductLendID = AddProductLend();
                v.DepotsID      = AddDepots();
                v.StocksID      = AddStocks();
                v.SIDDeliver    = "MDcpYxQ";
                v.SIDFreight    = 15;
                v.SIDData       = SCMSupplyChain.Model.SIDData.未定义1;
                v.SIDDesc       = "SBi";
                context.Set <StockInDepot>().Add(v);
                context.SaveChanges();
            }

            StockInDepotVM vm    = _controller.Wtm.CreateVM <StockInDepotVM>();
            var            oldID = v.ID;

            v    = new StockInDepot();
            v.ID = oldID;

            v.SIDID      = "mH1ZBXEQ";
            v.SIDDeliver = "FUqR1pOx";
            v.SIDFreight = 38;
            v.SIDData    = SCMSupplyChain.Model.SIDData.未定义2;
            v.SIDDesc    = "6uQm6FHC";
            vm.Entity    = v;
            vm.FC        = new Dictionary <string, object>();

            vm.FC.Add("Entity.SIDID", "");
            vm.FC.Add("Entity.ProductLendID", "");
            vm.FC.Add("Entity.DepotsID", "");
            vm.FC.Add("Entity.StocksID", "");
            vm.FC.Add("Entity.SIDDeliver", "");
            vm.FC.Add("Entity.SIDFreight", "");
            vm.FC.Add("Entity.SIDData", "");
            vm.FC.Add("Entity.SIDDesc", "");
            var rv = _controller.Edit(vm);

            Assert.IsInstanceOfType(rv, typeof(OkObjectResult));

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                var data = context.Set <StockInDepot>().Find(v.ID);

                Assert.AreEqual(data.SIDID, "mH1ZBXEQ");
                Assert.AreEqual(data.SIDDeliver, "FUqR1pOx");
                Assert.AreEqual(data.SIDFreight, 38);
                Assert.AreEqual(data.SIDData, SCMSupplyChain.Model.SIDData.未定义2);
                Assert.AreEqual(data.SIDDesc, "6uQm6FHC");
                Assert.AreEqual(data.UpdateBy, "user");
                Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 审核入库单【---事务处理---】
        /// </summary>
        /// <param name="id">入库单ID</param>
        /// <returns>是否成功【0失败、1成功】</returns>
        public static int CKStockIn(string id, int userid)
        {
            PSSEntities db = new PSSEntities();
            int         fg = 1;

            using (var tx = db.Database.BeginTransaction())
            {
                try
                {                                                                                                      //------------------------------------------------【入库审核】-------------------------------------------------
                    List <StockInDepotDetail> prolist = db.StockInDepotDetail.Where(s => s.SIDID.Equals(id)).ToList(); //根据入库单ID找到采购入库订单详单集合
                    StockInDepot    st   = db.StockInDepot.FirstOrDefault(s => s.SIDID.Equals(id));                    //根据入库单ID找到采购入库订单
                    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 = 1, IODNum = IODNum, IODDate = DateTime.Now, IODUser = userid, IODDesc = st.SIDDesc
                    });
                    db.SaveChanges();                            //保存
                    int inod = db.InOutDepot.Max(i => i.IODID);  //再获取出刚刚出入库记录编号【循环添加出入库详单的时候需要出入库记录编号,所有要先保存】
                    // db.InOutDepot.
                    foreach (StockInDepotDetail item in prolist) //遍历出库单详单
                    {
                        if (db.DepotStock.FirstOrDefault(p => p.DepotID.Equals(st.DepotID) && p.ProID == item.ProID) == null)
                        {//如果指定的仓库中不存在该商品
                            //【为这个仓库添加一个新商品】
                            db.DepotStock.Add(new DepotStock()
                            {
                                DepotID = st.DepotID, ProID = item.ProID, DSAmount = item.SIDAmount, DSPrice = item.SIDPrice
                            });
                        }
                        else
                        {//如果指定仓库存在这个商品,修改这个商品的库存
                            DepotStock ds = db.DepotStock.FirstOrDefault(d => d.ProID == item.ProID && d.DepotID == st.DepotID);
                            ds.DSAmount = item.SIDAmount + ds.DSAmount;
                        }
                        //添加入库记录详情
                        db.InOutDepotDetail.Add(new InOutDepotDetail()
                        {
                            IODID = inod, ProID = item.ProID, IODDAmount = item.SIDAmount, IODDPrice = item.SIDPrice
                        });
                    }
                    st.SIDData = 1;//修改入库表状态
                    db.SaveChanges();
                    tx.Commit();
                }
                catch (Exception ex)
                {
                    fg = 0;
                    tx.Rollback();
                    throw new Exception(ex.Message);
                }
            }
            return(fg);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// 修改入库单
 /// </summary>
 /// <param name="sti"></param>
 /// <param name="list"></param>
 /// <returns></returns>
 public ActionResult EditStockIn(StockInDepot sti, List <StockInDepotDetail> list)
 {
     if (StockInDepotBLL.EdiStocks(sti, list) > 0)
     {
         return(Content("edit_yes"));
     }
     else
     {
         return(Content("edit_no"));
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 保存入库订单
 /// </summary>
 /// <returns></returns>
 public ActionResult AddStockIn(StockInDepot sti, List <StockInDepotDetail> list)
 {
     sti.SIDUser = Convert.ToInt32(Session["uid"]);
     if (StockInDepotBLL.AddStocks(sti, list) > 0)
     {
         return(Content("add_yes"));
     }
     else
     {
         return(Content("add_no"));
     }
 }
        public void BatchDeleteTest()
        {
            StockInDepot v1 = new StockInDepot();
            StockInDepot v2 = new StockInDepot();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v1.SIDID         = "tax";
                v1.ProductLendID = AddProductLend();
                v1.DepotsID      = AddDepots();
                v1.StocksID      = AddStocks();
                v1.SIDDeliver    = "MDcpYxQ";
                v1.SIDFreight    = 15;
                v1.SIDData       = SCMSupplyChain.Model.SIDData.未定义1;
                v1.SIDDesc       = "SBi";
                v2.SIDID         = "mH1ZBXEQ";
                v2.ProductLendID = v1.ProductLendID;
                v2.DepotsID      = v1.DepotsID;
                v2.StocksID      = v1.StocksID;
                v2.SIDDeliver    = "FUqR1pOx";
                v2.SIDFreight    = 38;
                v2.SIDData       = SCMSupplyChain.Model.SIDData.未定义2;
                v2.SIDDesc       = "6uQm6FHC";
                context.Set <StockInDepot>().Add(v1);
                context.Set <StockInDepot>().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 <StockInDepot>().Find(v1.ID);
                var data2 = context.Set <StockInDepot>().Find(v2.ID);
                Assert.AreEqual(data1, null);
                Assert.AreEqual(data2, null);
            }

            rv = _controller.BatchDelete(new string[] {});
            Assert.IsInstanceOfType(rv, typeof(OkResult));
        }
        public void GetTest()
        {
            StockInDepot v = new StockInDepot();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.SIDID         = "tax";
                v.ProductLendID = AddProductLend();
                v.DepotsID      = AddDepots();
                v.StocksID      = AddStocks();
                v.SIDDeliver    = "MDcpYxQ";
                v.SIDFreight    = 15;
                v.SIDData       = SCMSupplyChain.Model.SIDData.未定义1;
                v.SIDDesc       = "SBi";
                context.Set <StockInDepot>().Add(v);
                context.SaveChanges();
            }
            var rv = _controller.Get(v.ID.ToString());

            Assert.IsNotNull(rv);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 审核采购订单
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static int CKStocks(string id)
        {
            PSSEntities db = new PSSEntities();

            ///以下开始事务操作
            using (var tx = db.Database.BeginTransaction())
            {
                try
                {
                    //将要修改的创建人找回来,避免修改时没有创建人
                    StockInDepot st = db.StockInDepot.FirstOrDefault(p => p.SIDID == id);
                    st.SIDData = 1;
                    tx.Commit();
                }
                catch (Exception e)
                {
                    tx.Rollback();
                    throw new Exception(e.Message);
                }
            }
            return(db.SaveChanges());
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 修改【---事务---】
        /// </summary>
        /// <param name="dp"></param>
        /// <returns></returns>
        public static int EdiStocks(StockInDepot dp, List <StockInDepotDetail> list)
        {
            PSSEntities db = new PSSEntities();
            int         fg = 1;

            ///以下开始事务操作
            using (var tx = db.Database.BeginTransaction())
            {
                try
                {
                    //将要修改的创建人找回来,避免修改时没有创建人
                    StockInDepot st = db.StockInDepot.FirstOrDefault(p => p.SIDID == dp.SIDID);
                    st.PPID       = dp.PPID;
                    st.DepotID    = dp.DepotID;
                    st.SIDData    = dp.SIDData;
                    st.SIDDate    = dp.SIDDate;
                    st.SIDDesc    = dp.SIDDesc;
                    st.SIDDeliver = dp.SIDDeliver;
                    st.SIDFreight = dp.SIDFreight;
                    db.StockInDepotDetail.RemoveRange(db.StockInDepotDetail.Where(p => p.SIDID == dp.SIDID));
                    if (list != null)
                    {
                        db.StockInDepotDetail.AddRange(list);
                    }

                    db.SaveChanges();
                    tx.Commit();
                }
                catch (Exception e)
                {
                    fg = 0;
                    tx.Rollback();
                    throw new Exception(e.Message);
                }
            }
            return(fg);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="dep"></param>
        /// <returns></returns>
        public static int AddStocks(StockInDepot dep, List <StockInDepotDetail> list)
        {
            PSSEntities db = new PSSEntities();

            using (var tx = db.Database.BeginTransaction())
            {
                try
                {
                    db.StockInDepot.Add(dep);
                    if (list != null)
                    {
                        db.StockInDepotDetail.AddRange(list);
                    }

                    tx.Commit();
                    return(db.SaveChanges());
                }
                catch (Exception e)
                {
                    tx.Rollback();
                    throw new Exception(e.Message);
                }
            }
        }
Ejemplo n.º 11
0
 /// <summary>
 /// 修改
 /// </summary>
 /// <param name="dp"></param>
 /// <returns></returns>
 public static int EdiStocks(StockInDepot dp, List <StockInDepotDetail> list)
 {
     return(StockInDepotDAL.EdiStocks(dp, list));
 }
Ejemplo n.º 12
0
 /// <summary>
 /// 添加
 /// </summary>
 /// <param name="dep"></param>
 /// <returns></returns>
 public static int AddStocks(StockInDepot dep, List <StockInDepotDetail> list)
 {
     return(StockInDepotDAL.AddStocks(dep, list));
 }