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