// GET: CSJOBSTs/Create public ActionResult Create(string id, int row) { string sid = MyHtmlHelpers.ConvertByteStrToId(id); CSJOBST lastRec = db.CSJOBSTs.Where(x => x.JOBNO == sid && x.CASENO == row).OrderByDescending(x => x.INIDX).FirstOrDefault(); CSJOBST cSJOBST = new CSJOBST(); cSJOBST.JOBNO = sid; cSJOBST.CASENO = row; if (lastRec == null) { cSJOBST.STAGEFR = "New"; } else { cSJOBST.STAGEFR = lastRec.STAGETO; } cSJOBST.INDATE = DateTime.Today; cSJOBST.INTIME = DateTime.Now.ToString("HH:mm:ss"); cSJOBST.STAMP = 0; ViewBag.SENDMODE = GetSendModeList(); ViewBag.STAGETO = new SelectList(db.CSSTGs.OrderBy(x => x.STAGESEQ), "STAGE", "STAGE"); ViewBag.Title = "Create Job Case Status "; return(View("Edit", cSJOBST)); }
// GET: CSJOBSTs/Delete/5 public ActionResult Delete(string id, int row, DateTime indate, string intime) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CSJOBST cSJOBST = db.CSJOBSTs.Find(MyHtmlHelpers.ConvertByteStrToId(id), row, indate, intime); if (cSJOBST == null) { return(HttpNotFound()); } ViewBag.SENDMODE = GetSendModeList(); ViewBag.STAGETO = new SelectList(db.CSSTGs.OrderBy(x => x.STAGESEQ), "STAGE", "STAGE"); ViewBag.Title = "Delete Job Case Status "; return(View("Edit", cSJOBST)); }
public ActionResult DeleteConfirmed(string id, int row, DateTime indate, string intime) { CSJOBST cSJOBST = db.CSJOBSTs.Find(MyHtmlHelpers.ConvertByteStrToId(id), row, indate, intime); var histRec = db.CSJOBSTs.Where(x => x.JOBNO == cSJOBST.JOBNO && x.CASENO == cSJOBST.CASENO).OrderByDescending(x => x.INIDX); if (histRec.Count() == 1) { ModelState.AddModelError(String.Empty, "Cannot Remove system generated record"); } CSJOBST lastRec = db.CSJOBSTs.Where(x => x.JOBNO == cSJOBST.JOBNO && x.CASENO == cSJOBST.CASENO).OrderByDescending(x => x.INIDX).FirstOrDefault(); if (lastRec.INIDX != cSJOBST.INIDX) { ModelState.AddModelError(String.Empty, "Only the latest record can be modified"); } if (ModelState.IsValid) { try { db.CSJOBSTs.Remove(cSJOBST); // Change CSJOBD to previous state before delete foreach (CSJOBST item in histRec) { if (item.INIDX != lastRec.INIDX) { lastRec = item; break; } // get the previous record before last record } CSJOBD cSJOBD = db.CSJOBDs.Find(cSJOBST.JOBNO, cSJOBST.CASENO); cSJOBD.STAGE = lastRec.STAGETO; cSJOBD.STAGEDATE = lastRec.INDATE; cSJOBD.STAGETIME = lastRec.INTIME; cSJOBD.STAMP = cSJOBD.STAMP + 1; db.SaveChanges(); return(RedirectToAction("Edit", "CSJOBDs", new { id = MyHtmlHelpers.ConvertIdToByteStr(cSJOBST.JOBNO), row = cSJOBST.CASENO, rel = 1 })); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { //string message = string.Format("{0}:{1}", // validationErrors.Entry.Entity.ToString(), // validationError.ErrorMessage); // raise a new exception nesting // the current instance as InnerException ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage); } } } catch (DbUpdateException ex) { UpdateException updateException = (UpdateException)ex.InnerException; if (updateException != null) { if (updateException.InnerException != null) { var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException; foreach (var error in sqlException.Errors) { if (error.Message != null) { ModelState.AddModelError(string.Empty, error.Message); } } } else { ModelState.AddModelError(string.Empty, updateException.Message); } } else { ModelState.AddModelError(string.Empty, updateException.Message); } } } ViewBag.SENDMODE = GetSendModeList(); ViewBag.STAGETO = new SelectList(db.CSSTGs.OrderBy(x => x.STAGESEQ), "STAGE", "STAGE"); ViewBag.Title = "Delete Job Case Status "; return(View("Edit", cSJOBST)); }
public ActionResult Edit([Bind(Include = "JOBNO,CASENO,STAGEFR,STAGETO,INDATE,INTIME,OUTDATE,SENDMODE,REM,INIDX,STAMP")] CSJOBST cSJOBST) { CSJOBST lastRec = db.CSJOBSTs.Where(x => x.JOBNO == cSJOBST.JOBNO && x.CASENO == cSJOBST.CASENO).OrderByDescending(x => x.INIDX).FirstOrDefault(); if (lastRec.INIDX != cSJOBST.INIDX) { ModelState.AddModelError(String.Empty, "Only the latest record can be modified"); } if (ModelState.IsValid) { try { //Remove original record --> the way the index is designed make it necessary to remove the record and recreate CSJOBST recDel = db.CSJOBSTs.Find(cSJOBST.JOBNO, cSJOBST.CASENO, cSJOBST.INDATE, cSJOBST.INTIME); db.CSJOBSTs.Remove(recDel); cSJOBST.STAMP = cSJOBST.STAMP + 1; db.CSJOBSTs.Add(cSJOBST); CSJOBD cSJOBD = db.CSJOBDs.Find(cSJOBST.JOBNO, cSJOBST.CASENO); cSJOBD.STAGE = cSJOBST.STAGETO; cSJOBD.STAGEDATE = cSJOBST.INDATE; cSJOBD.STAGETIME = cSJOBST.INTIME; cSJOBD.STAMP = cSJOBD.STAMP + 1; db.Entry(cSJOBD).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Edit", "CSJOBDs", new { id = MyHtmlHelpers.ConvertIdToByteStr(cSJOBST.JOBNO), row = cSJOBST.CASENO, rel = 1 })); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { //string message = string.Format("{0}:{1}", // validationErrors.Entry.Entity.ToString(), // validationError.ErrorMessage); // raise a new exception nesting // the current instance as InnerException ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage); } } } catch (DbUpdateException ex) { UpdateException updateException = (UpdateException)ex.InnerException; if (updateException != null) { if (updateException.InnerException != null) { var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException; foreach (var error in sqlException.Errors) { if (error.Message != null) { ModelState.AddModelError(string.Empty, error.Message); } } } else { ModelState.AddModelError(string.Empty, updateException.Message); } } else { ModelState.AddModelError(string.Empty, updateException.Message); } } catch (Exception e) { ModelState.AddModelError(string.Empty, e.Message); } } ViewBag.SENDMODE = GetSendModeList(); ViewBag.STAGETO = new SelectList(db.CSSTGs.OrderBy(x => x.STAGESEQ), "STAGE", "STAGE"); ViewBag.Title = "Edit Job Case Status "; return(View("Edit", cSJOBST)); }
public ActionResult Create([Bind(Include = "JOBNO,CASENO,STAGEFR,STAGETO,INDATE,INTIME,OUTDATE,SENDMODE,REM,INIDX,STAMP")] CSJOBST cSJOBST) { if (ModelState.IsValid) { CSJOBD cSJOBD = db.CSJOBDs.Find(cSJOBST.JOBNO, cSJOBST.CASENO); cSJOBD.STAGE = cSJOBST.STAGETO; cSJOBD.STAGEDATE = cSJOBST.INDATE; cSJOBD.STAGETIME = cSJOBST.INTIME; cSJOBD.STAMP = cSJOBD.STAMP + 1; CSJOBST lastRec = db.CSJOBSTs.Where(x => x.JOBNO == cSJOBST.JOBNO && x.CASENO == cSJOBST.CASENO).OrderByDescending(x => x.INIDX).FirstOrDefault(); if (lastRec == null) { cSJOBST.STAGEFR = "New"; } else { cSJOBST.STAGEFR = lastRec.STAGETO; lastRec.OUTDATE = cSJOBST.INDATE; } cSJOBST.STAMP = 0; cSJOBST.INIDX = cSJOBST.INDATE.ToString("yyyy/MM/dd") + " " + cSJOBST.INTIME; try { db.CSJOBSTs.Add(cSJOBST); db.Entry(cSJOBD).State = EntityState.Modified; if (lastRec != null) { db.Entry(lastRec).State = EntityState.Modified; } db.SaveChanges(); return(RedirectToAction("Edit", "CSJOBDs", new { id = MyHtmlHelpers.ConvertIdToByteStr(cSJOBST.JOBNO), row = cSJOBST.CASENO, rel = 1 })); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { //string message = string.Format("{0}:{1}", // validationErrors.Entry.Entity.ToString(), // validationError.ErrorMessage); // raise a new exception nesting // the current instance as InnerException ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage); } } } catch (DbUpdateException ex) { UpdateException updateException = (UpdateException)ex.InnerException; if (updateException != null) { if (updateException.InnerException != null) { var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException; foreach (var error in sqlException.Errors) { if (error.Message != null) { ModelState.AddModelError(string.Empty, error.Message); } } } else { ModelState.AddModelError(string.Empty, updateException.Message); } } else { ModelState.AddModelError(string.Empty, updateException.Message); } } } ViewBag.STAGETO = new SelectList(db.CSSTGs.OrderBy(x => x.STAGESEQ), "STAGE", "STAGE"); ViewBag.Title = "Edit Job Case Status "; return(View("Edit", cSJOBST)); }
public ActionResult PostConfirmed(string id) { CSJOBM cSJOBM = db.CSJOBMs.Find(MyHtmlHelpers.ConvertByteStrToId(id)); // Make sure do not remove posted jobs if ((cSJOBM.JOBPOST == "Y") || (cSJOBM.CSJOBDs.Count() == 0) || (cSJOBM.COMPLETE == "Y")) { ModelState.AddModelError(string.Empty, "Cannot repost or post incomplete or completed Jobs"); } else { try { // Remove all details cSJOBM.JOBPOST = "Y"; cSJOBM.STAMP = cSJOBM.STAMP + 1; var lastRec = db.CSJOBSTFs.Where(x => x.JOBNO == cSJOBM.JOBNO).OrderByDescending(y => y.ROWNO).FirstOrDefault(); // Update CSJOBSTF CSJOBSTF cSJOBSTF = new CSJOBSTF(); cSJOBSTF.JOBNO = cSJOBM.JOBNO; cSJOBSTF.SDATE = DateTime.Today; cSJOBSTF.EDATE = new DateTime(3000, 1, 1); cSJOBSTF.STAFFCODE = cSJOBM.JOBSTAFF; cSJOBSTF.STAMP = 0; if (lastRec == null) { cSJOBSTF.ROWNO = 1; } else { cSJOBSTF.ROWNO = lastRec.ROWNO + 1; } db.CSJOBSTFs.Add(cSJOBSTF); // Update CSJOBD foreach (CSJOBD item in cSJOBM.CSJOBDs) { // Update CSJOBST CSJOBST cSJOBST = new CSJOBST(); cSJOBST.JOBNO = item.JOBNO; cSJOBST.CASENO = item.CASENO; cSJOBST.STAMP = 0; cSJOBST.STAGEFR = "Pending"; cSJOBST.STAGETO = "New"; cSJOBST.INDATE = DateTime.Today; cSJOBST.INTIME = DateTime.Now.ToString("HH:mm:ss"); cSJOBST.OUTDATE = new DateTime(3000, 1, 1); cSJOBST.INIDX = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); db.CSJOBSTs.Add(cSJOBST); item.STAGE = "New"; item.STAGEDATE = DateTime.Today; item.STAGETIME = cSJOBST.INTIME; item.STAMP = item.STAMP + 1; db.Entry(item).State = EntityState.Modified; } db.SaveChanges(); int page = (int)Session["CSJOBMPage"]; return(RedirectToAction("Index", new { page = page })); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { //string message = string.Format("{0}:{1}", // validationErrors.Entry.Entity.ToString(), // validationError.ErrorMessage); // raise a new exception nesting // the current instance as InnerException ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage); } } } catch (DbUpdateException ex) { UpdateException updateException = (UpdateException)ex.InnerException; if (updateException != null) { if (updateException.InnerException != null) { var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException; foreach (var error in sqlException.Errors) { if (error.Message != null) { ModelState.AddModelError(string.Empty, error.Message); } } } else { ModelState.AddModelError(string.Empty, updateException.Message); } } else { ModelState.AddModelError(string.Empty, updateException.Message); } } catch (Exception e) { ModelState.AddModelError(string.Empty, e.Message); } } ViewBag.CONO = new SelectList(db.CSCOMSTRs.Select(x => new { CONO = x.CONO, CONAME = x.CONAME + " (" + x.CONO + ")" }).OrderBy(y => y.CONAME), "CONO", "CONAME", cSJOBM.CONO); ViewBag.JOBSTAFF = new SelectList(db.HKSTAFFs, "STAFFCODE", "STAFFDESC", cSJOBM.JOBSTAFF); ViewBag.Title = "Post Job Taking "; return(View("Edit", cSJOBM)); }