public async Task <IActionResult> Upsert(AdminControlsInput adminControlsInput)
        {
            if (ModelState.IsValid)
            {
                if (adminControlsInput.Id == 0)
                {
                    await _adminUserControlsRepository.CreateAsync(SD.SubjectUrl, adminControlsInput, HttpContext.Session.GetString("JWToken"));
                }
                else
                {
                    await _adminUserControlsRepository.UpdateAsync(SD.SubjectUrl + adminControlsInput.Id, adminControlsInput, HttpContext.Session.GetString("JWToken"));
                }

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

            return(View(adminControlsInput));
        }
        public async Task <IActionResult> Upsert(int?id)
        {
            AdminControlsInput obj = new AdminControlsInput();

            if (id == null)
            {
                //this will be true for create/insert
                return(View(obj));
            }

            //Flow will come here for update
            obj = await _adminUserControlsRepository.GetAsync(SD.SubjectUrl, id.GetValueOrDefault(), HttpContext.Session.GetString("JWToken"));

            if (obj == null)
            {
                return(NotFound());
            }
            return(View(obj));
        }