Пример #1
0
        private List <string> ValidateForUpdate(TaskApiModel task)
        {
            List <string> errors = new List <string>();

            if (task == null)
            {
                errors.Add("Task To Update Not Provided");
                return(errors);
            }
            if (string.IsNullOrWhiteSpace(task.Name))
            {
                errors.Add("Must specify Task Name");
            }
            if (!TaskRepository.Exists(task.Id))
            {
                errors.Add("The task does not exist");
            }
            //Make sure that task is not being switched to a different tasklist
            var taskFromDb = TaskRepository.Get(task.Id);

            if (taskFromDb.TaskListId != task.TaskListId)
            {
                errors.Add("Cannot switch task to a different tasklist");
            }
            return(errors);
        }
Пример #2
0
        public IHttpActionResult Get(string id)
        {
            var item = _taskRepository.GetById(new Guid(id));

            if (item == null)
            {
                return(NotFound());
            }

            var queued = _queueRepository.List().Where(x => x.Task.Id == item.Id).Count();

            var task = new TaskApiModel()
            {
                Id             = item.Id,
                Title          = item.Title,
                Enabled        = item.Enabled,
                LastRunTime    = item.LastRunTime,
                LastRunResult  = item.LastRunResult,
                LastRunDetails = item.LastRunDetails,
                Active         = item.Active,
                Queued         = queued
            };

            return(Ok(task));
        }
Пример #3
0
        public async System.Threading.Tasks.Task <TaskApiModel> CreateAsync(TaskApiModel model)
        {
            _context.Tasks.Add(Mapper.Map <TaskApiModel, Task>(model));

            _context.SaveChanges();

            return(await GetAsync(model.Id));
        }
Пример #4
0
        public TaskApiModel Update(TaskApiModel task)
        {
            var errors = ValidateForUpdate(task);

            if (errors.Count > 0)
            {
                throw new ApiException(errors, 400);
            }
            var taskUpdated = TaskRepository.Update(Mapper.Map <TaskApiModel, DayTaskListData.Models.Task>(task));

            return(Mapper.Map <DayTaskListData.Models.Task, TaskApiModel>(taskUpdated));
        }
Пример #5
0
        public async System.Threading.Tasks.Task <TaskApiModel> UpdateAsync(TaskApiModel model)
        {
            var res = await _context.Tasks.FirstOrDefaultAsync(t => t.Id == model.Id);

            res.Priority    = model.Priority;
            res.State       = model.State;
            res.Title       = model.Title;
            res.Description = model.Description;

            await _context.SaveChangesAsync();

            return(await GetAsync(res.Id));
        }
Пример #6
0
        public TaskApiModel Create(TaskApiModel task)
        {
            //set to 0 in case user has attempted to explicitly set id
            task.Id = 0;

            var errors = ValidateForCreate(task);

            if (errors.Count > 0)
            {
                throw new ApiException(errors, 400);
            }
            var taskCreated = TaskRepository.Create(Mapper.Map <TaskApiModel, DayTaskListData.Models.Task>(task));

            return(Mapper.Map <DayTaskListData.Models.Task, TaskApiModel>(taskCreated));
        }
Пример #7
0
        private List <string> ValidateForCreate(TaskApiModel task)
        {
            List <string> errors = new List <string>();

            if (task == null)
            {
                errors.Add("Task To Create Not Provided");
                return(errors);
            }
            if (string.IsNullOrWhiteSpace(task.Name))
            {
                errors.Add("Must specify Task Name");
            }
            return(errors);
        }
Пример #8
0
 public async System.Threading.Tasks.Task <ModelResponse <TaskApiModel> > Put(TaskApiModel model)
 {
     return(new ModelResponse <TaskApiModel> {
         Item = await _service.UpdateAsync(model)
     });
 }
Пример #9
0
 public async Task <ActionResult <Guid> > CreateTask([FromBody] TaskApiModel taskApiModel)
 {
     return(await _taskService.CreateTask(taskApiModel.StartTime, taskApiModel.EndTime, taskApiModel.IntervalMin, taskApiModel.Words));
 }
Пример #10
0
 public ActionResult Put(TaskApiModel taskApiModel)
 {
     return(Ok(TaskApiService.Update(taskApiModel)));
 }
Пример #11
0
 public ActionResult Post(TaskApiModel taskApiModel)
 {
     return(Ok(TaskApiService.Create(taskApiModel)));
 }