Exemplo n.º 1
0
        public async Task <IActionResult> Create(SubCategoriesCreateViewModel viewModel)
        {
            string statusMessage = null;

            if (ModelState.IsValid)
            {
                var subCategoriesInCategory = _db.SubCategories.Include(s => s.Category).Where(sc => sc.Name == viewModel.SubCategory.Name && sc.CategoryId == viewModel.SubCategory.CategoryId);
                if (subCategoriesInCategory.Any())
                {
                    //Error
                    statusMessage = $"Error : Sub Category {viewModel.SubCategory.Name} exists under {subCategoriesInCategory.First().Category.Name} Category. Please verify.";
                }
                else
                {
                    _db.SubCategories.Add(viewModel.SubCategory);
                    await _db.SaveChangesAsync();

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

            SubCategoriesCreateViewModel vm = new SubCategoriesCreateViewModel()
            {
                Categories          = await _db.Categories.ToListAsync(),
                SubCategory         = viewModel.SubCategory,
                SubCategoryNameList = await _db.SubCategories.OrderBy(s => s.Name).Select(sb => sb.Name).Distinct().ToListAsync(),
                StatusMessage       = statusMessage
            };

            return(View(vm));
        }
Exemplo n.º 2
0
        //GET
        public async Task <IActionResult> Create()
        {
            SubCategoriesCreateViewModel viewModel = new SubCategoriesCreateViewModel()
            {
                Categories          = await _db.Categories.ToListAsync(),
                SubCategory         = new Models.SubCategory(),
                SubCategoryNameList = await _db.SubCategories.OrderBy(s => s.Name).Select(sb => sb.Name).Distinct().ToListAsync()
            };

            return(View(viewModel));
        }
Exemplo n.º 3
0
        //GET
        public async Task <IActionResult> Edit(int?id)
        {
            if (id.HasValue)
            {
                var subCategory = await _db.SubCategories.SingleOrDefaultAsync(s => s.Id == id);

                if (subCategory != null)
                {
                    SubCategoriesCreateViewModel viewModel = new SubCategoriesCreateViewModel()
                    {
                        Categories          = await _db.Categories.ToListAsync(),
                        SubCategory         = subCategory,
                        SubCategoryNameList = await _db.SubCategories.OrderBy(s => s.Name).Select(sb => sb.Name).Distinct().ToListAsync()
                    };

                    return(View(viewModel));
                }
            }

            return(NotFound());
        }