Exemplo n.º 1
0
 public async System.Threading.Tasks.Task Post([FromBody] Backlog P)
 {
     await System.Threading.Tasks.Task.Run(() =>
     {
         data.SaveAsync(P);
     });
 }
Exemplo n.º 2
0
        public string CreateBacklog(Backlog backlog)
        {
            var id = GenerateBacklogId();

            SaveBacklog(backlog, id);
            return(id);
        }
Exemplo n.º 3
0
        internal Status CheckBacklogTypeAndWriteSubmission(Submission submission, Backlog backlog)
        {
            bool userIdPresent          = submission.UserId != null;
            bool authenticationRequired = backlog.OneVotePerUser;
            bool authenticationFailure  = authenticationRequired && !userIdPresent;

            if (authenticationFailure)
            {
                return(new Failure("Submissions to authenticated Backlogs require a UserId!"));
            }

            var submissionPath = Path.Combine(this.rootpath, backlog.Id);

            var fileName = new StringBuilder();

            fileName.Append("Submission-");
            fileName.Append(authenticationRequired ? submission.UserId.Value.ToString() : guidGenerator().ToString());
            fileName.Append(".json");

            var jsonString = JsonConvert.SerializeObject(submission);

            var path = Path.Combine(submissionPath, fileName.ToString());

            File.WriteAllText(path, jsonString);

            return(new Success());
        }
Exemplo n.º 4
0
        public int GetTotalEstimation()
        {
            int sum = 0;

            Backlog.ForEach(task => sum += task.GetActualEstimate());
            return(sum);
        }
Exemplo n.º 5
0
 public void DistributeWork(Backlog backlog, Team team)
 {
     foreach (var programmer in team.Members)
     {
         ChooseWork(backlog, programmer);
     }
 }
Exemplo n.º 6
0
        public void DeleteBacklogTest()
        {
            var testGuid = Guid.NewGuid();
            var repo     = new BacklogRepo(TestRootDir, () => testGuid);

            var testBacklog = new Backlog()
            {
                Id          = String.Empty,
                Title       = "TestBacklog",
                UserStories = new[] { "A", "B", "C", "D" }
            };

            repo.SaveBacklog(testBacklog, TestId);
            repo.WriteSubmission(TestId, new Submission()
            {
                Indexes = new[] { 3, 2, 1, 0 }
            });

            var backlogFolderPath = Path.Combine(Environment.CurrentDirectory, _testDir);

            Directory.Exists(backlogFolderPath).Should().BeTrue();
            Directory.GetFiles(backlogFolderPath).Length.Should().Be(2, "exactly two files have been added to directory");

            var status = repo.DeleteBacklog(TestId);

            status.Should().BeOfType <Success>();
            Directory.Exists(backlogFolderPath).Should().BeFalse();

            status = repo.DeleteBacklog("Rubbish");
            status.Should().BeOfType <Failure>().Which.ErrorMessage.Should().Contain("Could not find a part of the path");
        }
Exemplo n.º 7
0
        public (Status, string) CreateBacklog(Backlog backlog)
        {
            var id = guidGenerator().ToString();

            SaveBacklog(backlog, id);
            return(new Success(), id);
        }
Exemplo n.º 8
0
        public void DeleteBacklogTest()
        {
            var testGuid = Guid.NewGuid();
            var repo     = new BacklogRepo(TestRootDir, () => testGuid);

            var testBacklog = new Backlog()
            {
                Id          = String.Empty,
                Title       = "TestBacklog",
                UserStories = new [] { "A", "B", "C", "D" }
            };

            repo.SaveBacklog(testBacklog, TestId);
            repo.WriteSubmission(TestId, new Submission()
            {
                Indexes = new [] { 3, 2, 1, 0 }
            });

            var backlogFolderPath = Path.Combine(Environment.CurrentDirectory, _testDir);

            Directory.Exists(backlogFolderPath).Should().BeTrue();
            Directory.GetFiles(backlogFolderPath).Length.Should().Be(2, "exactly two files have been added to directory");

            repo.DeleteBacklog(TestId);
            Directory.Exists(backlogFolderPath).Should().BeFalse();

            Action act = () => repo.DeleteBacklog("Rubbish");

            act.Should().Throw <DirectoryNotFoundException>("directory \"Rubbish\" does not exist");
        }
Exemplo n.º 9
0
 private void CancelAction()
 {
     AddNewBacklogErrorMessage = "";
     CurrentBacklog            = new Backlog();
     SprintIndex = 0;
     Context.CloseAddNewBacklogDialog();
 }
