Example #1
0
        private void UpdateRelieve(LeaveApproveVm leaveApprove)
        {
            var approval = _context.Obstructor.FirstOrDefault(o => o.LeaveRef.ToUpper().Equals(leaveApprove.LeaveRef.ToUpper()));

            approval.Status = leaveApprove.Status;
            _context.SaveChanges();
        }
Example #2
0
        public JsonResult Approve(LeaveApproveVm leaveApprove)
        {
            try
            {
                if (leaveApprove.Status.ToLower().Equals("declined"))
                {
                    UpdateRelieve(leaveApprove);
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        Message = "The leave has been declined"
                    }));
                }

                var approved = _unisolApiProxy.ApproveLeave(leaveApprove).Result;
                var jdata    = JsonConvert.DeserializeObject <ReturnData <string> >(approved);
                if (jdata.Success)
                {
                    UpdateRelieve(leaveApprove);
                }

                return(Json(jdata));
            }
            catch (Exception)
            {
                return(Json(new ReturnData <string>
                {
                    Success = true,
                    Message = "Sorry, An error occurred"
                }));
            }
        }
Example #3
0
        public JsonResult ApproveLeave(LeaveApproveVm approveVm)
        {
            try
            {
                var leave         = _context.HrpLeaveApp.FirstOrDefault(l => l.Ref.ToUpper().Equals(approveVm.LeaveRef.ToUpper()));
                var procOnlineReq = new ProcOnlineReq
                {
                    ReqRef   = leave.Ref,
                    DocType  = "LEAVE APPLICATION",
                    Rdate    = DateTime.UtcNow.Date,
                    Rtime    = DateTime.UtcNow.AddHours(3),
                    Usercode = leave.EmpNo,
                    Status   = "Pending"
                };
                var user           = _context.HrpEmployee.FirstOrDefault(u => u.EmpNo.ToUpper().Equals(leave.EmpNo.ToUpper()));
                var description    = $"Type of Leave: {leave.LeaveType}; Number of days requested: {leave.LeaveDays}; From: {String.Format("{0:d}", leave.Sdate)} To: {String.Format("{0:d}", leave.Edate)}";
                var docId          = _context.Wfrouting.FirstOrDefault(r => r.Document.ToUpper() == procOnlineReq.DocType.ToUpper())?.Id.ToString() ?? "";
                var workFlowStatus = utils.SaveToWorkFlowCenter(procOnlineReq, user, docId, description);
                if (!workFlowStatus.Success)
                {
                    return(Json(workFlowStatus));
                }

                return(Json(new ReturnData <string> {
                    Success = true,
                    Message = "Leave Approved successfully"
                }));
            }
            catch (Exception)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    Message = "Sorry, An error occurred"
                }));
            }
        }
Example #4
0
        public Task <string> ApproveLeave(LeaveApproveVm leaveApprove)
        {
            var response = Post("leave/approveLeave", leaveApprove);

            return(response);
        }