public bool SaveNewOrder(OrderHdr order, List <OrderDtl> items, NumberRunNO runNum, ref string msg) { bool success = false; using (var dbContextTransaction = this.Database.BeginTransaction()) { try { Entry(order).State = EntityState.Added; foreach (OrderDtl item in items) { Entry(item).State = EntityState.Added; } Entry(runNum).State = (runNum.isNewMode) ? EntityState.Added : EntityState.Modified; SaveChanges(true); dbContextTransaction.Commit(); success = true; } catch (Exception ex) { dbContextTransaction.Rollback(); Console.WriteLine(ex); msg = ex.Message; } } return(success); }
public string GenerateAutoNumberWithDate(String prefix, int year, int month) { string predelimeter = "/"; string result = ""; var runnum = db.NumberRunNOs.Where(x => x.NumCd == "SO" && x.Year == year && x.Month == month).FirstOrDefault(); if (runnum == null) { runnum = new NumberRunNO(); runnum.Created = DateTime.Now; runnum.Month = Convert.ToInt16(month); runnum.NumCd = "SO"; runnum.NumDes = "SALE ORDRER"; runnum.Prefix = "SO"; runnum.Seq = 1; runnum.TotLength = 7; runnum.Year = Convert.ToInt16(year); db.NumberRunNOs.InsertOnSubmit(runnum); } else { runnum.Seq = runnum.Seq + 1; } result = runnum.Prefix + year.ToString().Substring(2, 2) + month.ToString().PadLeft(2, '0') + predelimeter + runnum.Seq.ToString().PadLeft(Convert.ToInt32(runnum.TotLength), '0'); return(result); }