public ActionResult ApproveRequisition(ApproveRequisitionViewModel viewmodel) { string token = GetToken(); UserModel um = GetUser(); RequisitionModel reqm = new RequisitionModel(); NotificationModel nom = new NotificationModel(); try { reqm = APIRequisition.GetRequisitionByReqid(viewmodel.ReqID, token, out string error); reqm.Status = ConRequisition.Status.APPROVED; reqm.Approvedby = um.Userid; if (!viewmodel.Approve) { reqm.Status = ConRequisition.Status.REJECTED; nom.Deptid = reqm.Depid; nom.Role = ConUser.Role.EMPLOYEE; nom.Title = "Requisition Rejected"; nom.NotiType = ConNotification.NotiType.RejectedRequistion; nom.ResID = reqm.Reqid; nom.Remark = "The new requisition has been rejected by the HOD with remark : " + viewmodel.Remark; nom = APINotification.CreateNoti(token, nom, out error); nom.Deptid = reqm.Depid; nom.Role = ConUser.Role.DEPARTMENTREP; nom.Title = "Requisition Rejected"; nom.NotiType = ConNotification.NotiType.RejectedRequistion; nom.ResID = reqm.Reqid; nom.Remark = "The new requisition has been rejected by the HOD with remark : " + viewmodel.Remark; nom = APINotification.CreateNoti(token, nom, out error); } reqm = APIRequisition.UpdateRequisition(reqm, token, out error); Session["noti"] = true; Session["notitype"] = "success"; if (viewmodel.Approve) { Session["notititle"] = "Requisition Approval"; Session["notimessage"] = "Requisiton is now approved!"; return(RedirectToAction("TrackRequisition", new { id = reqm.Reqid })); } Session["notititle"] = "Requisition Rejection"; Session["notimessage"] = "Requisiton is rejected!"; return(RedirectToAction("Index")); } catch (Exception ex) { return(RedirectToAction("Index", "Error", new { error = ex.Message })); } }
public ActionResult ApproveRequisition(int id) { string token = GetToken(); UserModel um = GetUser(); RequisitionModel reqm = new RequisitionModel(); ViewBag.RequisitionModel = reqm; ApproveRequisitionViewModel viewmodel = new ApproveRequisitionViewModel(); try { reqm = APIRequisition.GetRequisitionByReqid(id, token, out string error); if (reqm.Status == ConRequisition.Status.APPROVED) { Session["noti"] = true; Session["notitype"] = "error"; Session["notititle"] = "Already Approved Requisiton!"; Session["notimessage"] = "This requisition has already been approved!"; return(RedirectToAction("Index", "Home")); } else if (reqm.Status == ConRequisition.Status.REJECTED) { Session["noti"] = true; Session["notitype"] = "error"; Session["notititle"] = "Already Approved Requisiton!"; Session["notimessage"] = "This requisition has already been approved!"; return(RedirectToAction("Index", "Home")); } ViewBag.RequisitionModel = reqm; viewmodel.ReqID = reqm.Reqid; } catch (Exception ex) { return(RedirectToAction("Index", "Error", new { error = ex.Message })); } return(View(viewmodel)); }