예제 #1
0
        public bool AddUserSuggestion(UserSuggestion suggestion)
        {
            db.UserSuggestions.Add(suggestion);
            Boolean result = (db.SaveChanges() == 1);

            return(result);
        }
        /// <summary>
        /// 用户提交意见
        /// </summary>
        /// <param name="apiSuggestionModel"></param>
        /// <returns></returns>
        public object AddSuggestion([FromBody] ApiSuggestionModel apiSuggestionModel)
        {
            var            userInfo       = GetCurrentUserInfo();
            UserSuggestion userSuggestion = new UserSuggestion()
            {
                Id         = Guid.NewGuid(),
                Msg        = apiSuggestionModel.Msg,
                UserId     = userInfo.Id,
                CreateTime = DateTime.Now
            };

            try
            {
                SuggestionBusiness.AddItem(userSuggestion);

                return(ApiReturnModel.ReturnOk("提交成功"));
            }

            catch (Exception e)
            {
                //记录日志
                LogHelp.WriteLog(e.Message, ApiFileDirectoryPara.ApiErrorDir);

                return(ApiReturnModel.ReturnError("提交错误"));
            }
        }
예제 #3
0
        public async Task <ActionResult> DeleteConfirmed(int?id)
        {
            var user = await GetUser();

            UserSuggestion userSuggestion = db.UserSuggestions.Find(user.Id, id);

            db.UserSuggestions.Remove(userSuggestion);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #4
0
        // GET: StuffSuggestion
        public override ActionResult Index(string sortOrder, string searchString)
        {
            List <UserSuggestion> userSuggestions = new List <UserSuggestion>();

            ViewBag.TitleSortParm = String.IsNullOrEmpty(sortOrder) ? "title_desc" : "";
            ViewBag.DateSortParm  = sortOrder == "Date" ? "date_desc" : "Date";
            ViewBag.VoteSortParm  = sortOrder == "mostPopular" ? "leastPopular" : "mostPopular";
            var suggestions = from s in db.Suggestions.Include(s => s.User).Where(s => s.GroupName == Models.Suggestion.Group.Staff)
                              select s;

            if (!String.IsNullOrEmpty(searchString))
            {
                suggestions = suggestions.Where(s => s.Title.Contains(searchString) ||
                                                s.Description.Contains(searchString) ||
                                                s.CreatingTime.ToString().Contains(searchString));
            }

            switch (sortOrder)
            {
            case "title_desc":
                suggestions = suggestions.OrderByDescending(s => s.Title);
                break;

            case "Date":
                suggestions = suggestions.OrderBy(s => s.CreatingTime);
                break;

            case "date_desc":
                suggestions = suggestions.OrderByDescending(s => s.CreatingTime);
                break;

            case "mostPopular":
                suggestions = suggestions.OrderByDescending(s => s.Vote);
                break;

            case "leastPopular":
                suggestions = suggestions.OrderBy(s => s.Vote);
                break;

            default:
                suggestions = suggestions.OrderBy(s => s.Title);
                break;
            }


            var x = suggestions.ToList();

            foreach (var suggestion in suggestions.ToList())
            {
                UserSuggestion userSuggestion = MakeAUserSuggestion(suggestion);
                userSuggestions.Add(userSuggestion);
            }

            return(View(userSuggestions));
        }
예제 #5
0
        public ActionResult MakeSuggestion(UserSuggestion newSuggestion)
        {
            using (DataContext context = new DataContext())
            {
                newSuggestion.UserId = WebSecurity.CurrentUserId;
                context.UserSuggestions.Add(newSuggestion);
                context.SaveChanges();
            }

            return(Redirect("/Polls"));
        }
예제 #6
0
        public ActionResult MySuggestion(string sortOrder, string searchString)
        {
            int currentUserId = db.users.Where(u => u.Email == User.Identity.Name).Single().Id;
            List <UserSuggestion> userSuggestions = new List <UserSuggestion>();

            ViewBag.TitleSortParm = String.IsNullOrEmpty(sortOrder) ? "title_desc" : "";
            ViewBag.DateSortParm  = sortOrder == "Date" ? "date_desc" : "Date";
            ViewBag.VoteSortParm  = sortOrder == "mostPopular" ? "leastPopular" : "mostPopular";
            var suggestions = from s in db.Suggestions.Include("User").Where(s => s.UserId == currentUserId)
                              select s;

            if (!String.IsNullOrEmpty(searchString))
            {
                suggestions = suggestions.Where(s => s.Title.Contains(searchString) ||
                                                s.Description.Contains(searchString) ||
                                                s.CreatingTime.ToString().Contains(searchString));
            }

            switch (sortOrder)
            {
            case "title_desc":
                suggestions = suggestions.OrderByDescending(s => s.Title);
                break;

            case "Date":
                suggestions = suggestions.OrderBy(s => s.CreatingTime);
                break;

            case "date_desc":
                suggestions = suggestions.OrderByDescending(s => s.CreatingTime);
                break;

            case "mostPopular":
                suggestions = suggestions.OrderByDescending(s => s.Vote);
                break;

            case "leastPopular":
                suggestions = suggestions.OrderBy(s => s.Vote);
                break;

            default:
                suggestions = suggestions.OrderBy(s => s.Title);
                break;
            }


            foreach (var suggestion in suggestions.ToList())
            {
                UserSuggestion userSuggestion = MakeAUserSuggestion(suggestion);
                userSuggestions.Add(userSuggestion);
            }

            return(View(userSuggestions));
        }
예제 #7
0
 public IActionResult SubmitSuggestion(UserSuggestion suggestion)
 {
     if (ModelState.IsValid)
     {
         //Making sure that the data that was passed is valid and if not returning the normal view with error message. If valid, adding the info the temp
         tempStorage.AddResturant(suggestion);
         return(View("SuggestList", tempStorage.SuggestList));
     }
     else
     {
         return(View());
     }
 }
예제 #8
0
        public async Task <ActionResult> Create([Bind(Include = "UserId,SuggestionId,Status")] UserSuggestion userSuggestion)
        {
            if (ModelState.IsValid)
            {
                var user = await GetUser();

                userSuggestion.UserId = user.Id;
                db.UserSuggestions.Add(userSuggestion);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.SuggestionId = new SelectList(db.Suggestions, "Id", "Text", userSuggestion.SuggestionId);
            ViewBag.UserId       = new SelectList(db.Users, "Id", "Email", userSuggestion.UserId);
            return(View(userSuggestion));
        }
예제 #9
0
        // GET: UserSuggestions/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var user = await GetUser();

            UserSuggestion userSuggestion = db.UserSuggestions.Find(user.Id, id);

            if (userSuggestion == null)
            {
                return(HttpNotFound());
            }
            return(View(userSuggestion));
        }
예제 #10
0
 public ActionResult Edit([Bind(Include = "UserId,SuggestionId,Status")] UserSuggestion userSuggestion)
 {
     if (ModelState.IsValid)
     {
         var entry = db.Entry(userSuggestion);
         if (userSuggestion.Status == SuggestionStatus.NotToday && entry.Entity.Status != SuggestionStatus.NotToday)
         {
             userSuggestion.DTAdded = DateTime.Now;
         }
         entry.State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.SuggestionId = new SelectList(db.Suggestions, "Id", "Text", userSuggestion.SuggestionId);
     ViewBag.UserId       = new SelectList(db.Users, "Id", "Email", userSuggestion.UserId);
     return(View(userSuggestion));
 }
예제 #11
0
        // GET: UserSuggestions/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var user = await GetUser();

            UserSuggestion userSuggestion = db.UserSuggestions.Find(user.Id, id);

            if (userSuggestion == null)
            {
                return(HttpNotFound());
            }
            ViewBag.SuggestionId = new SelectList(db.Suggestions, "Id", "Text", userSuggestion.SuggestionId);
            ViewBag.UserId       = new SelectList(db.Users, "Id", "Email", userSuggestion.UserId);
            return(View(userSuggestion));
        }
예제 #12
0
 public ActionResult UserComplaint(String Description, String ContactType, String Contact, String Title)
 {
     try {
         if (Description == "")
         {
             throw new Exception("无内容请求");
         }
         UserSuggestion suggestion = new UserSuggestion();
         suggestion.AddTime     = DateTime.Now;
         suggestion.Description = Description;
         suggestion.Contact     = Contact;
         suggestion.Title       = Title;
         suggestion.ContactType = ContactType;
         Service.AddUserSuggestion(suggestion);
     }
     catch (Exception ex) {
         return(RedirectToAction("Error"));
     }
     return(View());
 }
예제 #13
0
        // GET: Suggestion/Details/5
        public virtual ActionResult Details(int?id, string message)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Suggestion     suggestion     = db.Suggestions.Find(id);
            UserSuggestion userSuggestion = MakeAUserSuggestion(suggestion, "detail");

            if (!String.IsNullOrWhiteSpace(message))
            {
                userSuggestion.SystemMessage = message;
            }

            if (suggestion == null)
            {
                return(HttpNotFound());
            }
            return(View(userSuggestion));
        }
