public async Task <IActionResult> Create([Bind("Id,Name,UserId")] DebtCategory debtCategory) { _userId = GetCurrentUserId(); debtCategory.UserId = _userId; ModelState.Clear(); TryValidateModel(debtCategory); if (ModelState.IsValid) { //Checks if the debt type has already been added by user var checksIfCategoryExists = _context.DebtCategories.FirstOrDefault(c => c.Name == debtCategory.Name && c.UserId == _userId && c.Name.ToLower().Contains(debtCategory.Name.ToLower())); if (checksIfCategoryExists != null) { //Error StatusMessage = "Error : Category exists under " + checksIfCategoryExists.Name + " category. Please use another name."; } else { _context.Add(debtCategory); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } } ViewBag.StatusMessage = StatusMessage; //ViewData["UserId"] = new SelectList(_context.Users, "Id", "Id", debtCategory.UserId); return(View(debtCategory)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Name,UserId")] DebtCategory debtCategory) { _userId = GetCurrentUserId(); debtCategory.UserId = _userId; ModelState.Clear(); TryValidateModel(debtCategory); if (id != debtCategory.Id) { return(NotFound()); } if (ModelState.IsValid) { //Checks if the debt type has already been added by user var checksIfCategoryExists = _context.DebtCategories.FirstOrDefault(c => c.Name == debtCategory.Name && c.UserId == _userId && c.Name.ToLower().Contains(debtCategory.Name.ToLower())); if (checksIfCategoryExists != null) { //Error StatusMessage = "Error : Category exists under " + checksIfCategoryExists.Name + " category. Please use another name."; } else { try { _context.Update(debtCategory); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DebtCategoryExists(debtCategory.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } } ViewBag.StatusMessage = StatusMessage; return(View(debtCategory)); }