Example #1
0
        public void Create(ProjectTaskDTO item)
        {
            var project = _mapper.Map <ProjectTask>(item);

            _db.ProjectTaskRepository.Create(project);
            _db.SaveChanges();
        }
Example #2
0
        public void Update(ProjectTaskDTO item)
        {
            var project = _db.ProjectTaskRepository.GetById(item.Id);

            project = _mapper.Map(item, project);
            _db.ProjectTaskRepository.Update(project);
            _db.SaveChanges();
        }
Example #3
0
        public async Task <ProjectTaskDTO> EditAsync([FromBody] ProjectTaskDTO model)
        {
            if (!TryValidateModel(model))
            {
                throw new Exception("400");
            }

            return(await _projectTaskService.EditAsync(model));
        }
Example #4
0
        public async Task <BaseModel> CreateAsync([FromBody] ProjectTaskDTO model)
        {
            if (!TryValidateModel(model))
            {
                throw new Exception("400");
            }

            var id = await _projectTaskService.CreateAsync(model);

            return(IdResponse(id));
        }
Example #5
0
        public IActionResult Put(int id, ProjectTaskDTO model)
        {
            ProjectTask item = _taskRepo.GetById(id);

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

            model.UpdateFromModel(item);
            _taskRepo.SaveChanges();

            return(NoContent());
        }
Example #6
0
 public void Update(ProjectTaskDTO task)
 {
     Database.ProjectTasks.Update(
         new ProjectTask()
     {
         Id             = task.Id,
         Name           = task.Name,
         Description    = task.Description,
         CreationDate   = task.CreationDate,
         CompletionDate = task.CompletionDate,
         ProjectId      = task.ProjectId, // ?
     }
         );
     Database.Save();
 }
Example #7
0
        public int Create(ProjectTaskDTO task)
        {
            var newTask = new ProjectTask()
            {
                Name         = task.Name,
                Description  = task.Description,
                CreationDate = DateTime.UtcNow,
                ProjectId    = task.ProjectId,
            };

            Database.ProjectTasks.Create(newTask);
            Database.Save();

            return(newTask.Id);
        }
Example #8
0
        public async Task <Guid> CreateAsync(ProjectTaskDTO model)
        {
            var entity = new ProjectTask()
            {
                Id           = Guid.NewGuid(),
                ProjectId    = model.ProjectId,
                TaskFatherId = model.TaskFatherId,
                TaskName     = model.TaskName
            };

            await _projectTaskRepository.InsertAsync(entity);

            await _projectTaskRepository.SaveAsync();

            return(entity.Id);
        }
Example #9
0
        // GET: Project/{projectId}/Task/Edit/{id}
        public ActionResult Edit(int projectId, int id)
        {
            ProjectTaskDTO task = service
                                  .AccessVerification(projectId, User.Identifier(), nameof(service.GetTask))
                                  .GetTask(id);

            return(View(
                       new TaskViewModel()
            {
                Id = task.Id,
                Name = task.Name,
                Description = task.Description,
                CreationDate = task.CreationDate,
                ProjectId = task.ProjectId,
            }
                       ));
        }
Example #10
0
        public async Task <ProjectTaskDTO> EditAsync(ProjectTaskDTO model)
        {
            var entity = await _projectTaskRepository.GetByIdAsync(model.ProjectId);

            if (entity == null)
            {
                throw new Exception("Project task not found");
            }

            entity.ProjectId    = model.ProjectId;
            entity.TaskFatherId = model.TaskFatherId;
            entity.TaskName     = model.TaskName;
            _projectTaskRepository.Update(entity);
            await _projectTaskRepository.SaveAsync();

            return(entity.ToModel());
        }
Example #11
0
        public IActionResult Post(ProjectTaskDTO model)
        {
            ProjectTask item = new ProjectTask();

            model.UpdateFromModel(item);

            _taskRepo.Add(item);
            _taskRepo.SaveChanges();

            var dto = new ProjectTaskDTO {
                Id          = item.Id,
                Title       = item.Title,
                Description = item.Description,
                IsFinished  = item.IsFinished,
                ProjectId   = item.ProjectId,
                AssigneeId  = item.AssigneeId
            };

            return(CreatedAtAction(nameof(GetAll), dto));
        }
Example #12
0
        public ActionResult <ProjectTaskDTO> GetById(int id)
        {
            ProjectTask item = _taskRepo.GetById(id);

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

            var dto = new ProjectTaskDTO {
                Id          = item.Id,
                Title       = item.Title,
                Description = item.Description,
                IsFinished  = item.IsFinished,
                ProjectId   = item.ProjectId,
                AssigneeId  = item.AssigneeId
            };

            return(dto);
        }
Example #13
0
        public Task <int> MarkRandomTaskWithDelay(int seconds)
        {
            TaskCompletionSource <int> tcs1 = new TaskCompletionSource <int>();
            Task <int> t1 = tcs1.Task;

            Timer timer = new Timer(seconds)
            {
                AutoReset = false
            };

            timer.Elapsed += async(object source, ElapsedEventArgs e) =>
            {
                var allTasks = await(await client.GetAsync(path + "ProjectTasks")).
                               EnsureSuccessStatusCode().Content.ReadAsAsync <List <ProjectTaskDTO> >();

                var unfinishedTasks = allTasks.Where(x => x.State != (int)TaskStatesDTO.Finished).ToList();
                int randomIndex     = random.Next(0, unfinishedTasks.Count() - 1);

                ProjectTaskDTO projectTask = unfinishedTasks[randomIndex];
                projectTask.State = (int)TaskStatesDTO.Finished;
                // Serializing
                var json = JsonConvert.SerializeObject(projectTask);
                // Creating content for Put request
                var content = new StringContent(json, Encoding.UTF8, "application/json");
                // Put request
                var response = await client.PutAsync(path + "ProjectTasks", content);

                if (response.IsSuccessStatusCode)
                {
                    tcs1.SetResult(projectTask.Id);
                }
                else
                {
                    tcs1.SetException(new InvalidOperationException("Немає не завершених тасків"));
                }
            };
            timer.Start();
            return(t1);
        }
Example #14
0
        public IActionResult Delete(int id)
        {
            ProjectTask item = _taskRepo.GetById(id);

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

            _taskRepo.Remove(item);
            _taskRepo.SaveChanges();

            var dto = new ProjectTaskDTO {
                Id          = item.Id,
                Title       = item.Title,
                Description = item.Description,
                IsFinished  = item.IsFinished,
                ProjectId   = item.ProjectId,
                AssigneeId  = item.AssigneeId
            };

            return(Ok(dto));
        }
Example #15
0
 public void UpdateTask(ProjectTaskDTO task)
 {
     Task.Update(task ?? throw new ArgumentNullException(nameof(task)));
 }
Example #16
0
 public int CreateTask(ProjectTaskDTO task)
 {
     return(Task.Create(task ?? throw new ArgumentNullException(nameof(task))));
 }