예제 #1
0
        public JsonResult AddTopicReply(ForumModelView model)
        {
            int    result = -1;
            string strMsg = "";

            try
            {
                if (String.IsNullOrEmpty(model.Message) || model.Message.Trim() == "")
                {
                    result = -2;
                    strMsg = "Message required.";
                }
                else
                {
                    ForumHelper helper = new ForumHelper();
                    string      msg    = helper.AddTopicReply(model);
                    if (msg == "success")
                    {
                        strMsg = "You have replied successfully.";
                        result = 0;
                    }
                    else
                    {
                        strMsg = "Error! Try again later.";
                        result = -3;
                    }
                }
            }
            catch (Exception ex)
            {
                strMsg = "Exception: " + ex.Message;
            }
            return(Json(new { counter = result, msg = strMsg, topicId = model.TopicId }, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        /// <summary>
        /// Load the Forum message listing
        /// </summary>
        /// <param name="keyword"></param>
        /// <param name="sortBy"></param>
        /// <param name="pageNo"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public PartialViewResult LoadForumList(string keyword, string sortBy, string pageNo, string pageSize = "10")
        {
            ForumHelper helper = new ForumHelper();
            ForumModel  model  = new ForumModel();

            model.StratasBoardId = ClientSessionData.ClientStrataBoardId;
            var forumList = helper.GetForumListing(model);


            if (!string.IsNullOrEmpty(keyword))
            {
                forumList = forumList.Where(x => x.Topic.ToLower().Contains(keyword.ToLower()) || x.TopicContent.ToLower().Contains(keyword.ToLower())).ToList();
            }

            if (!string.IsNullOrEmpty(sortBy))
            {
                if (sortBy == "date asc")
                {
                    forumList = forumList.OrderBy(x => x.CreatedOn).ToList();
                }
                else if (sortBy == "date desc")
                {
                    forumList = forumList.OrderByDescending(x => x.CreatedOn).ToList();
                }
                else if (sortBy == "title asc")
                {
                    forumList = forumList.OrderBy(x => x.Topic).ToList();
                }
                else if (sortBy == "title desc")
                {
                    forumList = forumList.OrderByDescending(x => x.Topic).ToList();
                }
                else
                {
                    forumList = forumList.OrderByDescending(x => x.CreatedOn).ToList();
                }
            }


            int totalRecords = forumList.Count;

            ForumModelView forumViewModel = new ForumModelView();

            forumViewModel.TotalPages = totalRecords / Convert.ToInt32(pageSize);
            if (totalRecords % Convert.ToInt32(pageSize) > 0)
            {
                forumViewModel.TotalPages++;
            }

            var skip = Convert.ToInt32(pageSize) * (Convert.ToInt32(pageNo) - 1);

            forumViewModel.ListForum = forumList.Skip(skip).Take(Convert.ToInt32(pageSize)).ToList();

            return(PartialView("_ForumListPartial", forumViewModel));
        }
예제 #3
0
        /// <summary>
        /// Add the new topic message reply into the database.
        /// </summary>
        /// <param name="objectModel"></param>
        /// <returns></returns>
        public string AddTopicReply(ForumModelView objectModel)
        {
            ObjectParameter returnParameter = new ObjectParameter("Err", typeof(int));

            context.Usp_AddUpdForumReply(Convert.ToInt64(objectModel.TopicId), objectModel.Message.Trim(), ClientSessionData.ClientStrataBoardId, ClientSessionData.UserClientId, DateTime.UtcNow, 1, ClientSessionData.UserClientId, HttpContext.Current.Request.UserHostAddress, false, returnParameter);
            if ((int)returnParameter.Value == 0)
            {
                return("success");
            }
            else
            {
                return("failed");
            }
        }