Example #1
0
        public IActionResult Index()
        {
            ViewData["isLogin"] = _sessionDao.GetUsername(Logic.Logic.GetSessionId(Request)) != null;
            var sessionId = Logic.Logic.GetSessionId(Request);
            var title     = Logic.Logic.GetValue(Request, "title");
            var content   = Logic.Logic.GetValue(Request, "body");
            var tags      = Logic.Logic.GetValue(Request, "tags");

            var username = _sessionDao.GetUsername(sessionId);
            var user     = (User)_userDao.GetUserByUsername(username);

            if (user == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            if (title != null && content != null && tags != null)
            {
                var ts         = tags.Split(' ');
                var questionId = _questionDao.CreateQuestion(title, content, user.Id);


                foreach (string tagtmp in ts)
                {
                    if (_tagDao.GetTag(tagtmp) == null)
                    {
                        //create tag
                        _tagDao.CreatTag(tagtmp);
                    }
                    //get tagId
                    var tag   = (Tag)_tagDao.GetTag(tagtmp);
                    var tagId = tag.Id;

                    //create question tag
                    _tagQuestionDao.CreateTagQuestion(questionId, tagId);
                }
            }
            else if (Request.Method == "POST")
            {
                ViewData["errorAddQuestion"] = "title and body are requirement";
            }



            return(View());
        }