public JsonResult Register(String personId, String Id) { string formError = string.Empty; var pin = User.Identity.Name.Split('\\')[1]; bool IsOrganizer = false; try { if (!string.IsNullOrEmpty(personId) && !string.IsNullOrEmpty(Id)) { int prsnId = Convert.ToInt32(personId); int eventId = Convert.ToInt32(Id); // validate and fetch event if ((prsnId > 0) && Id.All(char.IsNumber)) { EventViewModel evnt = EventViewModel.CreateViewModel(_service.GetEventByUID(eventId)); foreach (var organizerPin in evnt.Organizers) { if (!IsOrganizer) { IsOrganizer = (pin == organizerPin) ? true : false; } } if (evnt != null) { if (_service.IsRegister(eventId, prsnId)) { formError = "User already Registered"; } else { formError = _service.Register(eventId, prsnId, IsOrganizer); } } else { formError = "Cannot find the event specified, please try again and make sure you have a valid event"; } } else { formError = "Person couldn't be found"; } } else { formError = "UserID field cannot be empty"; } } catch (Exception ex) { formError = "Oops, something went wrong"; } return(Json( new { status = string.IsNullOrEmpty(formError) ? "success" : "error", message = formError })); }
public JsonResult SignIn(String personId, String evntId) { string formError = string.Empty; try { if (!string.IsNullOrEmpty(personId) && !string.IsNullOrEmpty(evntId)) { int prsnId = Convert.ToInt32(personId); int eventId = Convert.ToInt32(evntId); // validate and fetch event if ((prsnId > 0) && evntId.All(char.IsNumber)) { EventViewModel evnt = EventViewModel.CreateViewModel(_service.GetEventByUID(eventId)); if (evnt != null) { if (_service.IsSignedIn(eventId, prsnId)) { formError = "User already signed in"; } else if (!_service.SignIn(eventId, prsnId)) { formError = "Unable to sign in"; } } else { formError = "Cannot find the event specified, please try again and make sure you have a valid event"; } } else { formError = "Person couldn't be found"; } } else { formError = "UserID field cannot be empty"; } } catch (Exception ex) { formError = "Oops, something went wrong"; } return(Json( new { status = string.IsNullOrEmpty(formError) ? "success" : "error", message = formError })); }
// GET: api/Events public HttpResponseMessage Get() { IEnumerable <EventViewModel> eventVMs = null; try { eventVMs = _service.GetAll().Select(a => EventViewModel.CreateViewModel(a)).ToList <EventViewModel>().OrderByDescending(a => a.StartDate); return(Request.CreateResponse(HttpStatusCode.OK, new { data = eventVMs.ToArray() })); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Error retrieving events")); } }
public HttpResponseMessage UpcomingMeetings() { IEnumerable <EventViewModel> upcomingEvents = null; try { upcomingEvents = _service.UpcomingMeetings().Select(a => EventViewModel.CreateViewModel(a)).ToList <EventViewModel>().OrderBy(a => a.StartDate); return(Request.CreateResponse(HttpStatusCode.OK, new { data = upcomingEvents.ToArray() })); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Error retrieving events")); } //return Request.CreateResponse(HttpStatusCode.OK, meetings); }
// GET: api/Events/5 public HttpResponseMessage Get(int id) { // Event evnt = null; EventViewModel evnt = null; if (id <= 0) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "id must be greater than zero")); } try { // evnt = _service.GetEventByUID(id); evnt = EventViewModel.CreateViewModel(_service.GetEventByUID(id)); } catch { return(Request.CreateErrorResponse(HttpStatusCode.NoContent, "Error retrieving event")); } return(Request.CreateResponse(HttpStatusCode.OK, evnt)); }
public HttpResponseMessage GetEventByOrganizer() { IEnumerable <EventViewModel> events = null; var personService = new PersonService(); try { var pin = User.Identity.Name.Split('\\')[1]; var person = personService.getUserInfobyPIN(pin); if (person != null) { events = personService.GetOrganizerEvents(person.Id).Select(a => EventViewModel.CreateViewModel(a)).ToList <EventViewModel>().OrderByDescending(a => a.StartDate); } return(Request.CreateResponse(HttpStatusCode.OK, new { data = events.ToArray() })); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Error retrieving events")); } }
// GET: Event/Details/id public ActionResult SignIn(int id) { var userService = new ELSO.Services.PersonService(); var pin = User.Identity.Name.Split('\\')[1]; var domain = User.Identity.Name.Split('\\')[0]; var user = userService.getUserInfobyPIN(pin); if (user.FirstName != null) { var index = user.FirstName.IndexOf("Contractor"); if (index != -1) { user.FirstName = user.FirstName.Remove(index); } } var name = user.FirstName + " " + user.LastName; ViewBag.Name = name; ViewBag.Pin = pin; bool IsOrganizer = false; bool allowSignIn = false; Person userOrg = null; string organizers = null; EventViewModel evnt = new EventViewModel(); Event evntModel = _service.GetEventByUID(id); if (evntModel == null) { return(View("RedirectInfo")); } evnt = EventViewModel.CreateViewModel(_service.GetEventByUID(id)); if (userService.isAuthenticated(pin, domain)) { IsOrganizer = true; } foreach (var organizer in evnt.Organizers) { if (!IsOrganizer) { IsOrganizer = (pin == organizer) ? true : false; } userOrg = userService.getUserInfobyPIN(organizer); if (userOrg.FirstName != null) { int indexORG = userOrg.FirstName.IndexOf("Contractor"); if (indexORG != -1) { userOrg.FirstName = userOrg.FirstName.Remove(indexORG); } } string organizerName = userOrg.FirstName + " " + userOrg.LastName; organizers += String.Join(", ", organizerName) + ", "; } organizers = organizers.Substring(0, organizers.Length - 2); DateTime checkEndDate = Convert.ToDateTime(evnt.EndDate).AddDays(1); if (checkEndDate > DateTime.Now) { allowSignIn = true; } ViewBag.allowSignIn = allowSignIn; ViewBag.IsOrganizer = IsOrganizer; ViewBag.organizers = organizers; // TODO : check id once data schema is complete, for now we will return an empty event even if none is found //ModelState.AddModelError("", "No events found, please try again or contact the event coordinator"); return(View(evnt)); }