// GET: KanbanBoard
        public async Task <IActionResult> Index()
        {
            KanbanBoard kanbanBoard = await _repos.FetchKanbanBoardAsync(1);

            List <KanbanColumn> columns = await _repos.FetchColumnsAsync(kanbanBoard.Id);

            List <KanbanItem> todoItems = await _repos.FetchItemsByColumnAsync(Column.ToDo);

            List <KanbanItem> doingItems = await _repos.FetchItemsByColumnAsync(Column.Doing);

            List <KanbanItem> testingItems = await _repos.FetchItemsByColumnAsync(Column.Testing);

            List <KanbanItem> doneItems = await _repos.FetchItemsByColumnAsync(Column.Done);

            KanbanBoardVM viewModel = new KanbanBoardVM
            {
                KanbanBoard   = kanbanBoard,
                KanbanColumns = columns,
                ToDoItems     = todoItems,
                DoingItems    = doingItems,
                TestingItems  = testingItems,
                DoneItems     = doneItems
            };

            return(View(viewModel));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            KanbanBoard kanbanBoard = db.Boards.Find(id);

            db.Boards.Remove(kanbanBoard);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "KanbanBoardId,BoardName")] KanbanBoard kanbanBoard)
 {
     if (ModelState.IsValid)
     {
         db.Entry(kanbanBoard).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(kanbanBoard));
 }
        public ActionResult Create([Bind(Include = "KanbanBoardId,BoardName")] KanbanBoard kanbanBoard)
        {
            if (ModelState.IsValid)
            {
                db.Boards.Add(kanbanBoard);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(kanbanBoard));
        }
        public void AddKanbanBoardToProjectTest()
        {
            //Arrange
            KanbanBoard board = new KanbanBoard();

            //Act
            project.AddBoard(board);

            //Assert
            Assert.IsTrue(project.GetBoard() is KanbanBoard);
        }
        // GET: KanbanBoards/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            KanbanBoard kanbanBoard = db.Boards.Find(id);

            if (kanbanBoard == null)
            {
                return(HttpNotFound());
            }
            return(View(kanbanBoard));
        }
        public async Task HandleAsync(Command command)
        {
            using (var transaction = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    var board = new KanbanBoard
                    {
                        Name    = command.Name,
                        OwnerID = command.UserId,
                    };

                    _dbContext.KanbanBoards.Add(board);
                    await _dbContext.SaveChangesAsync();

                    command.BoardId = board.ID;

                    if (command.ParticipantIds != null && command.ParticipantIds.Any())
                    {
                        var participants = command.ParticipantIds.ToHashSet();
                        participants.Remove(command.UserId);
                        var boardAccess = participants.Select(x => new KanbanBoardAccess
                        {
                            BoardID          = board.ID,
                            UserWithAccessID = x
                        }).ToList();

                        _dbContext.KanbanBoardAccess.AddRange(boardAccess);
                    }

                    await _dbContext.SaveChangesAsync();

                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
            }
        }
Example #8
0
 public Service()
 {
     kanban = new KanbanBoard();
 }
Example #9
0
 public KanbanBoardTests()
 {
     sut = new KanbanBoard(new PersistencyMockup());
 }
        /// <summary>
        /// Fills the database with the default roles and an admin user (if no roles and if no admin exists), in addition to THE kanban board.
        /// </summary>
        public static void Initialise(RoleManager <IdentityRole> roleManager, UserManager <IdentityUser> userManager, ApplicationDbContext context)
        {
            if (!roleManager.Roles.Any())
            {
                roleManager.CreateAsync(new IdentityRole("Admin")).Wait(TimeSpan.FromSeconds(10));
                roleManager.CreateAsync(new IdentityRole("Team")).Wait(TimeSpan.FromSeconds(5));
                roleManager.CreateAsync(new IdentityRole("Contributor")).Wait(TimeSpan.FromSeconds(5));
                roleManager.CreateAsync(new IdentityRole("Observer")).Wait(TimeSpan.FromSeconds(5));
            }

            if (!context.KanbanBoards.Any())
            {
                try
                {
                    var kanbanBoard = new KanbanBoard();
                    kanbanBoard.Id          = 1;
                    kanbanBoard.ProjectName = "Kanban Board";
                    context.KanbanBoards.Add(kanbanBoard);

                    var kanbanColumn  = new KanbanColumn(1, "To Do", kanbanBoard.Id);
                    var kanbanColumn2 = new KanbanColumn(2, "Doing", kanbanBoard.Id);
                    var kanbanColumn3 = new KanbanColumn(3, "Testing", kanbanBoard.Id);
                    var kanbanColumn4 = new KanbanColumn(4, "Done", kanbanBoard.Id);

                    List <KanbanColumn> columns = new List <KanbanColumn>
                    {
                        kanbanColumn, kanbanColumn2, kanbanColumn3, kanbanColumn4
                    };
                    foreach (var column in columns)
                    {
                        context.KanbanColumns.Add(column);
                    }

                    context.SaveChanges();
                }
                catch
                {
                    Console.WriteLine("Kanban board seeding failed.");
                }
            }

            if (userManager.GetUsersInRoleAsync("Admin").Result.Count <= 0)
            {
                string adminUsername = "******";
                var    admin         = userManager.Users.FirstOrDefault(x => x.UserName == adminUsername);
                if (admin == default)
                {
                    IdentityUser newAdmin = new IdentityUser(adminUsername);
                    newAdmin.Email = adminUsername;
                    IdentityResult result = userManager.CreateAsync(newAdmin, "GU9O`cVista=0E$e").Result;
                    if (result.Succeeded)
                    {
                        userManager.AddToRoleAsync(userManager.Users.FirstOrDefault(x => x.UserName == adminUsername), "Admin");
                    }
                }
                else
                {
                    userManager.AddToRoleAsync(userManager.Users.FirstOrDefault(x => x.UserName == adminUsername), "Admin");
                }
            }
        }
Example #11
0
 public UserWindowDataContext()
 {
     kanban = new KanbanBoard();
     kanban.UploadData();
 }