Ejemplo n.º 1
0
        /// <summary>
        /// Tager de indtastede oplysninger og opretter et nyt object med disse.
        /// Sendes ned til persistensiet der kalder API'en og retunere en bool (true/false)
        /// hvis det lykkes opdateres categorien i viewet og farven på evt. stories ændres også
        /// </summary>
        public async void EditCat()
        {
            Category c = new Category()
            {
                Category_Color = Category_ColorVM, Category_Name = Category_NameVM
            };

            bool success = await CategoryPer.EditCategory(c, SelectedCategory.Category_Id);

            if (success)
            {
                //Løber alle categorierne igennem for at finde den der er blevet ændret og opdatere dens værdier for at opdatere viewet
                foreach (Category category in CategoriesForStory)
                {
                    if (category.Category_Id == SelectedCategory.Category_Id)
                    {
                        category.Category_Name  = Category_NameVM;
                        category.Category_Color = Category_ColorVM;
                        break;
                    }
                }
                ///løber alle storiesne igennem
                /// Finder match mellem storiens categori og den opdateret category
                /// hvis der er match, opdateres storiens category med de opdateret oplysninger
                foreach (Story storey in Stories)
                {
                    if (storey.Category.Category_Id == SelectedCategory.Category_Id)
                    {
                        storey.Category.Category_Color = Category_ColorVM;
                    }
                }
            }
            ResetCategory();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Henter alle categorier ud og indsætter i viewet (OC der er binded op til viewet)
        /// </summary>
        public async void LoadCategories()
        {
            List <Category> categories = await CategoryPer.GetCategories();

            if (categories != null)
            {
                foreach (Category category in categories)
                {
                    CategoriesForStory.Add(category);
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Tager de oplysninger brugeren har indtastet i viewet og opretter et nyt Category object
        /// Sender dette ned til persistency der sender det videre til API'en
        /// Hvis API'en lykkes sender den et nyt category object  tilbage, der indeholder alle informationerne på det inklusiv ID
        /// Dette indsætter i OC hvis API'en lykkes
        /// </summary>
        public async void CreatCategory()
        {
            Category c = new Category()
            {
                Category_Name = Category_NameVM, Category_Color = Category_ColorVM
            };

            Category categoryToAdd = await CategoryPer.Create(c);

            if (categoryToAdd != null)
            {
                CategoriesForStory.Add(categoryToAdd);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Tager den vlagte category og sender ned til persistency laget der beder API'en om at slette den fra databasen
        /// Hvis dette lykkes fjernes categorien fra viewet også.
        /// </summary>
        public async void DeleteCategory()
        {
            bool success = await CategoryPer.Delete(SelectedCategory.Category_Id);

            if (success)
            {
                Category c = null;
                foreach (Category category in CategoriesForStory)
                {
                    if (category.Category_Id == SelectedCategory.Category_Id)
                    {
                        c = category;
                    }
                }

                CategoriesForStory.Remove(c);
            }

            ResetCategory();
        }