Untitled
unknown
plain_text
3 years ago
3.4 kB
7
Indexable
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using ShoppingApp.Core;
using ShoppingApp.Entity.Concrete.Identity;
using ShoppingApp.Web.Areas.Admin.Models.Dtos;
using System.Reflection.Metadata.Ecma335;
namespace ShoppingApp.Web.Areas.Admin.Controllers
{
[Area("Admin")]
[Authorize(Roles ="Admin")]
public class UserController : Controller
{
private readonly UserManager<User> _userManager;
private readonly RoleManager<Role> _roleManager;
public UserController(UserManager<User> userManager, RoleManager<Role> roleManager)
{
_userManager = userManager;
_roleManager = roleManager;
}
public IActionResult Index()
{
List<UserDto> users = _userManager.Users.Select(u => new UserDto
{
Id = u.Id,
FirstName = u.FirstName,
LastName = u.LastName,
UserName = u.UserName,
Email = u.Email,
EmailConfirmed = u.EmailConfirmed
}).ToList();
ViewBag.SelectedMenu = "User";
ViewBag.Title = "Kullanıcılar";
return View(users);
}
public IActionResult Create()
{
UserAddDto userAddDto = new UserAddDto
{
Roles = _roleManager.Roles.Select(r => new RoleDto
{
Id = r.Id,
Name = r.Name,
Description = r.Description
}).ToList(),
SelectedRoles = new List<string>()
};
ViewBag.Title = "Kullanıcı Oluştur";
return View(userAddDto);
}
[HttpPost]
public async Task<IActionResult> Create(UserAddDto userAddDto)
{
if (ModelState.IsValid)
{
var user = new User
{
FirstName = userAddDto.UserDto.FirstName,
LastName = userAddDto.UserDto.LastName,
UserName = userAddDto.UserDto.Email,
Email = userAddDto.UserDto.Email,
EmailConfirmed = userAddDto.UserDto.EmailConfirmed
};
var result = await _userManager.CreateAsync(user, "Qwe123.");
if (result.Succeeded)
{
await _userManager.AddToRolesAsync(user, userAddDto.SelectedRoles);
TempData["Message"] = Jobs.CreateMessage("Başarılı", $"{user.UserName} kullanıcısı başarıyla oluşturuldu.", "success");
return RedirectToAction("Index", "User");
}
foreach (var error in result.Errors)
{
ModelState.AddModelError("", error.Description);
}
}
userAddDto.Roles = _roleManager.Roles.Select(r => new RoleDto
{
Id = r.Id,
Name = r.Name,
Description = r.Description
}).ToList();
userAddDto.SelectedRoles = userAddDto.SelectedRoles ?? new List<string>();
return View(userAddDto);
}
}
}
Editor is loading...