public ActionResult Edit([Bind(Include = "Id,Title,Content,DateTime,NumberInvited,Active,Place")] Event @event, int[] Members) { if (ModelState.IsValid) { @event.EnteredDate = DateTime.Now.Date; FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value); @event.EnteredBy = Convert.ToInt32(ticket.Name.Split('|')[1]); if (Members != null) { @event.NumberInvited += Members.Count(); } else { foreach (var m in Members) { EventMemberStatu evm = new EventMemberStatu(); evm.EventId = @event.Id; evm.MemberId = m; evm.Status = "Invited"; db.EventMemberStatus.Add(evm); } } db.Entry(@event).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.EnteredBy = new SelectList(db.Members, "Id", "Username", @event.EnteredBy); return(View(@event)); }
public ActionResult Create([Bind(Include = "Id,Title,Content,DateTime,Place")] Event @event, int[] Members) { if (ModelState.IsValid) { @event.EnteredDate = DateTime.Now.Date; FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value); @event.EnteredBy = Convert.ToInt32(ticket.Name.Split('|')[1]); @event.NumberInvited = Members.Count(); db.Events.Add(@event); db.SaveChanges(); int CurrentEventId = db.Events.OrderByDescending(e => e.Id).FirstOrDefault().Id; foreach (var m in Members) { EventMemberStatu evm = new EventMemberStatu(); evm.EventId = CurrentEventId; evm.MemberId = m; evm.Status = "Invited"; db.EventMemberStatus.Add(evm); } db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.EnteredBy = new SelectList(db.Members, "Id", "Username", @event.EnteredBy); return(View(@event)); }
public ActionResult Participate([Bind(Include = "Id,Title,Content,DateTime,NumberInvited,NumberGoing,NumberDeclined,EnteredBy,Place")] Event @event, string MemberStatus, string OldStatus) { if ((MemberStatus == "Going" || MemberStatus == "Decline") && MemberStatus != OldStatus) { if (ModelState.IsValid) { FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value); int userId = Convert.ToInt32(ticket.Name.Split('|')[1]); var EventStatus = new EventMemberStatu() { EventId = @event.Id, MemberId = userId, Status = MemberStatus }; db.EventMemberStatus.Attach(EventStatus); db.Entry(EventStatus).Property(x => x.Status).IsModified = true; switch (MemberStatus) { case "Going": @event.NumberGoing += 1; if (OldStatus != "Invited") { @event.NumberDeclined -= 1; } break; case "Decline": @event.NumberDeclined += 1; if (OldStatus != "Invited") { @event.NumberGoing -= 1; } break; default: break; } db.Entry(@event).State = EntityState.Modified; db.Entry(@event).Property(x => x.EnteredDate).IsModified = false; db.Entry(@event).Property(x => x.Active).IsModified = false; db.SaveChanges(); return(RedirectToAction("Index")); } return(RedirectToAction("Index")); } //return View(@event); return(RedirectToAction("Index")); }
public ActionResult Participate(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value); int userId = Convert.ToInt32(ticket.Name.Split('|')[1]); EventMemberStatu @memberStatus = db.EventMemberStatus.Where(e => e.EventId == id && e.MemberId == userId).Select(e => e).FirstOrDefault(); ViewBag.MemberStatus = @memberStatus; Event @event = db.Events.Find(id); if (@event == null) { return(HttpNotFound()); } return(View(@event)); }