public async Task <int> CreateSchedulerItemAsync(SchedulerItemDTO schedulerItemDTO) { var schedulerItemsWithSameName = await schedulerItemRepository.GetByAsync(s => s.Name == schedulerItemDTO.Name); if (schedulerItemsWithSameName.Any()) { throw new Exception("Scheduler with same name already exists."); } var schedulerItem = SchedulerItem.Insert(schedulerItemDTO.Name, schedulerItemDTO.MessageSubject, schedulerItemDTO.MessageBody, schedulerItemDTO.ExecutionFrequency, schedulerItemDTO.ExecutionHours, schedulerItemDTO.ExecutionMinutes, schedulerItemDTO.ExecutionDayOfWeek); await schedulerItemRepository.InsertAsync(schedulerItem); await schedulerItemRepository.SaveChangesAsync(); return(schedulerItem.Id); }