Example #1
0
        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);
        }