Example #1
0
        /// <summary>
        /// モデルを取得
        /// </summary>
        /// <returns></returns>
        public KptListModel GetModel(int boardId, Kpt.KptType type)
        {
            var _kptListModel = new KptListModel();
            var list          = tableUtils.GetKptList(boardId, type);

            switch (type)
            {
            case Kpt.KptType.Keep:
                _kptListModel.InputTitle    = "Keep";
                _kptListModel.InputNextType = Kpt.KptType.Problem;
                break;

            case Kpt.KptType.Problem:
                _kptListModel.InputTitle    = "Problem";
                _kptListModel.InputNextType = Kpt.KptType.Try;
                break;

            case Kpt.KptType.Try:
                _kptListModel.InputTitle    = "Try";
                _kptListModel.InputNextType = Kpt.KptType.Try;
                break;

            default:
                break;
            }

            // ViewModel作成
            _kptListModel.KptList   = list;
            _kptListModel.InputType = type;
            return(_kptListModel);
        }
Example #2
0
        public ActionResult KptResultList(int boardId, string type)
        {
            ViewBag.Title = string.Format("{0} 一覧画面", type.ToUpper());
            var model   = new KptListModel();
            var kptType = (KptType)Enum.Parse(typeof(KptType), type, true);

            model.KptList = tableUtils.GetKptList(boardId, kptType);
            model.BoardId = boardId;
            return(View("Index", model));
        }
Example #3
0
        /// <summary>
        /// KPT入力
        /// </summary>
        /// <returns></returns>
        public ActionResult KptInput(int boardId, Kpt.KptType type)
        {
            var model = new KptListModel();

            //セッションから取得する。
            var username = HttpContext.Request.Cookies[cUserName];

            model         = kptListLogic.GetUserModel(boardId, type, username);
            model.BoardId = boardId;

            return(View(model));
        }
Example #4
0
        public async System.Threading.Tasks.Task <ActionResult> KptInput(KptListModel inputModel, IList <Kpt> kpt, string inputitem, string commititem)
        {
            var list = kpt;

            if (list == null || list.Count == 0)
            {
                list = new List <Kpt>();
            }

            //セッションから取得する。
            var username = HttpContext.Request.Cookies[cUserName];

            if (inputitem != null)
            {
                Kpt newkpt = new Kpt()
                {
                    Type     = inputModel.InputType,
                    UserName = username,
                    Title    = inputModel.Title,
                    Comment  = inputModel.Comment
                };
                list.Add(newkpt);

                //リスト置き換え
                ModelState.Clear();
                inputModel.Title           = string.Empty;
                inputModel.Comment         = string.Empty;
                inputModel.KptList         = list;
                inputModel.IsDeleteMode    = false;
                inputModel.DeleteItemIndex = -1;

                return(View(inputModel));
            }

            //リストから項目を削除する。
            if (inputModel.IsDeleteMode)
            {
                Kpt delItem = list[inputModel.DeleteItemIndex];

                //テーブルに既に登録されている場合は、削除する。
                IList <Kpt> tlist   = kptListLogic.GetUserKptList(inputModel.BoardId, inputModel.InputType, username);
                var         isExist = tlist.Any(x => x.Title == delItem.Title);

                if (isExist)
                {
                    //KPTアイテムの削除
                    await tableUtils.DelKptAsync(inputModel.BoardId, inputModel.InputType, delItem);
                }

                //リストから削除
                list.RemoveAt(inputModel.DeleteItemIndex);

                //リスト置き換え
                ModelState.Clear();
                inputModel.Title           = string.Empty;
                inputModel.Comment         = string.Empty;
                inputModel.KptList         = list;
                inputModel.IsDeleteMode    = false;
                inputModel.DeleteItemIndex = -1;

                return(View(inputModel));
            }


            //リストの登録
            await tableUtils.CommitKptListByUserAsync(inputModel.BoardId, username, inputModel.InputType, list.ToList());

            if (inputModel.InputType == KptType.Try)
            {
                return(Redirect("/Kpt/Index?boardId=" + inputModel.BoardId + "&type=" + inputModel.InputType));
            }
            return(Redirect("/Kpt/KptInput?boardId=" + inputModel.BoardId + "&type=" + (inputModel.InputType + 1)));
        }