public void ForceVacationForEmployee(VacationDTO request) { request.VacationID = Guid.NewGuid().ToString(); request.VacationStatusTypeID = GetStatusIdByType(VacationStatusTypeEnum.Pending.ToString()); request.Created = DateTime.UtcNow; CreateVacation(request); }
public static VacationDTO GetVacationDTO(Vacation Vacation) { VacationDTO VacationDTO = new VacationDTO(); VacationDTO.describe = Vacation.describe; VacationDTO.VacationId = Vacation.VacationId; VacationDTO.EndDate = Vacation.EndDate; VacationDTO.StudentId = Vacation.StudentId; VacationDTO.EndTime = Vacation.EndTime; VacationDTO.StartDate = Vacation.StartDate; VacationDTO.EndDate = Vacation.EndDate; VacationDTO.TeacherId = Vacation.TeacherId; return(VacationDTO); }
public async Task <string> TakeVacation(VacationDTO vacationDto, Guid userId) { var count = await UnitOfWork.GetRepository <Vacation>() .Where(v => vacationDto.DateStart >= v.DateStart && vacationDto.DateStart <= v.DateEnd || vacationDto.DateEnd >= v.DateStart && vacationDto.DateEnd <= v.DateEnd).CountAsync(); if (count < 3) { var item = Mapper.Map <VacationDTO, Vacation>(vacationDto); item.UserId = userId; UnitOfWork.GetRepository <Vacation>().Add(item); await UnitOfWork.CommitAsync(); return("Success take vacation"); } return("Fail take vacation"); }
public void CreateVacation(VacationDTO vacation) { using (TransactionScope scope = new TransactionScope()) { _vacations.Add(Mapper.Map <VacationDTO, Vacation>(vacation)); var employee = _employees.GetById(vacation.EmployeeID); if (employee.EmployeesTeam.Count > 0) { var team = employee.EmployeesTeam.First(); var teamLead = _employees.GetById(team.TeamLeadID); _emailService.SendAsync(teamLead.WorkEmail, $"{teamLead.Name} {teamLead.Surname}", "Vacation request.", "Employee has requested a vacation.", $"{teamLead.Name} {teamLead.Surname}, your employee, {employee.Name} {teamLead.Surname}, has requested a vacation from {vacation.DateOfBegin.ToString("dd-MM-yyyy")} to {vacation.DateOfEnd.ToString("dd-MM-yyyy")}. Please, check it."); } scope.Complete(); } }
public void Create(VacationDTO vacation) { _vacationRepository.Add(Mapper.Map <VacationDTO, Vacation>(vacation)); }
public async Task <BaseResultOfVacationDTO> CreateOrUpdateVacationAsync(VacationDTO vacationDto, CancellationToken cancellationToken) { var token = await _identyApi.GetAuthorizationTokenAsync(); return(await _apiContext.SendRequestAsync <BaseResultOfVacationDTO, VacationDTO>(new SharedContextParameters(_url, Method.POST, token), vacationDto, cancellationToken)); }