Exemplo n.º 10
0
 public T ReadList <T>(int id) where T : class
 {
     if (typeof(T) == typeof(Models.Project))
     {
         return(Project.SingleOrDefault(u => u.ProjectId == id) as T);
     }
     else if (typeof(T) == typeof(Models.Backlog))
     {
         return(Backlog.SingleOrDefault(u => u.BacklogId == id) as T);
     }
     else if (typeof(T) == typeof(Models.Sprint))
     {
         return(Sprint.SingleOrDefault(u => u.SprintId == id) as T);
     }
     if (typeof(T) == typeof(Models.Step))
     {
         return(Step.SingleOrDefault(u => u.StepId == id) as T);
     }
     else if (typeof(T) == typeof(Models.Task))
     {
         return(Task.SingleOrDefault(u => u.TaskId == id) as T);
     }
     else if (typeof(T) == typeof(Models.User))
     {
         return(User.SingleOrDefault(u => u.UserId == id) as T);
     }
     else
     {
         return(default(T));
     }
 }
Exemplo n.º 11
0
        public void RefreshMainWindow()
        {
            ToDo.Clear();
            Doing.Clear();
            Backlog.Clear();
            Done.Clear();

            var result = readDbDataToDisplay();

            foreach (var i in result)
            {
                if (i.States == BackLog.State.IsToDo)
                {
                    ToDo.Add(i);
                }
                else if (i.States == BackLog.State.IsDoing)
                {
                    Doing.Add(i);
                }
                else if (i.States == BackLog.State.Backlog)
                {
                    Backlog.Add(i);
                }
                else
                {
                    Done.Add(i);
                }
            }
        }
        private IStoriesDataModel _storiesDataModel = new MySqlStoriesDataModel(); // Not 'ComponentsContainer.Get<IStoriesDataModel>()' for avoiding cross references.

        public Backlog CreateBacklog()
        {
            try
            {
                using (MySqlConnection connection = OpenNewConnection())
                {
                    MySqlCommand command = new MySqlCommand();

                    command.Connection  = connection;
                    command.CommandText = $"INSERT INTO `{_BACKLOGS_TABLE_NAME}` () VALUES();";

                    command.ExecuteNonQuery();

                    uint id = Convert.ToUInt32(command.LastInsertedId);

                    Backlog newBacklog = new Backlog(id, new List <Story>());

                    return(newBacklog);
                }
            }
            catch
            {
                throw;
            }
        }
Exemplo n.º 13
0
        public async void SaveAsync <T>(T a) where T : class
        {
            if (typeof(T) == typeof(Models.Backlog))
            {
                Backlog.Add(a as Models.Backlog);
                await SaveChangesAsync();
            }
            else if (typeof(T) == typeof(Models.Project))
            {
                Project.Add(a as Models.Project);
                await SaveChangesAsync();
            }
            else if (typeof(T) == typeof(Models.Sprint))
            {
                Sprint.Add(a as Models.Sprint);
                await SaveChangesAsync();
            }

            else if (typeof(T) == typeof(Models.Step))
            {
                Step.Add(a as Models.Step);
                await SaveChangesAsync();
            }
            else if (typeof(T) == typeof(Models.Task))
            {
                Task.Add(a as Models.Task);
                await SaveChangesAsync();
            }
            else if (typeof(T) == typeof(Models.User))
            {
                User.Add(a as Models.User);
                await SaveChangesAsync();
            }
        }
Exemplo n.º 14
0
        public void Test_SprintAddBacklog()
        {
            var bl = new Backlog();

            sut.AddBacklog(bl);
            Assert.True(sut.Backlog != null);
        }
Exemplo n.º 15
0
        public void WriteSubmissionsToAnonymousBacklog()
        {
            var testGuid1           = Guid.NewGuid();
            var testGuid2           = Guid.NewGuid();
            var q                   = new Queue <Guid>(new[] { testGuid1, testGuid2 });
            var repo                = new BacklogRepo(TestRootDir, () => q.Dequeue());
            var expectedSubmission1 = new Submission()
            {
                Indexes = new[] { 1, 2, 3, 4 }
            };
            var expectedSubmission2 = new Submission()
            {
                Indexes = new[] { 1, 2, 3, 4 }, UserId = 123456
            };

            var anonymousBacklog = new Backlog()
            {
                Id             = TestId,
                OneVotePerUser = false,
                Title          = "TestBacklogAnonymous",
                UserStories    = new[] { "A", "B", "C", "D" }
            };

            repo.SaveBacklog(anonymousBacklog, TestId);

            repo.WriteSubmission(TestId, expectedSubmission1);
            File.Exists(Path.Combine(_testDir, "Submission-" + testGuid1 + ".json")).Should().BeTrue();

            repo.WriteSubmission(TestId, expectedSubmission2);
            File.Exists(Path.Combine(_testDir, "Submission-123456.json")).Should().BeFalse();
            File.Exists(Path.Combine(_testDir, "Submission-" + testGuid2 + ".json")).Should().BeTrue();
        }
