// Author: Ayisha // Creates a new requisition in the database public IActionResult SaveRequisition(DeptRequisition deptRequisition) { if (getUserRole().Equals("")) { return(RedirectToAction("Login", "Login")); } //Security-Emp Lvl if (!(getUserRole() == DeptRole.Employee.ToString() || getUserRole() == DeptRole.DeptRep.ToString() || getUserRole() == DeptRole.Contact.ToString() || getUserRole() == DeptRole.DelegatedEmployee.ToString())) { if (getUserRole() == DeptRole.DeptHead.ToString()) { return(RedirectToAction(_filterService.Filter(getUserRole()), "Dept")); } else { return(RedirectToAction(_filterService.Filter(getUserRole()), "Store")); } } int userId = (int)HttpContext.Session.GetInt32("Id"); Employee user = _dbContext.Employees.SingleOrDefault(e => e.Id == userId); int deptId = user.Dept.id; //get employee from session data var result = new DeptRequisition(); string usernameInSession = HttpContext.Session.GetString("username"); var employee = _dbContext.Employees.FirstOrDefault(ep => ep.Username == usernameInSession); result.Employee = employee; _dbContext.Add(result); foreach (var requisitionDetail in deptRequisition.RequisitionDetails) { requisitionDetail.Stationery = _dbContext.Stationeries.FirstOrDefault(s => s.Id == requisitionDetail.Stationery.Id); requisitionDetail.DeptRequisition = result; _dbContext.Add(requisitionDetail); } result.Employee = user; _dbContext.SaveChanges(); return(RedirectToAction("EmployeeRequisitionList", "Dept")); }
// Author: Ayisha // Updates an existing requisition in the database that has not been submitted yet public IActionResult SaveExRequisition(DeptRequisition requisition) { if (getUserRole().Equals("")) { return(RedirectToAction("Login", "Login")); } //Security-Emp Lvl if (!(getUserRole() == DeptRole.Employee.ToString() || getUserRole() == DeptRole.DeptRep.ToString() || getUserRole() == DeptRole.Contact.ToString() || getUserRole() == DeptRole.DelegatedEmployee.ToString())) { if (getUserRole() == DeptRole.DeptHead.ToString()) { return(RedirectToAction(_filterService.Filter(getUserRole()), "Dept")); } else { return(RedirectToAction(_filterService.Filter(getUserRole()), "Store")); } } int userId = (int)HttpContext.Session.GetInt32("Id"); Employee user = _dbContext.Employees.SingleOrDefault(e => e.Id == userId); int deptId = user.Dept.id; var result = _dbContext.DeptRequisitions.FirstOrDefault(rd => rd.Id == requisition.Id); result.Employee = user; foreach (var requisitionDetail in requisition.RequisitionDetails) { // this is needed to add Stationary to each object. requisitionDetail.Stationery = _dbContext.Stationeries.FirstOrDefault(s => s.Id == requisitionDetail.Stationery.Id); requisitionDetail.DeptRequisition = result; } result.RequisitionDetails = requisition.RequisitionDetails; _dbContext.SaveChanges(); return(RedirectToAction("EmployeeRequisitionList", "Dept")); }
public void SaveRequisitionApi([FromBody] DeptRequisitionDTO input) { int userId = _dbContext.AndroidUsers.FirstOrDefault().UserId; Employee user = _dbContext.Employees.SingleOrDefault(e => e.Id == userId); string usernameInSession = user.Username; int deptId = user.Dept.id; DeptRequisition result = new DeptRequisition(); if (input.FormStatus.Equals("New")) { result.Employee = user; result.RequisitionDetails = new List <RequisitionDetail>(); _dbContext.Add(result); foreach (var requisitionDetail in input.RequisitionDetails) { RequisitionDetail temp = new RequisitionDetail(); temp.Stationery = _dbContext.Stationeries.FirstOrDefault(s => s.Id == requisitionDetail.StationeryId); temp.Qty = requisitionDetail.Qty; result.RequisitionDetails.Add(temp); } } else if (input.FormStatus.Equals("Existing")) { foreach (var requisitionDetail in input.RequisitionDetails) { var dbRequisitionDetail = _dbContext.RequisitionDetails.FirstOrDefault(rd => rd.DeptRequisition.Id == input.Id && rd.Stationery.Id == requisitionDetail.StationeryId); if (dbRequisitionDetail != null) { dbRequisitionDetail.Qty = requisitionDetail.Qty; } } } _dbContext.SaveChanges(); }
// Author: Ayisha // Returns a new requisition form when there are no requisition forms with the Draft status public IActionResult NewEmployeeRequisitionForm() { if (getUserRole().Equals("")) { return(RedirectToAction("Login", "Login")); } //Security-Emp Lvl if (!(getUserRole() == DeptRole.Employee.ToString() || getUserRole() == DeptRole.DeptRep.ToString() || getUserRole() == DeptRole.Contact.ToString() || getUserRole() == DeptRole.DelegatedEmployee.ToString())) { if (getUserRole() == DeptRole.DeptHead.ToString()) { return(RedirectToAction(_filterService.Filter(getUserRole()), "Dept")); } else { return(RedirectToAction(_filterService.Filter(getUserRole()), "Store")); } } DeptRequisition deptRequisition = new DeptRequisition(); deptRequisition.RequisitionDetails = new List <RequisitionDetail>(); var stationeries = _dbContext.Stationeries.ToList(); foreach (var stationery in stationeries) { var requisitionDetail = new RequisitionDetail(); requisitionDetail.Stationery = stationery; deptRequisition.RequisitionDetails.Add(requisitionDetail); } return(View(deptRequisition)); }