public async Task <int> Create(NewHolidayDto newHolidayDto) { if (newHolidayDto == null) { throw new ArgumentNullException(); } var newHoliday = _mapper.Map <Holiday>(newHolidayDto); newHoliday.RequestCreatedDate = _timeService.GetCurrentTime(); newHoliday.Status = HolidayStatus.Pending; var holidayId = await _holidaysRepository.Create(newHoliday); var employee = await _employeeRepository.GetById(newHoliday.EmployeeId); if (employee.ClientId > 0) { var newHolidayGuid = new HolidayGuid() { IsAdmin = false, ConfirmerId = employee.ClientId, HolidayId = holidayId, Guid = Guid.NewGuid().ToString() }; await _holidayGuidsRepository.Create(newHolidayGuid); } var allAdmins = await _employeeRepository.GetAllAdmins(); foreach (var admin in allAdmins) { var newHolidayGuid = new HolidayGuid() { IsAdmin = true, ConfirmerId = admin.Id, HolidayId = holidayId, Guid = Guid.NewGuid().ToString() }; await _holidayGuidsRepository.Create(newHolidayGuid); } return(holidayId); }