public HOADONTT AddHOADONTT(HOADONTT_ViewModel model) { using (var db = new RestaurantManagerDataEntities()) { using (var trans = db.Database.BeginTransaction()) { try { var check = db.HOADONTTs.FirstOrDefault(x => x.idhoadontt == model.idhoadontt); if (check == null) { var HOADONTT = new HOADONTT { iddondat = model.iddondat, ngayhd = model.ngayhd, thoigian = DateTime.Now, thungan = model.CreateBy, idkh = model.idkh, CreateBy = model.CreateBy, CreateDate = DateTime.Now, }; var result = db.HOADONTTs.Add(HOADONTT); db.SaveChanges(); foreach (D_HOADONTT_ViewModel item in model.D_HOADONTT) { var D_HOADONTT = new D_HOADONTT { idhoadontt = HOADONTT.idhoadontt, idmon = item.idmon, slban = item.slban, dongiaban = item.dongiaban, CreateBy = model.CreateBy, CreateDate = DateTime.Now, }; db.D_HOADONTT.Add(D_HOADONTT); } db.SaveChanges(); trans.Commit(); return(result); } } catch { trans.Rollback(); return(null); } return(null); } } }
public string SaveDONDATDA(DONDATDA_ViewModel model, ref string mess, ref int idhoadontt) { using (var db = new RestaurantManagerDataEntities()) { using (var trans = db.Database.BeginTransaction()) { try { var check = db.DONDATDAs.FirstOrDefault(x => x.iddondat == model.iddondat); if (check == null) { var DONDATDA = new DONDATDA { ngaydat = model.ngaydat, ban = model.ban, idkh = model.idkh, CreateBy = model.CreateBy, CreateDate = DateTime.Now, }; var result = db.DONDATDAs.Add(DONDATDA); db.SaveChanges(); foreach (D_DONDATDA_ViewModel item in model.D_DONDATDA) { var D_DONDATDA = new D_DONDATDA { iddondat = DONDATDA.iddondat, idmon = item.idmon, sldat = item.sldat, CreateBy = model.CreateBy, CreateDate = DateTime.Now, }; db.D_DONDATDA.Add(D_DONDATDA); } db.SaveChanges(); // var modelHOADONTT = new HOADONTT { iddondat = result.iddondat, ngayhd = model.ngaydat.Value, thoigian = DateTime.Now, thungan = model.CreateBy, idkh = model.idkh, CreateBy = model.CreateBy, CreateDate = DateTime.Now, }; var resultHOADONTT = db.HOADONTTs.Add(modelHOADONTT); db.SaveChanges(); foreach (D_DONDATDA_ViewModel item in model.D_DONDATDA) { var D_HOADONTT = new D_HOADONTT { idhoadontt = resultHOADONTT.idhoadontt, idmon = item.idmon, slban = item.sldat, dongiaban = item.dongiamon, CreateBy = model.CreateBy, CreateDate = DateTime.Now, }; db.D_HOADONTT.Add(D_HOADONTT); } db.SaveChanges(); //trừ nguyên liệu món ăn đi foreach (D_DONDATDA_ViewModel item in model.D_DONDATDA) { var conthuc = db.CONGTHUCs.AsNoTracking().Where(x => x.idmon == item.idmon).ToList(); foreach (var iNlieu in conthuc) { var nlieu = db.NLIEUx.FirstOrDefault(x => x.idhang == iNlieu.idhang); if (nlieu != null) { var slton = nlieu.slton.Value; int.TryParse(iNlieu.hamluong, out int hamluong); if (slton < hamluong * item.sldat) { var monan = db.MONANs.AsNoTracking().FirstOrDefault(x => x.idmon == item.idmon); mess = "warning"; return(String.Format("Món {0} đã hết nguyên liệu {1}!", monan.temon, nlieu.tenhang)); } slton -= hamluong * item.sldat; nlieu.slton = slton; } } } db.SaveChanges(); if (resultHOADONTT != null) { trans.Commit(); mess = "success"; idhoadontt = resultHOADONTT.idhoadontt; return("Thanh toán thành công!"); } mess = "error"; idhoadontt = 0; return("Thanh toán không thành công!"); } else { check.ngaydat = model.ngaydat; check.ban = model.ban; check.idkh = model.idkh; check.ModifyBy = model.ModifyBy; check.ModifyDate = DateTime.Now; db.SaveChanges(); mess = "success"; idhoadontt = 0; return("Cập nhật món ăn thành công!"); } } catch (Exception ex) { trans.Rollback(); mess = "error"; idhoadontt = 0; return(ex.Message); } } } }