Ejemplo n.º 1
0
        public async Task <IActionResult> CategoryOverview()
        {
            // i18n
            ViewData["Products"]           = _localizer["ProductsText"];
            ViewData["UserService"]        = _localizer["UserServiceText"];
            ViewData["Overview"]           = _localizer["OverviewText"];
            ViewData["OverviewCategories"] = _localizer["OverviewCategoriesText"];
            ViewData["ShowAll"]            = _localizer["ShowAllText"];
            ViewData["HideAll"]            = _localizer["HideAllText"];

            CategoryTypesAndCategoryGroupsViewModel model = new CategoryTypesAndCategoryGroupsViewModel();

            model.CategoryGroupsList = await _colibriDbContext.CategoryGroups.ToListAsync();

            model.CategoryTypesListE = await _colibriDbContext.CategoryTypes.ToListAsync();

            return(View(model));
        }
Ejemplo n.º 2
0
        public IActionResult Create()
        {
            // i18n
            ViewData["CreateCategoryType"] = _localizer["CreateCategoryTypeText"];
            ViewData["CategoryGroup"]      = _localizer["CategoryGroupText"];
            ViewData["Create"]             = _localizer["CreateText"];
            ViewData["BackToList"]         = _localizer["BackToListText"];
            ViewData["Name"]  = _localizer["NameText"];
            ViewData["PLZ"]   = _localizer["PLZText"];
            ViewData["IsNew"] = _localizer["IsNewText"];
            ViewData["ExistingCategories"] = _localizer["ExistingCategoriesText"];


            CategoryTypesAndCategoryGroupsViewModel model = new CategoryTypesAndCategoryGroupsViewModel()
            {
                CategoryGroupsList = _colibriDbContext.CategoryGroups.Where(m => m.TypeOfCategoryGroup.Equals("Product")).ToList(),
                CategoryTypes      = new CategoryTypes(),
                CategoryTypesList  = _colibriDbContext.CategoryTypes.Where(m => m.CategoryGroups.TypeOfCategoryGroup.Equals("Product")).OrderBy(p => p.Name).Select(p => p.Name).Distinct().ToList()
            };

            return(View(model));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            // search for the ID
            var categoryType = await _colibriDbContext.CategoryTypes.FindAsync(id);

            if (categoryType == null)
            {
                return(NotFound());
            }

            // Viewmodel
            CategoryTypesAndCategoryGroupsViewModel model = new CategoryTypesAndCategoryGroupsViewModel()
            {
                CategoryGroupsList = _colibriDbContext.CategoryGroups.ToList(),
                CategoryTypes      = categoryType,
                CategoryTypesList  = _colibriDbContext.CategoryTypes.Select(p => p.Name).Distinct().ToList()
            };

            // i18n
            ViewData["EditCategoryType"]   = _localizer["EditCategoryTypeText"];
            ViewData["Edit"]               = _localizer["EditText"];
            ViewData["BackToList"]         = _localizer["BackToListText"];
            ViewData["Name"]               = _localizer["NameText"];
            ViewData["Update"]             = _localizer["UpdateText"];
            ViewData["CreateCategoryType"] = _localizer["CreateCategoryTypeText"];
            ViewData["CategoryGroup"]      = _localizer["CategoryGroupText"];
            ViewData["Create"]             = _localizer["CreateText"];
            ViewData["PLZ"]   = _localizer["PLZText"];
            ViewData["IsNew"] = _localizer["IsNewText"];
            ViewData["ExistingCategories"] = _localizer["ExistingCategoriesText"];

            return(View(model));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Edit(int id, CategoryTypesAndCategoryGroupsViewModel model)
        {
            // i18n
            ViewData["CreateCategoryType"] = _localizer["CreateCategoryTypeText"];
            ViewData["Create"]             = _localizer["CreateText"];
            ViewData["BackToList"]         = _localizer["BackToListText"];
            ViewData["Name"] = _localizer["NameText"];

            // check if CategoryTypes exists or not & check if Combination of CategoryTypes and CategoryGroup exists
            var doesCategoryTypesExist = _colibriDbContext.CategoryTypes.Where(s => s.Name == model.CategoryTypes.Name).Count();
            var doesCategoryTypesAndCategoryGroupsExist = _colibriDbContext.CategoryTypes.Where(s => s.Name == model.CategoryTypes.Name && s.CategoryGroupId == model.CategoryTypes.CategoryGroupId).Count();

            // Check the State Model Binding
            if (ModelState.IsValid)
            {
                if (doesCategoryTypesExist == 0)
                {
                    // error
                    StatusMessage = "Error : CategoryTypes does not exist. You cannot add a new CategoryTypes here.";
                }
                else
                {
                    if (doesCategoryTypesAndCategoryGroupsExist > 0)
                    {
                        // error
                        StatusMessage = "Error : CategoryTypes and CategoryGroups combination already exists!";
                    }
                    else
                    {
                        if (model.CategoryTypes.PLZ == null)
                        {
                            model.CategoryTypes.isGlobal = true;
                        }
                        else
                        {
                            model.CategoryTypes.isGlobal = false;
                        }

                        // Wenn keine Fehler, Eintrag in DB hinzufügen
                        var catTypeFromDb = _colibriDbContext.CategoryTypes.Find(id);
                        catTypeFromDb.Name            = model.CategoryTypes.Name;
                        catTypeFromDb.CategoryGroupId = model.CategoryTypes.CategoryGroupId;

                        await _colibriDbContext.SaveChangesAsync();

                        // Publish the Created Category Type
                        using (var bus = RabbitHutch.CreateBus("host=localhost"))
                        {
                            //bus.Publish(categoryTypes, "create_category_types");
                            await bus.SendAsync("create_category_types", model.CategoryTypes);
                        }

                        return(RedirectToAction(nameof(Index)));
                    }
                }
            }
            // If ModelState is not valid
            CategoryTypesAndCategoryGroupsViewModel modelVM = new CategoryTypesAndCategoryGroupsViewModel()
            {
                CategoryGroupsList = _colibriDbContext.CategoryGroups.ToList(),
                CategoryTypes      = model.CategoryTypes,
                CategoryTypesList  = _colibriDbContext.CategoryTypes.Select(p => p.Name).Distinct().ToList(),
                StatusMessage      = StatusMessage
            };

            return(View(modelVM));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> CreateUserService(CategoryTypesAndCategoryGroupsViewModel model)
        {
            // i18n
            ViewData["CreateCategoryType"]        = _localizer["CreateCategoryTypeText"];
            ViewData["CreateCategoryServiceType"] = _localizer["CreateCategoryServiceTypeText"];
            ViewData["Create"]     = _localizer["CreateText"];
            ViewData["BackToList"] = _localizer["BackToListText"];
            ViewData["Name"]       = _localizer["NameText"];

            // Check the State Model Binding
            if (ModelState.IsValid)
            {
                // check if CategoryTypes exists or not & check if Combination of CategoryTypes and CategoryGroup exists
                var doesCategoryTypesExist = _colibriDbContext.CategoryTypes.Where(s => s.Name == model.CategoryTypes.Name).Count();
                var doesCategoryTypesAndCategoryGroupsExist = _colibriDbContext.CategoryTypes.Where(s => s.Name == model.CategoryTypes.Name && s.CategoryGroupId == model.CategoryTypes.CategoryGroupId).Count();

                if (doesCategoryTypesExist > 0 && model.isNew)
                {
                    // error
                    StatusMessage = "Error : CategoryTypes Name already exists";
                }
                else
                {
                    if (doesCategoryTypesExist == 0 && !model.isNew)
                    {
                        // error
                        StatusMessage = "Error : CategoryTypes does not exist";
                    }
                    else
                    {
                        if (doesCategoryTypesAndCategoryGroupsExist > 0)
                        {
                            // error
                            StatusMessage = "Error : CategoryTypes and CategoryGroups combination already exists";
                        }
                        else
                        {
                            if (model.CategoryTypes.PLZ == null)
                            {
                                model.CategoryTypes.isGlobal = true;
                            }

                            // Wenn keine Fehler, kombinierten Name ergänzen
                            // Product / UserService
                            model.CategoryTypes.CategoryGroups = await _colibriDbContext.CategoryGroups.Where(m => m.Id == model.CategoryTypes.CategoryGroupId).FirstOrDefaultAsync();

                            if (model.CategoryTypes.CategoryGroups.TypeOfCategoryGroup.Equals("Product"))
                            {
                                model.CategoryTypes.NameCombined = "Product - " + model.CategoryTypes.CategoryGroups.Name + " - " + model.CategoryTypes.Name;
                            }
                            else
                            {
                                model.CategoryTypes.NameCombined = "Service - " + model.CategoryTypes.CategoryGroups.Name + " - " + model.CategoryTypes.Name;
                            }

                            // Eintrag in DB schreiben
                            _colibriDbContext.Add(model.CategoryTypes);
                            await _colibriDbContext.SaveChangesAsync();


                            // Publish the Created Category Type
                            using (var bus = RabbitHutch.CreateBus("host=localhost"))
                            {
                                //bus.Publish(categoryTypes, "create_category_types");
                                await bus.SendAsync("create_category_types", model.CategoryTypes);
                            }

                            return(RedirectToAction(nameof(Index)));
                        }
                    }
                }
            }

            // If ModelState is not valid
            CategoryTypesAndCategoryGroupsViewModel modelVM = new CategoryTypesAndCategoryGroupsViewModel()
            {
                CategoryGroupsList = _colibriDbContext.CategoryGroups.ToList(),
                CategoryTypes      = model.CategoryTypes,
                CategoryTypesList  = _colibriDbContext.CategoryTypes.OrderBy(p => p.Name).Select(p => p.Name).ToList(),
                StatusMessage      = StatusMessage
            };

            return(View(modelVM));
        }