예제 #1
0
        public async Task UpdateSchedulerItemAsync(SchedulerItemDTO schedulerItemDTO)
        {
            var schedulerItem = await schedulerItemRepository.GetAsync(schedulerItemDTO.IdSchedulerItem);

            schedulerItem.Modify(schedulerItemDTO.Name);
            schedulerItem.Settings.Modify(schedulerItemDTO.ExecutionFrequency,
                                          schedulerItemDTO.ExecutionHours,
                                          schedulerItemDTO.ExecutionMinutes,
                                          schedulerItemDTO.ExecutionDayOfWeek);
            schedulerItem.Message.Modify(schedulerItemDTO.MessageSubject, schedulerItemDTO.MessageBody);

            await schedulerItemRepository.SaveChangesAsync();
        }
        public async Task <IActionResult> Post(SchedulerItemAdditionRequest request)
        {
            var schedulerItem = new SchedulerItemDTO
            {
                Name               = request.Name,
                MessageSubject     = request.Subject,
                MessageBody        = request.Body,
                ExecutionFrequency = request.ExecutionFrequency,
                ExecutionHours     = request.ExecutionHours,
                ExecutionMinutes   = request.ExecutionMinutes,
                ExecutionDayOfWeek = request.ExecutionDayOfWeek
            };
            var idSchedulerItem = await scheduleManager.CreateSchedulerItemAsync(schedulerItem);

            return(Ok(idSchedulerItem));
        }
        public async Task <IActionResult> Put(SchedulerItemModificationRequest request)
        {
            var schedulerItem = new SchedulerItemDTO
            {
                IdSchedulerItem    = request.IdSchedulerItem,
                Name               = request.Name,
                MessageSubject     = request.Subject,
                MessageBody        = request.Body,
                ExecutionFrequency = request.ExecutionFrequency,
                ExecutionHours     = request.ExecutionHours,
                ExecutionMinutes   = request.ExecutionMinutes,
                ExecutionDayOfWeek = request.ExecutionDayOfWeek
            };
            await scheduleManager.UpdateSchedulerItemAsync(schedulerItem);

            return(Ok());
        }
예제 #4
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);
        }