Пример #1
0
        public ActionResult EditBoard(int id)
        {
            var             board     = boardRepository.Detail(id);
            KanbanInfoModel boardInfo = new KanbanInfoModel
            {
                Id              = board.ID,
                Title           = board.Title,
                Code            = board.Code,
                BoardMemberList = board.Members.Select(m => m.UID.ToString()).ToArray()
            };

            return(PartialView("EditBoardModal", boardInfo));
        }
Пример #2
0
        public ActionResult SaveBoard(KanbanInfoModel model)
        {
            if (ModelState.IsValid)
            {
                bool  isNew = false;
                Board board = null;

                if (model.Id > 0)
                {
                    board = boardRepository.Detail(model.Id);
                    if (board != null)
                    {
                        board.Title = model.Title.Trim();
                        board.Members.Clear();
                    }
                }
                if (board == null)
                {
                    board = new Board
                    {
                        ID         = model.Id,
                        Title      = model.Title.Trim(),
                        Code       = (model.Code.Trim().Length == 0 ? KanbanService.GetInstance().GenerateBoardCode(model.Title.Trim()) : model.Code.Trim()),
                        OwnerID    = AccountHelper.GetCurrentUser(User.Identity.Name).UID,
                        WorkflowID = model.WorkflowID,
                        Members    = new List <Account>()
                    };
                    isNew = true;
                }

                foreach (string id in model.BoardMemberList)
                {
                    int uid = 0;
                    int.TryParse(id, out uid);
                    var user = accRepository.Find(uid);
                    if (user != null && uid != board.OwnerID && (!board.Members.Select(m => m.UID).Contains(uid)))
                    {
                        board.Members.Add(user);
                    }
                }
                if (boardRepository.Save(board))
                {
                    KanbanService.GetInstance().ReloadData();
                    TempData["message"] = string.Format("Lưu Bảng Công Việc thành công");
                    var url = String.Empty;
                    if (isNew)
                    {
                        url = Url.Action("ViewBoard", new { boardcode = board.Code });
                    }
                    else
                    {
                        url = Url.Action("Index");
                    }
                    return(Json(new { boardid = board.ID, success = true, message = TempData["message"], redirectUrl = url }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    TempData["message"] = string.Format("Lưu không thành công");
                    return(Json(new { taskId = 0, success = false, message = TempData["message"] }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                TempData["message"] = string.Format("Lưu không thành công");
                return(Json(new { taskId = 0, success = false, message = TempData["message"] }, JsonRequestBehavior.AllowGet));
            }
        }