Exemple #1
0
        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
            }));
        }
Exemple #2
0
        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
            }));
        }
Exemple #3
0
        // 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"));
            }
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        // 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));
        }
Exemple #6
0
        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"));
            }
        }
Exemple #7
0
        // 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));
        }