Exemplo n.º 16
0
        public void MoveToNextColumn(Ticket ticket)
        {
            Guard.ArgumentNotNull(nameof(ticket), ticket);

            if (Backlog.Contains(ticket))
            {
                Move(Backlog, ToDo, ticket);
                return;
            }

            if (ToDo.Contains(ticket))
            {
                Move(ToDo, Test, ticket);
                return;
            }

            if (Test.Contains(ticket))
            {
                Move(Test, Done, ticket);
                return;
            }

            if (Done.Contains(ticket))
            {
                throw new InvalidOperationException("The ticket is in the done column");
            }

            throw new InvalidOperationException("Ticket not found");
        }
Exemplo n.º 17
0
        public void Adding_Same_Commit_To_Source_Should_Throw_NotSupportedException()
        {
            // Arrange
            var p1 = new Person("Bas", ERole.Lead);
            var p2 = new Person("Tom", ERole.Developer);

            var project = new Project("AvansDevOps", p1);
            var source  = new Source("AvansDevOps_Web");

            project.AddSource(source);

            var backlog = new Backlog(project);

            project.AddBacklog(backlog);

            backlog.AddBacklogItem(new BacklogItem("User should be able to log into the web interface", "foo", p2, 3, backlog));

            // Act
            var factory = new CommitFactory();
            var commit  = factory.MakeCommit("Adding login section to website", "Reference to backlogItem",
                                             project.GetBacklog().GetBacklogItems().Find(backlogItem => backlogItem.GetDescription() == "foo"));

            project.GetSources().First().AddCommit(commit);


            // Assert
            Assert.Contains(commit, project.GetSources().First().GetCommits());
            Assert.Throws <NotSupportedException>(() => project.GetSources().First().AddCommit(commit));
        }
Exemplo n.º 18
0
        //2.3.1 Save editted data of a backlog
        public int updateBacklog(Backlog backlog, int projectID)
        {
            string command = "UPDATE Backlog SET Title=@Title, Description=@Description, " +
                             "Complexity=@Complexity, Color=@Color, Start_date=@Start_date, Completion_date=@Completion_date " +
                             "WHERE Backlog_ID=@Backlog_ID AND Project_ID=@projectID";

            addParameter <string>("@Title", SqlDbType.NVarChar, backlog.Title);
            addParameter <string>("@Description", SqlDbType.NVarChar, backlog.Description);
            addParameter <int>("@Complexity", SqlDbType.Int, backlog.Complexity);
            addParameter <string>("@Color", SqlDbType.VarChar, backlog.Color);

            // Start date is nullable field - the user can skip input data of that field
            try { addParameter <DateTime>("@Start_date", SqlDbType.DateTime2, DateTime.ParseExact(backlog.Start_date, "dd.MM.yyyy", null)); }
            catch { addParameter <DBNull>("@Start_date", SqlDbType.DateTime2, DBNull.Value); }

            // Completion date is nullable field - the user can skip input data of that field
            try { addParameter <DateTime>("@Completion_date", SqlDbType.DateTime2, DateTime.ParseExact(backlog.Completion_date, "dd.MM.yyyy", null)); }
            catch { addParameter <DBNull>("@Completion_date", SqlDbType.DateTime2, DBNull.Value); }

            addParameter("@Backlog_ID", SqlDbType.Int, backlog.Backlog_ID);
            addParameter <int>("@projectID", SqlDbType.Int, projectID);

            myCommand.CommandText = command;
            int result = myCommand.ExecuteNonQuery();

            myCommand.Parameters.Clear();
            return(result);
        }