예제 #14
0
        protected UserSuggestion MakeAUserSuggestion(Suggestion suggestion, string flag = "index")
        {
            UserSuggestion userSuggestion = new UserSuggestion();

            userSuggestion.UserId       = suggestion.UserId;
            userSuggestion.SuggestionId = suggestion.SuggestionId;
            userSuggestion.FirstName    = suggestion.User.FirstName;
            userSuggestion.LastName     = suggestion.User.LastName;
            userSuggestion.Title        = suggestion.Title;
            userSuggestion.Description  = suggestion.Description;
            userSuggestion.CreatingTime = suggestion.CreatingTime;
            userSuggestion.Vote         = suggestion.Vote;
            userSuggestion.GroupName    = suggestion.GroupName;
            userSuggestion.NumComments  = suggestion.SuggestionComments.Count;
            userSuggestion.Email        = suggestion.User.Email;

            foreach (var upvote in suggestion.SuggestionUpvotes)
            {
                userSuggestion.SuggestionUpvotes.Add(upvote);
            }

            if (flag == "detail")
            {
                foreach (var comment in suggestion.SuggestionComments)
                {
                    SuggestionCommentView suggestionCommentView = new SuggestionCommentView();
                    suggestionCommentView.CommentId    = comment.CommentId;
                    suggestionCommentView.UserId       = comment.UserId;
                    suggestionCommentView.UserName     = comment.User.LastName + ", " + comment.User.FirstName;
                    suggestionCommentView.Email        = comment.User.Email;
                    suggestionCommentView.SuggestionId = comment.SuggestionId;
                    suggestionCommentView.Description  = comment.Description;
                    suggestionCommentView.CreatingTime = comment.CreatingTime;
                    userSuggestion.SuggestionCommentViews.Add(suggestionCommentView);
                }
            }

            return(userSuggestion);
        }