public void PopulateAssignedCategoryData(Proiect_BijuteriiContext context,
                                                 Bijuterie bijuterie)
        {
            var allCategories       = context.Category;
            var BijuterieCategories = new HashSet <int>(
                bijuterie.BijuterieCategories.Select(c => c.BijuterieID));

            AssignedCategoryDataList = new List <AssignedCategoryData>();
            foreach (var cat in allCategories)
            {
                AssignedCategoryDataList.Add(new AssignedCategoryData
                {
                    CategoryID = cat.ID,
                    Name       = cat.CategoryName,
                    Assigned   = BijuterieCategories.Contains(cat.ID)
                });
            }
        }
        public void UpdateBijuterieCategories(Proiect_BijuteriiContext context,
                                              string[] selectedCategories, Bijuterie bijuterieToUpdate)
        {
            if (selectedCategories == null)
            {
                bijuterieToUpdate.BijuterieCategories = new List <BijuterieCategory>();
                return;
            }
            var selectedCategoriesHS = new HashSet <string>(selectedCategories);
            var BijuterieCategories  = new HashSet <int>
                                           (bijuterieToUpdate.BijuterieCategories.Select(c => c.Category.ID));

            foreach (var cat in context.Category)
            {
                if (selectedCategoriesHS.Contains(cat.ID.ToString()))
                {
                    if (!BijuterieCategories.Contains(cat.ID))
                    {
                        bijuterieToUpdate.BijuterieCategories.Add(
                            new BijuterieCategory
                        {
                            BijuterieID = bijuterieToUpdate.ID,
                            CategoryID  = cat.ID
                        });
                    }
                }
                else
                {
                    if (BijuterieCategories.Contains(cat.ID))
                    {
                        BijuterieCategory courseToRemove
                            = bijuterieToUpdate
                              .BijuterieCategories
                              .SingleOrDefault(i => i.CategoryID == cat.ID);
                        context.Remove(courseToRemove);
                    }
                }
            }
        }