Exemple #1
0
        //Create a relationship between current Event and an Staff.
        public IActionResult AddStaff(ViewEventViewModel viewEventViewModel, int EventID)
        {
            if (ModelState.IsValid)
            {
                //if a relationship already exists between an Event object and Staff object it adds EventStaff
                //object to list.
                IList <EventStaff> existingItems = context.EventStaffs
                                                   .Where(es => es.EventID == EventID)
                                                   .Where(es => es.StaffID == viewEventViewModel.StaffID).ToList();
                if (!existingItems.Any())
                {
                    //EventStaff Constructor
                    EventStaff eventStaff = new EventStaff
                    {
                        StaffID = viewEventViewModel.StaffID,

                        EventID = EventID
                    };

                    context.EventStaffs.Add(eventStaff);
                    context.SaveChanges();
                }
            }
            return(Redirect("/Event/ViewEvent/" + EventID));
        }
Exemple #2
0
        //Create a relationship between current Event and an Equipment.
        public IActionResult AddEquipment(ViewEventViewModel viewEventViewModel, int EventID)
        {
            if (ModelState.IsValid)
            {
                //if a relationship already exists between an Event object and Equipment object it adds EventEquipment
                //object to list.
                IList <EventEquipment> existingItems = context.EventEquipments
                                                       .Where(ee => ee.EventID == EventID)
                                                       .Where(ee => ee.EquipmentID == viewEventViewModel.EquipmentID).ToList();
                if (!existingItems.Any())
                {
                    //EventEquipment Constructor
                    EventEquipment eventEquipment = new EventEquipment
                    {
                        EquipmentID = viewEventViewModel.EquipmentID,

                        EventID = EventID
                    };

                    context.EventEquipments.Add(eventEquipment);

                    context.SaveChanges();
                }
            }
            return(Redirect("/Event/ViewEvent/" + EventID));
        }
        public async Task <IActionResult> Invite(ViewEventViewModel model)
        {
            Event e = QueryController.GetEventFromId(_context, model.Invite.eventID);

            if (ModelState.IsValid)
            {
                ApplicationUser user = QueryController.GetCurrentUserAsync(_userManager, User);

                await _emailSender.SendEmailAsync(model.Invite.email, "You have been invited to join this event by " + user.details.FirstName + " " + user.details.LastName, "Dear future competition participant, \n \n" + user.details.FirstName + " " + user.details.LastName +
                                                  " has invited you to join their event: " + e.Name + ". To become a part of this event please go here: http://localhost:49494/Event/ViewEvent?eventID=" + e.id);

                TempData["modal"] = "Invited email address: " + model.Invite.email + " to join this event";
                return(RedirectToLocal("/Event/ViewEvent?eventID=" + e.id));
            }
            TempData["modal"] = "Error occured whilst inviting the entered email. Please try again.";
            return(RedirectToLocal("/Event/ViewEvent?eventID=" + e.id));
        }
Exemple #4
0
        //Builds ViewEvent page of a specific event based on id.
        public IActionResult ViewEvent(int id)
        {
            try
            {
                Event newEvent =
                    context.Events.Single(e => e.ID == id);
                Venue newVenue =
                    context.Venues.Single(v => v.ID == newEvent.VenueID);
                //populate list of staff linked to current event.
                List <EventStaff> staffs = context
                                           .EventStaffs
                                           .Include(staffs => staffs.Staff)
                                           .Where(cm => cm.EventID == id)
                                           .ToList();
                //populate list of equipment linked to current event.
                List <EventEquipment> equipments = context
                                                   .EventEquipments
                                                   .Include(equipments => equipments.Equipment)
                                                   .Where(cm => cm.EventID == id)
                                                   .ToList();
                //populate a list of items
                List <Item> items = context
                                    .Items
                                    .ToList();

                //viewmodel of event.
                ViewEventViewModel viewEventViewModel = new ViewEventViewModel(context.Equipments.ToList(), context.Staffs.ToList())
                {
                    Event      = newEvent,
                    Staffs     = staffs,
                    Equipments = equipments,
                    Venue      = newVenue,
                    Items      = items
                };
                return(View(viewEventViewModel));
            }
            catch (InvalidOperationException)
            {
                return(Redirect("/Event"));
            }
        }
        public IActionResult ViewEvent(string eventID)
        {
            var model = new ViewEventViewModel
            {
                CurrentEvent = QueryController.GetEventFromId(_context, eventID)
            };

            if (model != null && !model.CurrentEvent.IsDeleted)
            {
                return(View(model));
            }
            else if (model.CurrentEvent.IsDeleted)
            {
                ViewData["error"] = "This event has been deleted.";
                return(View("Error"));
            }
            else
            {
                ViewData["error"] = "Invalid event.";
                return(View("Error"));
            }
        }