예제 #1
0
        public IHttpActionResult PosttwhcheckrecordsDtlEdit()
        {
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;

            JavaScriptSerializer js = new JavaScriptSerializer();

            string chkNO    = request.Params["chkNO"];
            string warId    = request.Params["warId"];
            string chkDate  = request.Params["chkDate"];
            string remark   = request.Params["remark"];
            string updateId = request.Params["updateId"];
            List <twhcheckrecorddtl> listTwhDtl = js.Deserialize <List <twhcheckrecorddtl> >(request.Params["listTwhDtl"]);

            using (var tran = db.Database.BeginTransaction())
            {
                try
                {
                    var twhcheckrecords = db.twhcheckrecords.AsNoFilter().Where(w => w.ChkNO == chkNO).FirstOrDefault();
                    twhcheckrecords.UpdateID        = updateId;
                    twhcheckrecords.Remark          = remark;
                    twhcheckrecords.UpdateDate      = DateTime.Now;
                    db.Entry(twhcheckrecords).State = EntityState.Unchanged;
                    db.Entry(twhcheckrecords).Property(p => p.UpdateID).IsModified   = true;
                    db.Entry(twhcheckrecords).Property(p => p.Remark).IsModified     = true;
                    db.Entry(twhcheckrecords).Property(p => p.UpdateDate).IsModified = true;

                    db.twhcheckrecorddtl.Where(w => w.ChkNO == chkNO).Delete();
                    db.SaveChanges();
                    for (int i = 0; i < listTwhDtl.Count; i++)
                    {
                        string ChkNO   = listTwhDtl[i].ChkNO;
                        string PdtID   = listTwhDtl[i].PdtID;
                        float  InvNum  = listTwhDtl[i].InvNum;
                        float  RealNum = listTwhDtl[i].RealNum;
                        float  DifNum  = listTwhDtl[i].DifNum;

                        twhcheckrecorddtl tw = new twhcheckrecorddtl();
                        listTwhDtl[i].ChkNO      = chkNO;
                        listTwhDtl[i].AdjStatus  = "N";
                        listTwhDtl[i].UpdateID   = updateId;
                        listTwhDtl[i].UpdateDate = DateTime.Now;
                        tw = listTwhDtl[i];
                        db.twhcheckrecorddtl.Add(tw);
                    }


                    db.SaveChanges();
                    tran.Commit();
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    return(new PageResult("error", Request));
                }
            }
            return(Content <string>(HttpStatusCode.OK, "OK"));
        }
