public IActionResult Edit(int?id) { if (id == null) { return(NotFound()); } HiringAffiliateFaculty editCase = _context.HiringAffiliateFaculty.Find(id); if (editCase == null) { return(NotFound()); } return(View(editCase)); }
public async Task <IActionResult> Edit(int id, [Bind("CaseID,Name,FacAffiliateTitle,HireDate,Department,Note")] HiringAffiliateFaculty hrAffFaculty) { IQueryable <HiringAffiliateFaculty> beforeCases = _context.HiringAffiliateFaculty.Where(c => c.CaseID == id).AsNoTracking <HiringAffiliateFaculty>(); HiringAffiliateFaculty beforeCase = beforeCases.FirstOrDefault(); if (beforeCase == null) { return(NotFound()); } if (ModelState.IsValid) { /** First check fields to see if values have changed and if so add to audit log **/ /** Also clear any fields that were hidden when and not automatically reset in the form **/ string strAudit = "Case Edited. Values updated (old,new). "; string bcRequest = beforeCase.FacAffiliateTitle.ToString(); string currRequest = hrAffFaculty.FacAffiliateTitle.ToString(); if (beforeCase.Department.ToString() != hrAffFaculty.Department.ToString()) { strAudit += "Department: (" + beforeCase.Department.ToString() + "," + hrAffFaculty.Department.ToString() + ") "; } var audit = new CaseAudit { AuditLog = strAudit, CaseID = id, LocalUserID = User.Identity.Name }; _context.Add(audit); _context.Entry(hrAffFaculty).State = EntityState.Modified; await _context.SaveChangesAsync(); var cid = id; return(RedirectToAction("Details", "Cases", new { id = cid, area = "" })); //return RedirectToAction("Index", "Home"); } return(View(hrAffFaculty)); }
public async Task <IActionResult> Create(int id, HiringAffiliateFaculty hrAffFaculty) { if (ModelState.IsValid) { HiringAffiliateFaculty newCase = new HiringAffiliateFaculty { CaseID = id, FacAffiliateTitle = hrAffFaculty.FacAffiliateTitle, Name = hrAffFaculty.Name, HireDate = hrAffFaculty.HireDate, Department = hrAffFaculty.Department, Note = hrAffFaculty.Note }; _context.Add(newCase); await _context.SaveChangesAsync(); var cid = id; return(RedirectToAction("Details", "Cases", new { id = cid, area = "" })); //return RedirectToAction("Index", "Home"); } return(View(hrAffFaculty)); }
public async Task <IActionResult> Edit(int id, [Bind("CaseID,Name,FacAffiliateTitle,HireDate,Department,Note")] HiringAffiliateFaculty hrAffFaculty) { if (id != hrAffFaculty.CaseID) { return(NotFound()); } if (ModelState.IsValid) { try { IQueryable <HiringAffiliateFaculty> beforeCases = _context.HiringAffiliateFaculty.Where(c => c.CaseID == id).AsNoTracking <HiringAffiliateFaculty>(); HiringAffiliateFaculty beforeCase = beforeCases.FirstOrDefault(); if (beforeCase == null) { return(NotFound()); } else { // Creating an audit log var audit = new CaseAudit { AuditLog = "Case Specific Details Edited", CaseID = id, LocalUserID = User.Identity.Name }; _context.Add(audit); await _context.SaveChangesAsync(); // Adding old details to tracking var old_details = new HiringAffiliateFacultyTracking { Status = "old", CaseAuditID = audit.CaseAuditID, CaseID = beforeCase.CaseID, HireDate = beforeCase.HireDate, Department = beforeCase.Department, Name = beforeCase.Name, FacAffiliateTitle = beforeCase.FacAffiliateTitle }; _context.Add(old_details); // Adding current details to tracking var new_details = new HiringAffiliateFacultyTracking { Status = "new", CaseAuditID = audit.CaseAuditID, CaseID = hrAffFaculty.CaseID, HireDate = hrAffFaculty.HireDate, Department = hrAffFaculty.Department, Name = hrAffFaculty.Name, FacAffiliateTitle = hrAffFaculty.FacAffiliateTitle }; _context.Add(new_details); // Adding current details to actual Case Type entity _context.Update(hrAffFaculty); await _context.SaveChangesAsync(); } } catch (DbUpdateConcurrencyException) { if (!HiringAffiliateFacultyExists(hrAffFaculty.CaseID)) { return(NotFound()); } else { throw; } } var cid = id; return(RedirectToAction("Details", "Cases", new { id = cid, area = "" })); } return(View(hrAffFaculty)); }