public JsonResult Edit(EditUserViewModel viewModel)
        {
            if (!ModelState.IsValid)
                return Json(new JsonResponse("Invalid Data", "Please provide correct details for page"));

            var getUser = _repoUsers.DbContext.Users.FirstOrDefault(usr => usr.UserId == viewModel.UserId);
            if (getUser == null)
                return Json(new JsonResponse("Invalid User!", "Invalid user id."));

            if (_repoUsers.DbContext.Users.FirstOrDefault(usr => usr.UserId != viewModel.UserId && usr.UserName == viewModel.UserName) != null)
                return Json(new JsonResponse("User exists Already!", "A user with same username already exists"));

            getUser.UserName =viewModel.UserName;
            getUser.FirstName =viewModel.FirstName;
            getUser.LastName=viewModel.LastName;
            getUser.IsActive=viewModel.IsActive;
            getUser.UpdateDate =DateTime.Now;

            _repoUsers.DbContext.SaveChanges();

                //usermodel.user.UpdateDate = DateTime.Now;
                //db.Entry(usermodel.user).State = EntityState.Modified;
                //db.SaveChanges();

                //string[] existingRoles = Roles.GetRolesForUser(usermodel.user.UserName);

                //var deletedRoles = (from existRole in existingRoles
                //                    where !(usermodel.RoleNames != null && usermodel.RoleNames.Contains(existRole))
                //                    select existRole).ToList();

                //foreach (string deleteRole in deletedRoles)
                //{
                //    Roles.RemoveUserFromRole(usermodel.user.UserName, deleteRole);
                //}

                //if (usermodel.RoleNames != null && usermodel.RoleNames.Length > 0)
                //{
                //    foreach (string rolename in usermodel.RoleNames)
                //    {
                //        if (!Roles.IsUserInRole(usermodel.user.UserName, rolename))
                //        {
                //            Roles.AddUserToRole(usermodel.user.UserName, rolename);
                //        }
                //    }
                //}

            var lstUserModel = GetListingModel();

            return Json(new JsonResponse((object)null)
            {
                Message = "User updated successfully!",
                Description = "User details have been updated successfully!",
                Content =
                new
                {
                    UserList = RenderPartialViewToString("List", lstUserModel)
                }
            });
        }
        public JsonResult Edit(int userId=0)
        {
            var getUser = _repoUsers.DbContext.Users.FirstOrDefault(usr => usr.UserId == userId);
            if (getUser == null)
                return Json(new JsonResponse("Invalid User!", "Invalid user id."), JsonRequestBehavior.AllowGet);

            var viewModel = new EditUserViewModel
            {
                UserId = getUser.UserId,
                UserName = getUser.UserName,
                FirstName = getUser.FirstName,
                LastName = getUser.LastName,
                IsActive = getUser.IsActive
            };

            var viewEdit = RenderPartialViewToString("Edit", viewModel);
            return Json(new JsonResponse((object)viewEdit), JsonRequestBehavior.AllowGet);
        }