Example #1
0
        public async Task <ActionResult> Edit(EditUserModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var result = _userRep.UpdateComplaint(model.Id, model.DisplayName, model.Status);
                    if (result)
                    {
                        if (model.Roles.Count() > 0)
                        {
                            var roles = await UserManager.GetRolesAsync(model.Id);

                            await UserManager.RemoveFromRolesAsync(model.Id, roles.ToArray());

                            foreach (var item in model.Roles)
                            {
                                UserManager.AddToRole(model.Id, item);
                            }
                        }
                        TempData["Msg"] = _hlp.getMsg(AlertType.success.ToString(), "Updated successfully!");
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        return(Json(new { IsAuthenticated = true, IsSuccessful = false, Error = "An error occurred while updating user info!" }));
                    }
                }
                else
                {
                    return(Json(new { IsAuthenticated = true, IsSuccessful = false, Error = "All fields are required!" }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { IsAuthenticated = true, IsSuccessful = false, Error = ex.Message }));
            }
        }