Exemplo n.º 1
0
        public IActionResult LeaveChat([FromBody] LeaveDTO leaveDto)
        {
            _chatService.LeaveChat(leaveDto.ChatName, leaveDto.Participant);
            _chatHub.ChatLeft(leaveDto);

            return(Ok());
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        public IActionResult SubmitApproval(LeaveDTO leaveDTO)
        {
            var leave = LeaveAssembler.ToDO(leaveDTO);

            _leaveApplicationService.SubmitApproval(leave);
            return(Ok());
        }
Exemplo n.º 4
0
        public IActionResult UpdateLeaveInfo(LeaveDTO leaveDTO)
        {
            var leave = LeaveAssembler.ToDO(leaveDTO);

            _leaveApplicationService.UpdateLeaveInfo(leave);
            return(Ok());
        }
Exemplo n.º 5
0
        public IActionResult CreateLeaveInfo([FromBody] LeaveDTO leaveDTO)
        {
            var leave = LeaveAssembler.ToDO(leaveDTO);

            _leaveApplicationService.CreateLeaveInfo(leave);
            return(Ok());
        }
Exemplo n.º 6
0
        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 }));
            }
        }
Exemplo n.º 7
0
        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 }));
            }
        }
Exemplo n.º 8
0
        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));
            }
        }
Exemplo n.º 9
0
        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));
            }
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 12
0
 public void ChatLeft(LeaveDTO leaveDTO)
 {
     InvokeAllClients("ChatLeft", leaveDTO);
 }