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)); }
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)); } }