public async Task <IActionResult> Create(UserCreateDto user) { if (ModelState.IsValid) { AppUser createUser = user.GetUser(); if (user.ImageFile != null) { createUser.Image = await _fileWorker.EncodeFormFile(user.ImageFile); } var result = await _userManager.CreateAsync(createUser, user.Password); if (!result.Succeeded) { foreach (var item in result.Errors) { ModelState.AddModelError(item.Code, item.Description); } } else { Popup.PopupModel = new Popup("افزودن کاربر", $"کاربر {user.Username} با موفقیت اضافه شد.", IconType.Success); if (!string.IsNullOrEmpty(user.UserRoles)) { result = await _userManager.AddToRolesAsync(createUser, user.UserRoles.Split(',')); if (!result.Succeeded) { Popup.PopupModel = new Popup("خطا در افزودن نقش", $"در هنگام افزودن نقش به کاربر {user.Username} خطایی رخ داد.", IconType.Error); if (result.Errors.Count() > 0) { Popup.PopupModel.Message += result.Errors.First(); } } } return(RedirectToAction("Index")); } } await SetRoles(); return(View(user)); }