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)); }
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)); }
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)); }
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)); }
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)); }