public async Task <IActionResult> OnGetAsync(int?id) { var sesi = base.HttpContext.Session.GetString("_Email"); if (sesi == null) { return(RedirectToPage("/AdminLogin")); } if (sesi != "*****@*****.**") { return(RedirectToPage("/Index")); } ViewData["Session"] = sesi; if (id == null) { return(NotFound()); } VoteItemModel = await _context.VotingItems.FirstOrDefaultAsync(m => m.ItemID == id); if (VoteItemModel == null) { return(NotFound()); } return(Page()); }
public ActionResult ItemAdd(int id) { var voteProject = GetVoteProject(id); if (voteProject == null) { ViewBag.Message = "oops~~, we cannot find the vote project."; return View("Alert"); } if (voteProject.BeginTime < DateTime.Now) { ViewBag.Message = "Sorry, this project has began to vote, cannot add item."; return View("Alert"); } var voteItem = new VoteItemModel() { PId = voteProject.Id, ProjectName = voteProject.Name }; ViewBag.users = db.Users.Where(u => u.UserName != null && u.UserName.Length > 0).OrderBy(i => i.UserName).ToList(); return View("ItemAdd", voteItem); }
private VoteModel GetVoteModel(VoteProject voteProject) { //Get the VoteItems var voteItems = db.VoteItems.Where(i => i.PId == voteProject.Id && i.State == 0).ToList(); var userId = User.Identity.Name.Split(',')[0]; var voteDetails = db.VoteDetails.Where(d => d.State == 0 && d.PId == voteProject.Id && d.Voter == userId); var itemModels = new List<VoteItemModel>(); foreach (var i in voteItems) { var itemModel = new VoteItemModel() { Id = i.Id, Comment = i.Comment, PId = i.PId, Name = i.Name, Members = i.Nominees, Nominator = i.Nominator, State = 0 }; var detail = voteDetails.FirstOrDefault(d => d.IId == i.Id); itemModel.IsSelected = detail == null;//?false:true; itemModel.PreSelected = detail != null;//?false:true; itemModels.Add(itemModel); } var voteModel = new VoteModel() { Items = itemModels, Project = voteProject, CurrentUserVoteNum = voteDetails.ToList().Count }; return voteModel; }
private IList<VoteItemModel> GetVoteItems(int pid) { //Get the VoteItems var voteItems = db.VoteItems.Where(i => i.PId == pid && i.State == 0).ToList(); var userId = User.Identity.Name.Split(',')[0]; var voteDetails = db.VoteDetails.Where(d => d.State == 0 && d.PId == pid); var itemModels = new List<VoteItemModel>(); foreach (var i in voteItems) { var itemModel = new VoteItemModel() { Id = i.Id, Comment = i.Comment, PId = i.PId, Name = i.Name, Members = i.Nominees, Nominator = i.Nominator, State = i.State, CreatedBy = i.CreatedBy, CreatedTime = i.CreatedTime }; itemModel.IsSelected = voteDetails.FirstOrDefault(d => d.IId == i.Id && d.Voter == userId) != null; itemModel.Count = voteDetails.Where(d => d.IId == i.Id).Count(); itemModels.Add(itemModel); } return itemModels; }
public ActionResult ItemEdit(VoteItemModel voteItem) { var voteProject = GetVoteProject(Convert.ToInt32(voteItem.PId)); if (voteProject.BeginTime < DateTime.Now) { ViewBag.Message = "Sorry, this project has began to vote, cannot add item."; return View(voteItem); } if (voteItem != null && voteItem.Id > 0) { if (voteItem.Nominator != User.Identity.Name.Split(',')[0]) { ViewBag.Message = "Sorry, this item was created by others, you cannot edit it."; return View(voteItem); } if (!ValidateItemName(voteItem.Name, voteItem.PId, voteItem.Id)) { ViewBag.Message = "Sorry, this item name has been used in this project."; return View(voteItem); } var voteItemDB = db.VoteItems.FirstOrDefault(i => i.Id == voteItem.Id); voteItemDB.Name = voteItem.Name; voteItemDB.Nominees = voteItem.Members; voteItemDB.Comment = voteItem.Comment; voteItemDB.ModifiedBy = User.Identity.Name.Split(',')[0]; voteItemDB.ModifiedTime = DateTime.Now; try { db.Entry(voteItemDB).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("ItemList", new { id = voteItem.PId }); } catch (Exception ex) { ViewBag.Message = "DatabaseError: " + ex.Message; return View(voteItem); //return View("DatabaseError"); //throw; } } else { return View("VoteItemModel is null."); } }
public ActionResult ItemEdit(int id,int pid) { var voteProject = GetVoteProject(pid); if (voteProject.BeginTime < DateTime.Now) { ViewBag.Message = "Sorry, this project has began to vote, cannot add item."; return View("Alert"); } var voteItem = db.VoteItems.FirstOrDefault(i => i.State == 0 && i.Id == id); if (voteItem.Nominator != User.Identity.Name.Split(',')[0]) { ViewBag.Message = "Sorry, this item was created by others, you cannot edit it."; return View("Alert"); } var project = GetVoteProject(pid); if (project == null && voteItem == null) { ViewBag.Message = "Oops~~, the Vote Project is null or the Vote Item is null."; return View("Alert"); } var model = new VoteItemModel() { PId = voteItem.PId, Members = voteItem.Nominees, Id = voteItem.Id, Nominator = voteItem.Nominator, Name = voteItem.Name, Comment = voteItem.Comment, ProjectName = project.Name }; ViewBag.users = db.Users.Where(u => u.UserName != null && u.UserName.Length > 0).ToList(); return View("ItemEdit", model); }
public ActionResult ItemAdd(VoteItemModel voteItem) { var voteProject = GetVoteProject(Convert.ToInt32(voteItem.PId)); if (voteProject.BeginTime < DateTime.Now) { ViewBag.Message = "Sorry, this project has began to vote, cannot add item."; ViewBag.users = db.Users.Where(u => u.UserName != null && u.UserName.Length > 0).OrderBy(i => i.UserName).ToList(); return View(voteItem); } if (voteItem != null) { if (!ValidateItemName(voteItem.Name, voteItem.PId, voteItem.Id)) { ViewBag.Message = "Sorry, this item name has been used in this project."; ViewBag.users = db.Users.Where(u => u.UserName != null && u.UserName.Length > 0).OrderBy(i => i.UserName).ToList(); return View(voteItem); } var userId = User.Identity.Name.Split(',')[0]; var voteItemDB = new VoteItem { PId = voteItem.PId, Comment = voteItem.Comment, CreatedBy = userId, CreatedTime = DateTime.Now, Name = voteItem.Name, Nominator = userId, Nominees = voteItem.Members, State = 0 }; try { db.VoteItems.Add(voteItemDB); db.SaveChanges(); return RedirectToAction("ItemList", new { id = voteItem.PId }); } catch (Exception ex) { ViewBag.Message = "DatabaseError: "+ex.Message; ViewBag.users = db.Users.Where(u => u.UserName != null && u.UserName.Length > 0).OrderBy(i => i.UserName).ToList(); return View(voteItem); //return View("DatabaseError"); //throw; } } else { ViewBag.Message = "VoteItemModel is null."; ViewBag.users = db.Users.Where(u => u.UserName != null && u.UserName.Length > 0).OrderBy(i => i.UserName).ToList(); return View(voteItem); //return View("Error"); } }