コード例 #1
0
        public void CreateBacklog(OrganizationUnit unit, BacklogDefinition backlogDefinition)
        {
            var root        = _organizationUnitCollection.FindSync(_ => true).Single();
            var updatedUnit = root.Find(unit.Id);

            updatedUnit.Backlogs = updatedUnit.Backlogs.Union(new[] { backlogDefinition }).ToArray();
            _organizationUnitCollection.ReplaceOne(x => x.Id == root.Id, root);
        }
コード例 #2
0
        public void UpdateBacklog(BacklogDefinition backlog)
        {
            var root             = _organizationUnitCollection.FindSync(_ => true).Single();
            var updatedUnit      = root.FindWithBacklog(backlog.Id);
            var updateDefinition = updatedUnit.Backlogs.Single(x => x.Id == backlog.Id);

            updateDefinition.Name = backlog.Name;

            _organizationUnitCollection.ReplaceOne(x => x.Id == root.Id, root);
        }
コード例 #3
0
        public ActionResult Patch(BacklogDefinition backlog)
        {
            if (backlog == null)
            {
                return(NotFound());
            }

            _backlogRepository.UpdateBacklog(backlog);

            return(NoContent());
        }
コード例 #4
0
        public ActionResult Post(CreateBacklogDTO param)
        {
            var unit = _organizationUnitRepository.Get(param.UnitId);

            if (unit == null)
            {
                return(NotFound(param.UnitId));
            }

            var createdBacklogDefinition = new BacklogDefinition {
                Id = Guid.NewGuid(), Name = param.Name
            };

            _backlogRepository.CreateBacklog(unit, createdBacklogDefinition);
            return(CreatedAtRoute("Organization", createdBacklogDefinition));
        }
コード例 #5
0
        public async Task <(Backlog, Project)> CreateProjectInBacklog(string name, BacklogDefinition backlogDefinition, OrganizationUnit assignee)
        {
            var result = await _http.PostAsJsonAsync($"api/Projects",
                                                     new CreateProjectDTO { Name = name, BacklogId = backlogDefinition.Id, AssigneeId = assignee.Id });

            if (!result.IsSuccessStatusCode)
            {
                throw new ApplicationException("Не получилось добавить проект.");
            }

            var createdProject = await result.Content.ReadFromJsonAsync <OrganizationUnit>();

            var backlog = await GetBacklog(backlogDefinition);

            var project = backlog.Projects.Single(x => x.Id == createdProject.Id);

            return(backlog, project);
        }
コード例 #6
0
 public async Task <Backlog> GetBacklog(BacklogDefinition backlogDefinition)
 {
     return(await _http.GetFromJsonAsync <Backlog>($"api/Backlogs?id={backlogDefinition.Id}"));
 }