public JsonResult DeleteUser([DataSourceRequest] DataSourceRequest request, UserViewModel user)
        {
            var existingUser = Data.Users.All().FirstOrDefault(u => u.Id == user.Id);

            Data.Users.Delete(existingUser);
            Data.SaveChanges();

            return Json(new[] { user }, JsonRequestBehavior.AllowGet);
        }
        public JsonResult UpdateUser([DataSourceRequest] DataSourceRequest request, UserViewModel user)
        {
            var existingUser = Data.Users.All().FirstOrDefault(u => u.Id == user.Id);

            if (user != null && ModelState.IsValid)
            {
                existingUser.UserName = user.Username;
                if (user.RoleForAddingId!=null)
                {
                    UserRole roleForAdding = new UserRole()
                    {
                        RoleId=user.RoleForAddingId,
                        UserId=user.Id
                    };

                    var roleForCheck = Data.UserRoles.All()
                        .FirstOrDefault(r => r.UserId == roleForAdding.UserId && r.RoleId == roleForAdding.RoleId);

                    if (roleForCheck==null)
                    {
                        existingUser.Roles.Add(roleForAdding);
                    }

                }
                if (user.RoleForRemovingId != null)
                {
                    var roleForRemoving = Data.UserRoles.All()
                        .FirstOrDefault(r => r.UserId == user.Id && r.RoleId == user.RoleForRemovingId);

                    if (roleForRemoving!=null)
                    {
                        existingUser.Roles.Remove(roleForRemoving);
                    }

                }

                Data.SaveChanges();
            }

            return Json((new[] { user }.ToDataSourceResult(request, ModelState)), JsonRequestBehavior.AllowGet);
        }