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)); }
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)); }
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)); }
public BaseDataPackage <string> DelSupplierProdPrice(List <DelThreePrimarykeys> data) { var result = new BaseDataPackage <string>(); erpsEntities db = new erpsEntities(); for (int i = 0; i < data.Count; i++) { var PdtID = data[i].Primary1.ToString(); var SupID = data[i].Primary2.ToString(); var Model = data[i].Primary3.ToString(); var list = db.msupplierprodprice.Where(c => c.PdtID == PdtID && c.SupID == SupID && c.Model == Model).FirstOrDefault(); db.msupplierprodprice.Remove(list); } try { db.SaveChanges(); result.Status = ApiStatusCode.OK; result.Message = "删除成功"; return(result); } catch (Exception ex) { result.Message = "发生异常=>" + ex.Message; result.Status = ApiStatusCode.EXCEPTION; return(result); } }
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; } } }
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; } } }
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)); }
/// <summary> /// 采购订单-新增 /// </summary> /// <param name="tpurorder"></param> /// <param name="tpurorderdtl"></param> /// <param name="tpurorderatt"></param> /// <returns></returns> public int AddPurOrderDtl(tpurorder tpurodr, List <tpurorderdtl> tpurodrdtl, List <tpurorderatt> tpurodratt) { int ret = 0; using (var tran = erpsEntities.Database.BeginTransaction()) { try { erpsEntities.tpurorder.Add(tpurodr); 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; } } }
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); } }
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); } }
public BaseDataPackage <string> AddSupplierProdPrice(msupplierprodprice msupplier) { var result = new BaseDataPackage <string>(); erpsEntities db = new erpsEntities(); if (!ModelState.IsValid) { result.Status = ApiStatusCode.FAIL; result.Message = "无效数据"; return(result); } msupplier.CreateDate = DateTime.Now; db.msupplierprodprice.Add(msupplier); try { db.SaveChanges(); result.Status = ApiStatusCode.OK; result.Message = "提交成功"; return(result); } catch (Exception ex) { if (db.msupplierprodprice.Count(e => e.SupID == msupplier.SupID && e.PdtID == msupplier.PdtID && e.Model == msupplier.Model) > 0) { result.Message = "发生异常=>" + "已存在该供应商编号+产品编号+车型组合"; } else { result.Message = "发生异常=>" + ex.Message; } result.Status = ApiStatusCode.EXCEPTION; return(result); } }
public IHttpActionResult PostInWar() { HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"]; HttpRequestBase request = context.Request; JavaScriptSerializer js = new JavaScriptSerializer(); string purOrderNO = request.Params["purOrderNO"]; string warId = request.Params["warId"]; string purchaseDate = request.Params["purchaseDate"]; List <Stockrecords> listStoc = js.Deserialize <List <Stockrecords> >(request.Params["purorderdtl"]); List <WarehouseReceipt> listWr = js.Deserialize <List <WarehouseReceipt> >(request.Params["purorderdtl"]); List <twhstockrecords> listTwh = new List <twhstockrecords>(); string no = ""; using (var tran = db.Database.BeginTransaction()) { try { int fNum = 0; no = purOrderNO + DateTime.Now.ToString("HHmmss"); for (int i = 0; i < listStoc.Count; i++) { int seqNo = listStoc[i].seqNo; string pdtId = listStoc[i].pdtID; float lftNum = listStoc[i].lftNum; string remark = listStoc[i].remark; twhstockrecords t = new twhstockrecords(); t.WHID = warId; t.AreaID = i.ToString(); t.PosiID = i.ToString(); t.PdtID = pdtId; t.Num = lftNum; t.RefWHID = i.ToString(); t.RefAreaID = i.ToString(); t.RefPosiID = i.ToString(); t.OpeType = "I"; t.PurOrderNO = purOrderNO; t.RefSeqNo = seqNo; t.No = no; var dateNow = DateTime.Now; t.CreateDate = dateNow; t.UpdateDate = dateNow; if (!string.IsNullOrEmpty(purchaseDate)) { DateTime date = Convert.ToDateTime(purchaseDate); var tmp0 = date.ToString("yyyy-MM-dd"); var tmp1 = dateNow.ToLongTimeString().ToString(); purchaseDate = tmp0 + " " + tmp1; date = Convert.ToDateTime(purchaseDate); t.UpdateDate = date; } t.Remark = remark; listTwh.Add(t); var purorderdtl = db.tpurorderdtl .Where(p => p.PurOrderNO == purOrderNO && p.PdtID == pdtId && p.SeqNo == seqNo).FirstOrDefault(); if (purorderdtl.LftNum > 0) { float num = (float)purorderdtl.LftNum - lftNum; float delNum = (float)purorderdtl.OrderNum - num; db.tpurorderdtl.Where(p => p.PurOrderNO == purOrderNO && p.PdtID == pdtId && p.SeqNo == seqNo) .Update(p => new tpurorderdtl { LftNum = num, DelNum = delNum, UpdateDate = DateTime.Now }); if (num == 0) { purorderdtl.State = "F"; } else { fNum++; } } } var repeat = listStoc.GroupBy(s => s.pdtID).Select(s => new { pdtID = s.Key, lftNum = s.Sum(a => a.lftNum) }); foreach (var r in repeat) { if (twhinventoryExists(warId, r.pdtID)) { //var repeatUpdate = listStoc.GroupBy(s => s.pdtID).Select(s => new //{ // pdtID = s.Key, // lftNum = s.Sum(a => a.lftNum) //}).Where(s => s.pdtID == r.pdtID).FirstOrDefault(); //float lftNum = repeatUpdate.lftNum; var inventory = db.twhinventory.Where(inv => inv.WHID == warId && inv.PdtID == r.pdtID).FirstOrDefault(); float total = (float)inventory.InvNum + r.lftNum; db.twhinventory.Where(inv => inv.WHID == warId && inv.PdtID == r.pdtID) .Update(inv => new twhinventory() { InvNum = total, UpdateDate = DateTime.Now }); } else { //var query = listStoc.GroupBy(x => x.pdtID).Where(g => g.Count() > 1 && g.Key == pdtId).Select(y => y.Key).ToList(); //if (query.Count > 0) lftNum = 0; //var repeatAdd = listStoc.GroupBy(s => s.pdtID).Select(s => new //{ // pdtID = s.Key, // lftNum = s.Sum(a => a.lftNum) //}).Where(s => s.pdtID == r.pdtID).FirstOrDefault(); //float lftNum = repeatAdd.lftNum; twhinventory inv = new twhinventory(); inv.WHID = warId; inv.AreaID = "0"; inv.PosiID = "0"; inv.PdtID = r.pdtID; inv.InvNum = r.lftNum; inv.UpdateDate = DateTime.Now; db.twhinventory.Add(inv); } } //部分入库时fNum也会是0,这种情况下用fNum判断会有问题 //if (fNum == 0) //{ // db.tpurorder.Where(p => p.PurOrderNO == purOrderNO) // .Update(p => new tpurorder() { State = "F", UpdateDate = DateTime.Now }); //} //全部入库完成后才修改单头状态为F db.SaveChanges(); var isNotFinish = db.tpurorderdtl.AsNoTracking().Any(w => w.PurOrderNO == purOrderNO && (w.State == "N" || w.State == null)); if (!isNotFinish) { db.tpurorder.Where(s => s.PurOrderNO == purOrderNO) .Update(p => new tpurorder() { State = "F", UpdateDate = DateTime.Now }); } db.twhstockrecords.AddRange(listTwh); db.SaveChanges(); tran.Commit(); excelHelper.SaveInWarInfo(purOrderNO, warId, purchaseDate, listWr, no); } catch (Exception ex) { tran.Rollback(); return(new PageResult(ex.ToString(), Request)); } } return(Content <string>(HttpStatusCode.OK, "OK")); }
public IHttpActionResult Posttwhcheckrecords() { 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"]); List <twhstockrecords> listStock = new List <twhstockrecords>(); using (var tran = db.Database.BeginTransaction()) { try { if (twhcheckrecordsExists(chkNO)) { db.twhcheckrecords.Where(c => c.ChkNO == chkNO) .Update(c => new twhcheckrecords { ChkStatus = "F", UpdateID = updateId, Remark = remark, UpdateDate = DateTime.Now }); } else { twhcheckrecords t = new twhcheckrecords(); t.ChkNO = chkNO; t.WHID = warId; t.ChkDate = DateTime.Parse(chkDate); t.Remark = remark; t.ChkStatus = "F"; t.AreaID = "1"; t.PosiID = "1"; t.UpdateID = updateId; t.UpdateDate = DateTime.Parse(chkDate); db.twhcheckrecords.Add(t); } for (int i = 0; i < listTwhDtl.Count; i++) { string ChkNO = listTwhDtl[i].ChkNO = chkNO; string PdtID = listTwhDtl[i].PdtID; float InvNum = listTwhDtl[i].InvNum; float RealNum = listTwhDtl[i].RealNum; float DifNum = listTwhDtl[i].DifNum; twhstockrecords stockrecords = new twhstockrecords(); stockrecords.WHID = warId; stockrecords.AreaID = "1"; stockrecords.PosiID = "1"; stockrecords.PdtID = listTwhDtl[i].PdtID; stockrecords.RefWHID = warId; stockrecords.RefAreaID = "1"; stockrecords.RefPosiID = "1"; stockrecords.UpdateID = updateId; var date = DateTime.Now; stockrecords.UpdateDate = date; stockrecords.CreateDate = date; //调整库存前先锁住行 //string sqlQuery = "select * from twhinventory where whid ='" + warId + "' and pdtid='" + PdtID + "' for update"; //var inventory = db.twhinventory.SqlQuery(sqlQuery).FirstOrDefault(); var inventory = db.twhinventory.Where(inv => inv.WHID == warId && inv.PdtID == PdtID).FirstOrDefault(); float invNum = (float)inventory.InvNum; if (listTwhDtl[i].DifNum == 0) { break; } if (listTwhDtl[i].DifNum > 0) { stockrecords.Num = listTwhDtl[i].DifNum; stockrecords.OpeType = "Y"; db.twhinventory.Where(inv => inv.WHID == warId && inv.PdtID == PdtID) .Update(inv => new twhinventory { InvNum = RealNum }); } else { stockrecords.Num = Math.Abs(listTwhDtl[i].DifNum); stockrecords.OpeType = "K"; db.twhinventory.Where(inv => inv.WHID == warId && inv.PdtID == PdtID) .Update(inv => new twhinventory { InvNum = RealNum }); } if (twhcheckrecorddtlExists(ChkNO, PdtID)) { db.twhcheckrecorddtl.Where(c => c.ChkNO == ChkNO && c.PdtID == PdtID) .Update(c => new twhcheckrecorddtl { InvNum = InvNum, RealNum = RealNum, DifNum = DifNum, UpdateID = updateId, UpdateDate = DateTime.Now, AdjStatus = "F" }); } else { twhcheckrecorddtl tw = new twhcheckrecorddtl(); listTwhDtl[i].ChkNO = chkNO; listTwhDtl[i].AdjStatus = "F"; listTwhDtl[i].UpdateID = updateId; tw = listTwhDtl[i]; db.twhcheckrecorddtl.Add(tw); } listStock.Add(stockrecords); } db.twhstockrecords.AddRange(listStock); db.SaveChanges(); tran.Commit(); } catch (Exception ex) { tran.Rollback(); return(new PageResult("error", Request)); } } return(Content <string>(HttpStatusCode.OK, "OK")); }
public BaseDataPackage <string> SelPurOrderDtlWriteOff() { var result = new BaseDataPackage <string>(); try { HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"]; //获取传统context HttpRequestBase request = context.Request; //定义传统request对象 JavaScriptSerializer js = new JavaScriptSerializer(); List <SterilizationSel> list = js.Deserialize <List <SterilizationSel> >(request.Params["List"]); erpsEntities db = new erpsEntities(); db.Database.Log = (log) => { System.Diagnostics.Debug.WriteLine(log); }; int ret = 0; //for (int i = 0; i < list.Count; i++) //{ // string PurOrderNO = list[i].saleFocaNO; // int SeqNo = list[i].seqNo; // float LftNum = list[i].lftNum; // var entitys = db.tpurorderdtl.Where(w => w.PurOrderNO == PurOrderNO && w.SeqNo == SeqNo); // entitys.ToList().ForEach(item => // { // item.LftNum = LftNum; // item.State = "F"; // db.Entry(item).State = System.Data.Entity.EntityState.Modified; // }); //} string PurOrderNO2 = list.Count > 0? list[0].saleFocaNO:""; //var unFunishOrderDtls = db.tpurorderdtl.Where(w => w.PurOrderNO == PurOrderNO2 && (!w.State.Equals("F") || w.State == null)).ToList<tpurorderdtl>(); int fNum = 0; //所有已经冲销的明细数量 var unFunishOrderDtls = db.tpurorderdtl.Where(w => w.PurOrderNO == PurOrderNO2).ToList <tpurorderdtl>(); for (int i = 0; i < unFunishOrderDtls.Count; i++) { if (unFunishOrderDtls[i].State == "F") { fNum++; } else { for (int j = 0; j < list.Count; j++) { if (unFunishOrderDtls[i].PurOrderNO == list[j].saleFocaNO && unFunishOrderDtls[i].SeqNo == list[j].seqNo) { unFunishOrderDtls[i].LftNum = list[j].lftNum; unFunishOrderDtls[i].State = "F"; fNum++; } } } } //如果所有明细的状态都是"F"完成,把整体订单的状态都改成完成 if (fNum == unFunishOrderDtls.Count) { var purOrder = db.tpurorder.Where(w => w.PurOrderNO == PurOrderNO2).FirstOrDefault <tpurorder>(); purOrder.State = "F"; } 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); } }
/// <summary> /// 销售预测-新增 /// </summary> /// <param name="tsaleforcast"></param> /// <param name="tsaleforcastdtls"></param> /// <param name="tsaleforcastatts"></param> /// <returns></returns> public int AddSaleForcastDtl(tsaleforcast tsaleforcast, List <tsaleforcastdtl> tsaleforcastdtls, List <tsaleforcastatt> tsaleforcastatts) { int ret = 0; using (var tran = erpsEntities.Database.BeginTransaction()) { try { erpsEntities.tsaleforcast.Add(tsaleforcast); erpsEntities.tsaleforcastdtl.AddRange(tsaleforcastdtls); erpsEntities.tsaleforcastatt.AddRange(tsaleforcastatts); ret = erpsEntities.SaveChanges(); tran.Commit(); if (ret > 0) { ret = 1; } return(ret); } catch (Exception ex) { tran.Rollback(); ret = -1; throw ex; } } }
public void SaveInWarInfo(string purOrderNO, string warId, string purchaseDate, List <WarehouseReceipt> listWr, string no) { List <inwarrecord> inwarrecords = new List <inwarrecord>(); List <inwarrecorddtl> inwarrecorddtls = new List <inwarrecorddtl>(); using (var tran = db.Database.BeginTransaction()) { try { #region 获取详细信息 var list = from c in db.twhstockrecords join p in db.mproduct on c.PdtID equals p.PdtID into pp from p in pp.DefaultIfEmpty() join o in db.tpurorderdtl on new { c.PurOrderNO, c.PdtID } equals new { o.PurOrderNO, o.PdtID } into oo from o in oo.DefaultIfEmpty() join s in db.msupplier on o.SupID equals s.SupID into ss from s in ss.DefaultIfEmpty() join w in db.mwarehouse on c.WHID equals w.WHID into ww from w in ww.DefaultIfEmpty() let p1 = new { supID = s.SupID, supName = s.SupName, phone = s.Phone, contact = s.Contact, whName = w.WHName, purPrice = p.PurPrice, total = c.Num * p.PurPrice, updateID = c.UpdateID, updateDate = c.UpdateDate } where c.OpeType == "I" && c.PurOrderNO == purOrderNO && c.WHID == warId select p1; var stockrecord = list.OrderByDescending(u => u.updateDate).FirstOrDefault(); #endregion int i = 1; inwarrecord record = new inwarrecord(); record.InWarNo = no; record.PurOrderNO = purOrderNO; record.SupID = stockrecord.supID == null ? "" : stockrecord.supID; record.SupName = stockrecord.supName == null ? "" : stockrecord.supName; record.InWarDate = stockrecord.updateDate; record.Contact = stockrecord.contact == null ? "" : stockrecord.contact; record.Phone = stockrecord.phone == null ? "" : stockrecord.phone; record.UpdateName = stockrecord.updateID == null ? "" : stockrecord.updateID; record.WHName = stockrecord.whName == null ? "" : stockrecord.whName; inwarrecords.Add(record); foreach (var entity in listWr) { inwarrecorddtl inwarrecorddtl = new inwarrecorddtl(); inwarrecorddtl.InWarNo = no; inwarrecorddtl.PdtType = entity.pdtType; inwarrecorddtl.PdtID = entity.pdtID; inwarrecorddtl.SeqNo = i; inwarrecorddtl.Spec = entity.spec; inwarrecorddtl.MakeIn = entity.makeIn; inwarrecorddtl.Unit = entity.unit; inwarrecorddtl.PurPrice = entity.purPrice; inwarrecorddtl.Num = entity.num; inwarrecorddtls.Add(inwarrecorddtl); i++; } db.inwarrecord.AddRange(inwarrecords); db.inwarrecorddtl.AddRange(inwarrecorddtls); db.SaveChanges(); tran.Commit(); } catch (Exception ex) { tran.Rollback(); throw ex; } } }