Exemple #1
0
        public Task(DateTime dueDate, string title, string description, int key, string email, int columnId, int boardId) // construcor with description
        {
            this.emailAssignee = email;
            this.columnId      = columnId;
            this.boardId       = boardId;
            if (isValidTitle(title))
            {
                this.title = title;
            }
            this.creationTime = DateTime.Now;
            if (isValidDueDate(dueDate, creationTime))
            {
                this.dueDate = dueDate;
            }
            if (isValidDescription(description))
            {
                this.description = description;
            }
            this.dueDate = dueDate;
            this.title   = title;
            this.key     = key;



            //inserting to database
            DataAccessLayer.dataTaskController DTC = new DataAccessLayer.dataTaskController();
            DTC.Insert(this.toDalObject());
        }
Exemple #2
0
        public void loadata()
        {
            if (users.Count == 0) //Cant load data before deleting it
            {
                DataAccessLayer.dataBoardController  boardController  = new DataAccessLayer.dataBoardController();
                DataAccessLayer.dataTaskController   taskController   = new DataAccessLayer.dataTaskController();
                DataAccessLayer.dataColumnController columnController = new DataAccessLayer.dataColumnController();
                DataAccessLayer.dataUserController   UserController   = new DataAccessLayer.dataUserController();
                //Loading from database to dal objects
                List <DataAccessLayer.dataBoard>  allBoards  = boardController.SelectAllBoards();
                List <DataAccessLayer.dataTask>   allTasks   = taskController.SelectAllTasks();
                List <DataAccessLayer.dataColumn> allColumns = columnController.SelectAllColumns();
                List <DataAccessLayer.dataUser>   allUsers   = UserController.SelectAllUsers();
                List <Board> boards = new List <Board>();

                foreach (var dataUser in allUsers)
                {
                    Board busBoard = null;
                    foreach (var dataBoard in allBoards)
                    {
                        if (dataUser.email.Equals(dataBoard.emailCreator)) //Only add the board created by the user
                        {
                            Dictionary <int, Column> busColumns = new Dictionary <int, Column>();
                            foreach (var dataColumn in allColumns)
                            {
                                if (dataColumn.boardId == dataBoard.boardId)
                                {
                                    List <Task> busTasks = new List <Task>();
                                    foreach (var dataTask in allTasks)
                                    {
                                        if (dataTask.column == dataColumn.ordinal & dataColumn.boardId == dataTask.boardId) //Only add the tasks that match the correct column
                                        {
                                            busTasks.Add(new Task(dataTask));                                               //adding to task list business task which is the copy of the data task
                                        }
                                    }
                                    Column busColumn = new Column(dataColumn, busTasks);
                                    busColumns.Add(busColumn.getKey(), busColumn);
                                }
                            }
                            busBoard = new Board(dataBoard, busColumns);
                            boards.Add(busBoard);
                        }
                    }
                    User busUser = new User(dataUser, busBoard);
                    users.Add(busUser.getEmail(), busUser);
                }

                foreach (var user in users)
                {
                    if (user.Value.getBoard() == null) //A user that is not a board creator
                    {
                        foreach (var board in boards)
                        {
                            if (board.getBoardId() == user.Value.getBoardId())
                            {
                                user.Value.setBoard(board); //board is not null
                                board.addAssignedUser(user.Value.getEmail());
                            }
                        }
                    }
                }
                bc.loadData(users); //Loading all Boards to BoardController
            }
        }