Beispiel #1
0
        //Using the list of ids remove Equipment from Event for each id in objIds.
        public IActionResult RemoveEquipment(int[] objIds, int id)
        {
            if (ModelState.IsValid)
            {
                Event newEvent =
                    context.Events.Single(e => e.ID == id);
                foreach (int equipmentId in objIds)
                {
                    EventEquipment theEventEquipment = context.EventEquipments
                                                       .Single(ee => ee.EventID == id && ee.EquipmentID == equipmentId);
                    //populate a list of items that have EquipmentID == current equipment id
                    List <Item> items = context
                                        .Items
                                        .Include(items => items.Equipment)
                                        .Where(ei => ei.EquipmentID == equipmentId)
                                        .ToList();
                    foreach (var item in items)
                    {
                        //Remove Items with CurrentEventId equal to EventID
                        if (item.CurrentEventId == id)
                        {
                            context.Items.Remove(item);
                            newEvent.TotalCost -= theEventEquipment.Equipment.Price;
                        }
                    }
                    context.EventEquipments.Remove(theEventEquipment);
                }

                context.SaveChanges();
            }
            return(Redirect("/Event/ViewEvent/" + id));
        }
Beispiel #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));
        }