Exemplo n.º 19
0
        public void Deleting_An_Existing_Source_From_A_Project_Should_Not_Throw_Exception()
        {
            // Arrange
            var p1 = new Person("Bas", ERole.Lead);
            var p2 = new Person("Tom", ERole.Developer);

            var project = new Project("AvansDevOps", p1);
            var source  = new Source("AvansDevOps_Web");

            project.AddSource(source);

            var backlog = new Backlog(project);

            project.AddBacklog(backlog);

            backlog.AddBacklogItem(new BacklogItem("User should be able to log into the web interface", "foo", p2, 3, backlog));

            // Act
            var factory = new CommitFactory();
            var commit  = factory.MakeCommit("Adding login section to website", "Reference to backlogItem",
                                             project.GetBacklog().GetBacklogItems().Find(backlogItem => backlogItem.GetDescription() == "foo"));

            project.GetSources().First().AddCommit(commit);


            // Assert
            project.RemoveSource(source);
            Assert.Empty(project.GetSources());
        }
Exemplo n.º 20
0
        /// <summary>
        /// Execution of new scrum that will dete tasks from Done, and put all current task to BackLog.
        /// </summary>
        public void NewScrumCommandExecute()
        {
            foreach (var i in Done)
            {
                DeleteTask(i);
            }

            Done.Clear();

            foreach (var i in Doing)
            {
                i.States = BackLog.State.Backlog;
                PutTask(i);
                Backlog.Add(i);
            }
            foreach (var i in ToDo)
            {
                i.States = BackLog.State.Backlog;
                PutTask(i);
                Backlog.Add(i);
            }

            Doing.Clear();
            ToDo.Clear();
        }
Exemplo n.º 21
0
 public static BacklogDisplayItem FromBacklog(Backlog backlog, Submission[] submissions) => new BacklogDisplayItem()
 {
     Id             = backlog.Id,
     Title          = backlog.Title,
     UserStoryCount = backlog.UserStories.Length,
     VoteCount      = submissions.Length
 };
Exemplo n.º 22
0
 public Sprint()
 {
     active     = false;
     t          = new System.Timers.Timer(interval);
     t.Elapsed += new ElapsedEventHandler(CheckForTime_Elapsed);
     t.Enabled  = true;
     backlog    = new Backlog(this);
 }
Exemplo n.º 23
0
        public void Growing_number_of_resources()
        {
            var sut = new Backlog(new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });

            Assert.Equal(45, sut.CalculateDeliveryTime(1));
            Assert.Equal(25, sut.CalculateDeliveryTime(2));
            Assert.Equal(18, sut.CalculateDeliveryTime(3));
        }
Exemplo n.º 24
0
        public void ByDefault_BacklogIsEmpty()
        {
            var backlog = new Backlog();

            var backlogItems = backlog.Items;

            CollectionAssert.IsEmpty(backlogItems);
        }
Exemplo n.º 25
0
        public ActionResult DeleteConfirmed(int id)
        {
            Backlog backlog = db.Backlogs.Find(id);

            db.Backlogs.Remove(backlog);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 26
0
        internal void SaveBacklog(Backlog backlog, string id)
        {
            backlog.Id = id;
            var jsonString       = JsonConvert.SerializeObject(backlog);
            var backlogDirectory = CreateBacklogDirectory(id);

            File.WriteAllText(Path.Combine(backlogDirectory, "Backlog.json"), jsonString);
        }
Exemplo n.º 27
0
        public void Handle(CreateBacklogCommand command)
        {
            var backlog = Backlog.Create(0, command.Title, Enum.Parse <BacklogTypeEnum>(command.Type), Enum.Parse <BacklogPriorityEnumType>(command.Priority), Enum.Parse <BacklogStatusEnum>(command.Status), ResolutionEnumType.New, command.Description, null, null, DateTime.Today, null);

            _gswContext.Backlogs.Add(backlog);

            _gswContext.SaveChanges();
        }
Exemplo n.º 28
0
        private void GoToBacklogCommandExecute(Window window)
        {
            BacklogVM dataContext = new BacklogVM(logedUser, _dialogCoordinator); // mozna by przekazywac ta wczesniej uzywana klase by parametry wyszukiwania zostawaly
            Backlog   backlog     = new Backlog();

            backlog.DataContext = dataContext;
            backlog.Show();
            window.Close();
        }
Exemplo n.º 29
0
        public void DeleteBacklog(Backlog backlog)
        {
            var existItem = GetBacklogById(backlog.Id);

            if (existItem != null)
            {
                db.DeleteItem(backlog);
            }
        }
Exemplo n.º 30
0
 /// <summary>
 /// Bruges til at restte viewet tilbage til normalen så der ikke står noget i input felterne
 /// </summary>
 public void SprintReset()
 {
     SprintBacklog.Clear();
     Backlog.Clear();
     Sprint_GoalVM = "";
     SletState     = "Collapsed";
     CreateCommand = new RelayCommand(Create);
     Load();
 }