private void UpdateRelieve(LeaveApproveVm leaveApprove) { var approval = _context.Obstructor.FirstOrDefault(o => o.LeaveRef.ToUpper().Equals(leaveApprove.LeaveRef.ToUpper())); approval.Status = leaveApprove.Status; _context.SaveChanges(); }
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" })); } }
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" })); } }
public Task <string> ApproveLeave(LeaveApproveVm leaveApprove) { var response = Post("leave/approveLeave", leaveApprove); return(response); }