コード例 #1
0
        public void UpdateCarPacks(Retegan_Alexandru_Proiect_App_WebContext context, string[] selectedPacks, Order orderToUpdate)
        {
            if (selectedPacks == null)
            {
                orderToUpdate.CarPacks = new List <CarPack>(); return;
            }

            var selectedPacksHS = new HashSet <string>(selectedPacks);
            var carPacks        = new HashSet <int>(orderToUpdate.CarPacks.Select(c => c.Pack.ID));

            foreach (var cat in context.CarPack)
            {
                if (selectedPacksHS.Contains(cat.ID.ToString()))
                {
                    if (!carPacks.Contains(cat.ID))
                    {
                        orderToUpdate.CarPacks.Add(new CarPack
                        {
                            OrderID = orderToUpdate.ID, PackID = cat.ID
                        });
                    }
                }
                else
                {
                    if (carPacks.Contains(cat.ID))
                    {
                        CarPack courseToRemove = orderToUpdate.CarPacks.SingleOrDefault(i => i.PackID == cat.ID);
                        context.Remove(courseToRemove);
                    }
                }
            }
        }
コード例 #2
0
        public void PopulateAssignedPackData(Retegan_Alexandru_Proiect_App_WebContext context, Order order)
        {
            var allPacks = context.CarPack;
            var CarPacks = new HashSet <int>(order.CarPacks.Select(c => c.OrderID));

            AssignedPackDataList = new List <AssignedPackData>();
            foreach (var cat in allPacks)
            {
                AssignedPackDataList.Add(new AssignedPackData
                {
                    PackID   = cat.ID,
                    Name     = cat.Pack.PackName,
                    Assigned = CarPacks.Contains(cat.ID)
                });
            }
        }