public bool Save(SRStatusEntity model, out string msg) { msg = string.Empty; bool succ = false; var da = new SrStatusDataAccess(_context); succ = da.SaveStatus(model, ref msg); return(succ); }
private bool chkDuplicate(SRStatusEntity model, ref string msg) { msg = string.Empty; var x = from a in _context.TB_C_SR_STATUS.AsNoTracking() join b in _context.TB_C_SR_PAGE_STATUS on a.SR_STATUS_ID equals b.SR_STATUS_ID where (model.SRStatusId <= 0 || a.SR_STATUS_ID != model.SRStatusId) && a.SR_STATUS_CODE == model.SRStatusCode && a.SR_STATUS_NAME == model.SRStatusName select a; if (x.Any()) { msg += $"Duplicate SR Status: Code [{model.SRStatusCode}] Name [{model.SRStatusName}]."; } return(msg == string.Empty); }
private SRStatusViewModel loadDataToViewModel(SRStatusEntity st) { SRStatusViewModel model = new SRStatusViewModel(); model.SRStatusId = st.SRStatusId; model.SRStatusCode = st.SRStatusCode; model.SRStatusName = st.SRStatusName; model.SRStateId = st.SRStateId; model.SRState = st.SRState; model.Status = st.Status; model.SendHP = st.SendHP; model.SendRule = st.SendRule; model.CreateDate = st.CreateDate; model.CreateUser = st.CreateUser; model.UpdateDate = st.UpdateDate; model.UpdateUser = st.UpdateUser; return(model); }
public bool SaveStatus(SRStatusEntity model, ref string msg) { bool succ = chkDuplicate(model, ref msg); if (succ) { using (DbContextTransaction trans = _context.Database.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted)) { bool isEdit = false; DateTime now = DateTime.Now; TB_C_SR_STATUS st = null; succ = false; try { if (model.SRStatusId == 0) { st = new TB_C_SR_STATUS(); st.CREATE_DATE = now; st.CREATE_USER = model.CreateUser.UserId; } else { isEdit = true; st = _context.TB_C_SR_STATUS.Where(r => r.SR_STATUS_ID == model.SRStatusId).Single(); if (st == null) { msg = $"SR Status ID: {model.SRStatusId} does not exist in database."; trans.Rollback(); return(false); } } st.SR_STATUS_CODE = model.SRStatusCode; st.SR_STATUS_NAME = model.SRStatusName; st.SR_STATE_ID = model.SRStateId; st.STATUS = model.Status; st.SR_STATUS_SEND_TO_HP = model.SendHP; st.SR_STATUS_RULE = model.SendRule; st.UPDATE_DATE = now; st.UPDATE_USER = model.UpdateUser.UserId; if (!isEdit) { _context.TB_C_SR_STATUS.Add(st); } else { SetEntryStateModified(st); } Save(); #region ยกเลิก Page_Status ////Save Page Item //List<int> delList = null; //List<int> updList = null; //List<int> addList = null; //if (model.Old_SRPageIdList != null) //{ // delList = (from o in model.Old_SRPageIdList // join n in model.SRPageIdList on o equals n into grp // from d in grp.DefaultIfEmpty() // where d == 0 // select o).ToList(); // updList = (from o in model.Old_SRPageIdList // join n in model.SRPageIdList on o equals n // select o).ToList(); // addList = (from n in model.SRPageIdList // join o in model.Old_SRPageIdList on n equals o into grp // from a in grp.DefaultIfEmpty() // where a == 0 // select n).ToList(); //} //else //{ // delList = new List<int>() { }; // updList = new List<int>() { }; // addList = model.SRPageIdList.AsEnumerable().ToList(); //} //foreach (var del in delList) //{ // var d = _context.TB_C_SR_PAGE_STATUS.SingleOrDefault(x => x.SR_STATUS_ID == st.SR_STATUS_ID && x.SR_PAGE_ID == del); // if (d == null) // { // msg = $"Can not delete TB_C_SR_PAGE_STATUS ID [{del}] does not exist in database."; // trans.Rollback(); // return false; // } // _context.TB_C_SR_PAGE_STATUS.Remove(d); //} //foreach (var upd in updList) //{ // var u = _context.TB_C_SR_PAGE_STATUS.SingleOrDefault(x => x.SR_STATUS_ID == st.SR_STATUS_ID && x.SR_PAGE_ID == upd); // if (u == null) // { // msg = $"Can not update TB_C_SR_PAGE_STATUS ID [{upd}] does not exist in database."; // trans.Rollback(); // return false; // } // u.UPDATE_DATE = now; // u.UPDATE_USER = model.UpdateUser.UserId; // SetEntryStateModified(u); //} //foreach (var add in addList) //{ // var a = new TB_C_SR_PAGE_STATUS(); // a.CREATE_DATE = now; // a.CREATE_USER = model.CreateUser.UserId; // a.UPDATE_DATE = now; // a.UPDATE_USER = model.UpdateUser.UserId; // a.SR_STATUS_ID = st.SR_STATUS_ID; // a.SR_PAGE_ID = add; // _context.TB_C_SR_PAGE_STATUS.Add(a); //} //Save(); #endregion trans.Commit(); succ = true; } catch (Exception ex) { trans.Rollback(); msg = ex.ToString(); } } } return(succ); }