예제 #2
0
        public IHttpActionResult Putmcustomer(string id, mcustomer mcustomer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != mcustomer.CusID)
            {
                return(BadRequest());
            }

            db.Entry(mcustomer).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (Exception)
            {
                if (mcustomerExists(mcustomer.CusID))
                {
                    return(new PageResult("Conflict", Request));
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #3
0
        public IHttpActionResult Puttsaleorderdtl(string id, tsaleorderdtl tsaleorderdtl)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != tsaleorderdtl.SaleOrderNO)
            {
                return(BadRequest());
            }

            db.Entry(tsaleorderdtl).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!tsaleorderdtlExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #4
0
        public IHttpActionResult Putmwarehouse(string id, mwarehouse mwarehouse)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != mwarehouse.WHID)
            {
                return(BadRequest());
            }

            db.Entry(mwarehouse).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (Exception)
            {
                if (!mwarehouseExists(id))
                {
                    return(new PageResult("Conflict", Request));
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #5
0
파일: MSupplier.cs 프로젝트: zzxcdh/ERPS
        public int ImportList(List <msupplier> lstpdt, out int addNum, out int updNum, out int cfNum)
        {
            int ret = 0;

            using (var tran = erpsEntities.Database.BeginTransaction())
            {
                try
                {
                    addNum = 0;
                    updNum = 0;
                    cfNum  = 0;
                    cfNum  = lstpdt.GroupBy(x => x.SupID).Where(x => x.Count() > 1).Count();

                    //去除重复的ID数据
                    lstpdt = lstpdt.Where((x, i) => lstpdt.FindIndex(n => n.SupID == x.SupID) == i).ToList();

                    var all   = erpsEntities.msupplier.AsNoTracking().ToList();
                    var allID = all.Select(s => s.SupID).ToList();
                    //新增
                    var addlist = lstpdt.Where(w => !allID.Contains(w.SupID)).ToList();
                    erpsEntities.msupplier.AddRange(addlist);

                    //修改
                    var updlist = lstpdt.Where(w => allID.Contains(w.SupID)).ToList();
                    for (int i = 0; i < updlist.Count; i++)
                    {
                        msupplier msupplier = new msupplier();
                        msupplier = updlist[i];
                        erpsEntities.msupplier.Attach(msupplier);

                        erpsEntities.Entry(msupplier).State = EntityState.Unchanged;
                        erpsEntities.Entry(msupplier).Property(x => x.SupID).IsModified      = true;
                        erpsEntities.Entry(msupplier).Property(x => x.SupName).IsModified    = true;
                        erpsEntities.Entry(msupplier).Property(x => x.Contact).IsModified    = true;
                        erpsEntities.Entry(msupplier).Property(x => x.Phone).IsModified      = true;
                        erpsEntities.Entry(msupplier).Property(x => x.Address).IsModified    = true;
                        erpsEntities.Entry(msupplier).Property(x => x.UpdateID).IsModified   = true;
                        erpsEntities.Entry(msupplier).Property(x => x.UpdateDate).IsModified = true;
                    }
                    ret = erpsEntities.SaveChanges();
                    tran.Commit();
                    addNum = addlist.Count;
                    updNum = updlist.Count;
                    if (ret > 0)
                    {
                        ret = 1;
                    }
                    return(ret);
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    ret = -1;
                    throw ex;
                }
            }
        }
예제 #6
0
        public IHttpActionResult Putsuser(int id, suser suser)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != suser.UserId)
            {
                return(BadRequest());
            }
            suser.UpdateDate = DateTime.Now;

            db.Entry(suser).State = EntityState.Modified;

            if (suser.Pass == null || suser.Pass.Trim() == "")
            {
                db.Entry(suser).Property("Pass").IsModified = false;
            }
            else
            {
                suser.Pass = ValidCodeUtils.EncryptPassword(suser.Pass);
            }

            try
            {
                db.SaveChanges();
            }
            catch (Exception)
            {
                if (suserExists(suser.UID))
                {
                    return(new PageResult("Conflict", Request));
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #7
0
        public int ImportMProductList(List <mproduct> lstpdt, out int addNum, out int updNum, out int cfNum)
        {
            int ret = 0;

            using (var tran = erpsEntities.Database.BeginTransaction())
            {
                try
                {
                    addNum = 0;
                    updNum = 0;
                    cfNum  = 0;
                    cfNum  = lstpdt.GroupBy(x => x.PdtID).Where(x => x.Count() > 1).Count();

                    //去除重复的ID数据
                    lstpdt = lstpdt.Where((x, i) => lstpdt.FindIndex(n => n.PdtID == x.PdtID) == i).ToList();

                    var all   = erpsEntities.mproduct.AsNoTracking().ToList();
                    var allID = all.Select(s => s.PdtID).ToList();
                    //新增
                    var addlist = lstpdt.Where(w => !allID.Contains(w.PdtID)).ToList();
                    erpsEntities.mproduct.AddRange(addlist);

                    //修改
                    var updlist = lstpdt.Where(w => allID.Contains(w.PdtID)).ToList();
                    for (int i = 0; i < updlist.Count; i++)
                    {
                        mproduct mproduct = new mproduct();
                        mproduct = updlist[i];
                        //var curState = erpsEntities.Entry<mproduct>(mproduct).State;
                        erpsEntities.mproduct.Attach(mproduct);

                        erpsEntities.Entry(mproduct).State = EntityState.Modified;
                        erpsEntities.Entry(mproduct).Property(x => x.SalPrice).IsModified   = false;
                        erpsEntities.Entry(mproduct).Property(x => x.MgrInfo).IsModified    = false;
                        erpsEntities.Entry(mproduct).Property(x => x.Remark).IsModified     = false;
                        erpsEntities.Entry(mproduct).Property(x => x.CreateID).IsModified   = false;
                        erpsEntities.Entry(mproduct).Property(x => x.CreateDate).IsModified = false;
                    }
                    ret = erpsEntities.SaveChanges();
                    tran.Commit();
                    addNum = addlist.Count;
                    updNum = updlist.Count;
                    if (ret > 0)
                    {
                        ret = 1;
                    }
                    return(ret);
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    ret = -1;
                    throw ex;
                }
            }
        }
예제 #8
0
        public BaseDataPackage <string> WholePurOrderWriteOff(string PurOrderNO)
        {
            var result = new BaseDataPackage <string>();

            try
            {
                erpsEntities db  = new erpsEntities();
                int          ret = 0;

                var purorder = db.tpurorder.Where(w => w.PurOrderNO == PurOrderNO).FirstOrDefault <tpurorder>();
                purorder.State = "F";

                var entitys = db.tpurorderdtl.Where(w => w.PurOrderNO == PurOrderNO);
                entitys.ToList().ForEach(item =>
                {
                    item.LftNum          = 0;
                    item.State           = "F";
                    db.Entry(item).State = System.Data.Entity.EntityState.Modified;
                });
                ret = db.SaveChanges();

                if (ret > 0)
                {
                    result.Status  = ApiStatusCode.OK;
                    result.Message = "冲销成功";
                    return(result);
                }
                else
                {
                    result.DataList = null;
                    result.Status   = ApiStatusCode.FAIL;
                    result.Message  = "冲销失败";
                    return(result);
                }
            }
            catch (Exception ex)
            {
                result.Status  = ApiStatusCode.EXCEPTION;
                result.Message = "发生异常=>" + ex.Message;
                return(result);
            }
        }
예제 #9
0
        public BaseDataPackage <string> EditSupplierProdPrice(string id, msupplierprodprice msupplier)
        {
            var          result = new BaseDataPackage <string>();
            erpsEntities db     = new erpsEntities();

            msupplier.UpdateDate      = DateTime.Now;
            db.Entry(msupplier).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
                result.Status  = ApiStatusCode.OK;
                result.Message = "修改成功";
                return(result);
            }
            catch (Exception ex)
            {
                result.Message = "发生异常=>" + ex.Message;
                result.Status  = ApiStatusCode.EXCEPTION;
                return(result);
            }
        }
예제 #10
0
        public int EditPurOrderDtl(string purOrderNo, List <tpurorderdtl> tpurodrdtl, List <tpurorderatt> tpurodratt)
        {
            int ret = 0;

            using (var tran = erpsEntities.Database.BeginTransaction())
            {
                try
                {
                    var vm = erpsEntities.tpurorderdtl.Where(m => m.PurOrderNO == purOrderNo);
                    vm.ToList().ForEach(t => erpsEntities.Entry(t).State = EntityState.Deleted);
                    erpsEntities.tpurorderdtl.RemoveRange(vm);

                    erpsEntities.tpurorderdtl.AddRange(tpurodrdtl);
                    erpsEntities.tpurorderatt.AddRange(tpurodratt);

                    ret = erpsEntities.SaveChanges();
                    tran.Commit();
                    if (ret > 0)
                    {
                        ret = 1;
                    }
                    return(ret);
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    ret = -1;
                    throw ex;
                }
            }
        }
예제 #11
0
파일: SaleForcast.cs 프로젝트: zzxcdh/ERPS
        public int AddSaleOrderDtl(tsaleorder tsaleorder, List <tsaleorderdtl> tsaleorderdtls, List <tsaleorderatt> tsaleorderatts)
        {
            int ret = 0;

            using (var tran = erpsEntities.Database.BeginTransaction())
            {
                try
                {
                    erpsEntities.tsaleorder.Add(tsaleorder);
                    erpsEntities.tsaleorderdtl.AddRange(tsaleorderdtls);
                    erpsEntities.tsaleorderatt.AddRange(tsaleorderatts);
                    if (!string.IsNullOrEmpty(tsaleorderdtls[0].SaleFocaNO))
                    {
                        //冲销对应销售预测信息
                        var newOrderDtl = (tsaleorderdtls.GroupBy(g => new { g.SeqNo, g.PdtID })
                                           .Select(s => new
                        {
                            SaleFocaNO = s.Max(m => m.SaleFocaNO),
                            SeqNo = s.Max(m => m.SeqNo),
                            CusID = s.Max(m => m.CusID),
                            PdtID = s.Max(m => m.PdtID),
                            OrderNum = s.Sum(m => m.OrderNum)
                        })).ToList();
                        bool isF = true;
                        for (int i = 0; i < newOrderDtl.Count; i++)
                        {
                            var SaleFocaNO = newOrderDtl[i].SaleFocaNO;
                            var SeqNo      = newOrderDtl[i].SeqNo;
                            var obj        = erpsEntities.tsaleforcastdtl
                                             .Where(w => w.SaleFocaNO == SaleFocaNO && w.SeqNo == SeqNo).FirstOrDefault();

                            erpsEntities.tsaleforcastdtl.Attach(obj);

                            var num = (obj.LftNum - newOrderDtl[i].OrderNum) < 0 ? 0 : obj.LftNum - newOrderDtl[i].OrderNum;
                            obj.LftNum = num;
                            if (num == 0)
                            {
                                obj.State = "F";
                                erpsEntities.Entry(obj).Property(xx => xx.State).IsModified = true;
                            }
                            else
                            {
                                isF = false;
                            }

                            erpsEntities.Entry(obj).Property(xx => xx.LftNum).IsModified = true;
                        }
                        if (isF)
                        {
                            var SaleFocaNO  = newOrderDtl[0].SaleFocaNO;
                            var saleforcast = erpsEntities.tsaleforcast
                                              .Where(w => w.SaleFocaNO == SaleFocaNO).FirstOrDefault();

                            erpsEntities.tsaleforcast.Attach(saleforcast);

                            saleforcast.State = "F";
                            erpsEntities.Entry(saleforcast).Property(xx => xx.State).IsModified = true;
                        }
                    }
                    ret = erpsEntities.SaveChanges();
                    tran.Commit();
                    if (ret > 0)
                    {
                        ret = 1;
                    }
                    return(ret);
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    ret = -1;
                    throw ex;
                }
            }
        }