public ActionResult Put(Guid id, [FromBody] ColumnPutDTOModel data)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Not a valid model"));
            }
            initUser();
            var currColumn = _context.Columns
                             .Include(column => column.ItemCards)
                             .FirstOrDefault <Column>(column => column.id == id && column.user.Id == _user.Id);

            if (currColumn is not null)
            {
                try
                {
                    currColumn.name       = data.name;
                    currColumn.modifyDate = DateTime.Now;
                    foreach (var currCard in currColumn.ItemCards)
                    {
                        var inCard = data.itemCards.Where(c => c.id == currCard.id).FirstOrDefault();
                        currCard.Order      = inCard.Order;
                        currCard.modifyDate = DateTime.Now;
                    }
                    var success = _context.SaveChanges();
                    return(Ok(success));
                }
                catch (Exception ex)
                {
                    return(StatusCode(500, ex));
                }
            }
            return(NotFound(id));
        }
        public ActionResult AddColumnToBoardById(Guid id, [FromBody] ColumnPutDTOModel data)
        {
            var value = data.name;

            initUser();
            Board candidateBoard = _context.Boards
                                   .Include(board => board.Columns)
                                   .Where(board => board.id == id && board.user.Id == _user.Id)
                                   .FirstOrDefault();

            if (candidateBoard is not null)
            {
                if (candidateBoard.Columns is null)
                {
                    candidateBoard.Columns = new List <Column>();
                }
                var added = new Column
                {
                    BoardId    = candidateBoard.id,
                    order      = candidateBoard.Columns.Count() + 1,
                    createDate = DateTime.Now,
                    modifyDate = DateTime.Now,
                    name       = value,
                    user       = _user
                };
                candidateBoard.Columns.Add(added);
                candidateBoard.modifyDate = DateTime.Now;
                _context.Columns.Add(added);
                _context.Entry <Board>(candidateBoard).State = EntityState.Modified;
                try
                {
                    var success = _context.SaveChanges();
                    return(Ok(success));
                }
                catch (Exception e)
                {
                    return(BadRequest(e.Message));
                }
            }
            return(NotFound(id));
        }