public IActionResult LeaveChat([FromBody] LeaveDTO leaveDto) { _chatService.LeaveChat(leaveDto.ChatName, leaveDto.Participant); _chatHub.ChatLeft(leaveDto); return(Ok()); }
public static LeaveDTO ToDTO(Leave leave) { var approvalInfos = new List <ApprovalInfoDTO>(); foreach (var historyApprovalInfo in leave.HistoryApprovalInfos) { approvalInfos.Add(ApprovalInfoAssembler.ToDTO(leave.CurrentApprovalInfo)); } var dto = new LeaveDTO() { ApplicantDTO = ApplicantAssembler.ToDTO(leave.Applicant), ApproverDTO = ApproverAssembler.ToDTO(leave.Approver), LeaveId = leave.Id, LeaveType = leave.LeaveType, Status = leave.Status, StartTime = leave.StartTime.ToString("yyyy-MM-dd HH:mm:ss"), EndTime = leave.EndTime.ToString("yyyy-MM-dd HH:mm:ss"), CurrentApprovalInfoDTO = ApprovalInfoAssembler.ToDTO(leave.CurrentApprovalInfo), HistoryApprovalInfoDTOList = approvalInfos, Duration = leave.Duration, MaxLeaderLevel = leave.MaxLeaderLevel }; return(dto); }
public IActionResult SubmitApproval(LeaveDTO leaveDTO) { var leave = LeaveAssembler.ToDO(leaveDTO); _leaveApplicationService.SubmitApproval(leave); return(Ok()); }
public IActionResult UpdateLeaveInfo(LeaveDTO leaveDTO) { var leave = LeaveAssembler.ToDO(leaveDTO); _leaveApplicationService.UpdateLeaveInfo(leave); return(Ok()); }
public IActionResult CreateLeaveInfo([FromBody] LeaveDTO leaveDTO) { var leave = LeaveAssembler.ToDO(leaveDTO); _leaveApplicationService.CreateLeaveInfo(leave); return(Ok()); }
public async Task <IActionResult> SubmitApproval(LeaveDTO leaveDTO) { var leaveDO = Mapper.Map <Leave>(leaveDTO); try { await _leaveApplicationService.SubmitApproval(leaveDO); return(Ok(new { message = "Submit Approval Success!" })); } catch (Exception ex) { _logger.LogError(ex, "Submit Approval Error!"); return(BadRequest(new { message = ErrorMessage })); } }
public async Task <IActionResult> Update(LeaveDTO leaveDTO) { var leaveDO = Mapper.Map <Leave>(leaveDTO); try { await _leaveApplicationService.UpdateLeaveInfo(leaveDO); return(Ok(new { message = "Update Leave Info Success!" })); } catch (Exception ex) { _logger.LogError(ex, "Update Leave Info Error!"); return(BadRequest(new { message = ErrorMessage })); } }
public IActionResult NewLeave([FromBody] LeaveDTO leave) { try { if (LeaveManager.NewLeave(Mapper.Map <Leave>(leave), out string message)) { return(StatusCode(StatusCodes.Status201Created, message)); } return(StatusCode(StatusCodes.Status409Conflict, message)); } catch (Exception exception) { Logger.LogError(exception, "Error while creating leave"); return(StatusCode(500, exception.Message)); } }
public IActionResult UpdateLeave(int id, [FromBody] LeaveDTO leave) { try { leave.Id = id; Leave updatedLeave = LeaveManager.UpdateLeave(Mapper.Map <Leave>(leave), out string message); if (updatedLeave != null) { return(Ok(Mapper.Map <LeaveDTO>(updatedLeave))); } return(StatusCode(StatusCodes.Status409Conflict)); } catch (Exception exception) { Logger.LogError(exception, "Error while updating leave"); return(StatusCode(500, exception.Message)); } }
public static Leave ToDO(LeaveDTO dto) { var historyApprovalInfoDTOList = new List <ApprovalInfo>(); foreach (var historyApprovalInfoDTO in dto.HistoryApprovalInfoDTOList) { historyApprovalInfoDTOList.Add(ApprovalInfoAssembler.ToDO(historyApprovalInfoDTO)); } var leave = new Leave() { Id = dto.LeaveId, Applicant = ApplicantAssembler.ToDO(dto.ApplicantDTO), Approver = ApproverAssembler.ToDO(dto.ApproverDTO), CurrentApprovalInfo = ApprovalInfoAssembler.ToDO(dto.CurrentApprovalInfoDTO), HistoryApprovalInfos = historyApprovalInfoDTOList, StartTime = string.IsNullOrEmpty(dto.StartTime) ? DateTime.Now : DateTime.Parse(dto.StartTime), EndTime = string.IsNullOrEmpty(dto.EndTime) ? DateTime.Now : DateTime.Parse(dto.EndTime), MaxLeaderLevel = dto.MaxLeaderLevel }; leave.Duration = leave.GetDuration(); return(leave); }
public LeaveDTO GetLeaveRequest(int id) { var leaveRequest = _context.LeaveRequests.Include(e => e.Employee).ThenInclude(e => e.Profession).Include(e => e.AlternativeEmp) .Include(e => e.LeaveType).FirstOrDefault(e => e.ID == id); var LeaveRequestDTO = new LeaveDTO { ID = leaveRequest.ID, EmployeeName = leaveRequest.Employee.Name, Profession = leaveRequest.Employee.Profession.Name, Status = leaveRequest.Status, End = leaveRequest.Start.AddDays(leaveRequest.Days), Comment = leaveRequest.Comment, Date = leaveRequest.Date, EmployeeID = leaveRequest.EmployeeID, AlternativeAddress = leaveRequest.AlternativeAddress, AlternativeEmpID = leaveRequest.AlternativeEmp.ID, AlternativeEmp = leaveRequest.AlternativeEmp.Name, Days = leaveRequest.Days, LeaveTypeID = leaveRequest.LeaveTypeID, Start = leaveRequest.Start }; return(LeaveRequestDTO); }
public void ChatLeft(LeaveDTO leaveDTO) { InvokeAllClients("ChatLeft", leaveDTO); }