示例#1
0
        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 }));
            }
        }
示例#2
0
        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));
        }