示例#1
0
        /// <summary>
        /// Simple constructor of the board, so it need an email(unique) in order to create a new one for a new user!
        /// </summary>
        /// <param name="email"></param>
        public Board(string email)
        {
            taskId       = 1;
            Email        = email;
            boardColumns = new List <Column>();

            columnDalController = new DataAccess_Layer.ColumnDalController();
            taskDalController   = new DataAccess_Layer.TaskDalController();

            Column c1 = new Column("backlog");

            c1.Email    = email;
            c1.columnID = 0;

            columnDalController.Insert(c1.ToDalObject());
            Column c2 = new Column("in progress");

            c2.Email    = email;
            c2.columnID = 1;

            columnDalController.Insert(c2.ToDalObject());
            Column c3 = new Column("done");

            c3.Email    = email;
            c3.columnID = 2;
            columnDalController.Insert(c3.ToDalObject());

            boardColumns.Add(c1);
            boardColumns.Add(c2);
            boardColumns.Add(c3);
        }
示例#2
0
        /// <summary>
        /// Support adding a new column to the board!
        /// </summary>
        /// <param name="columnId"> a unique Id of column </param>
        /// <param name="name"> a unique name of the column </param>
        public void addColumn(int columnId, string name)
        {
            if (columnId < 0 || columnId > boardColumns.Count)
            {
                throw new Exception("position must be between 0 and " + (boardColumns.Count - 1));
            }
            for (int i = 0; i < boardColumns.Count; i++)
            {
                if (boardColumns[i].getName().Equals(name))
                {
                    throw new Exception("Column already named with this name.");
                }
            }
            if (name.Length > 15)
            {
                throw new Exception("Column name is too long");
            }
            Column col = new Column(name);

            boardColumns.Insert(columnId, col);

            //Shifting columns.
            for (int i = columnId; i < boardColumns.Count; i++)
            {
                boardColumns.ElementAt(i).columnID = i;
                boardColumns.ElementAt(i).Save();
            }

            //Insert new column to database.
            col.Email    = Email;
            col.columnID = columnId;
            columnDalController.Insert(col.ToDalObject());
            Save();//Saving board due to columns increment.
        }