Пример #1
0
 public ActionResult AnswerEvent(int groupId, int eventId, bool answer)
 {
     var service = new Service();
     User user = service.GetUser(User.Identity.Name);
     if (service.IsInvitedToEvent(user.UserID, eventId))
     {
         Event theEvent = service.GetEventById(eventId);
         EventViewModel model = service.CastToViewModel(theEvent, null);
         if (model.State == State.FULL)
         {
             TempData["message"] = new Message("This event is already full", MessageType.INFORMATION);
         }
         else if (answer && (model.State == State.OFF || model.State == State.ON))
         {
             TempData["message"] = new Message("This event has expired", MessageType.INFORMATION);
         }
         else if (service.AnswerEvent(user.UserID, eventId, answer))
         {
             if (answer)
             {
                 TempData["message"] = new Message("You are listed as an attendee of " + theEvent.Name, MessageType.SUCCESS);
             }
             else
             {
                 TempData["message"] = new Message("You declined the invitation to " + theEvent.Name, MessageType.SUCCESS);
             }
         }
         else
         {
             TempData["message"] = new Message("An error occured when processing your request, please try again later.", MessageType.ERROR);
         }
     }
     else
     {
         TempData["message"] = new Message("Either the event you are trying to access doesn't exist or you do not have sufficient access to it.", MessageType.INFORMATION);
     }
     if (Request.IsAjaxRequest())
     {
         return Json(new { id = eventId, message = TempData["message"] as Message }, JsonRequestBehavior.AllowGet);
     }
     return RedirectToAction("Index");
 }