public async Task <ActionResult <MmtUserGetDTO> > GetMmtUser(string Id) { var mmtUser = await _UserManager.FindByIdAsync(Id); if (mmtUser == null) { return(NotFound($"User with Id : {Id} not found ")); } var mmtUserGetDTO = new MmtUserGetDTO() { Id = mmtUser.Id, UserName = mmtUser.UserName, FirstName = mmtUser.FirstName, LastName = mmtUser.LastName, Email = mmtUser.Email, EmailConfirmed = mmtUser.EmailConfirmed, PostalCode = mmtUser.PostalCode, City = mmtUser.City, Country = mmtUser.Country, Mobile = mmtUser.PhoneNumber, PhoneNumberConfirmed = mmtUser.PhoneNumberConfirmed, PhoneHome = mmtUser.PhoneHome, PhoneWork = mmtUser.PhoneWork, Function = mmtUser.Function, Street = mmtUser.Street, }; var allRoles = _RoleManager.Roles; var rolsAsString = await _UserManager.GetRolesAsync(mmtUser); List <IdentityRole> roles = new List <IdentityRole>(); foreach (var item in rolsAsString) { foreach (var role in allRoles) { if (item == role.Name) { roles.Add(role); } } } //mmtUserGetDTO.Roles= await _UserManager.GetRolesAsync(mmtUser); mmtUserGetDTO.Roles = roles; return(Ok(mmtUserGetDTO)); }
public async Task <ActionResult <MmtUserGetDTO> > PostMmtUser([FromForm] MmtUserPostDTO model) { var mmtUser = await _UserManager.FindByEmailAsync(model.Email); if (mmtUser != null) { ModelState.AddModelError("", "there is already a user with the same Email"); return(BadRequest(ModelState)); } if (model.Password != model.ConfirmPassword) { ModelState.AddModelError("", "password doent match his confirmation"); return(BadRequest(ModelState)); } mmtUser = new MmtUser { UserName = model.UserName, FirstName = model.FirstName, LastName = model.LastName, Email = model.Email, PostalCode = model.PostalCode, City = model.City, Country = model.Country, PhoneNumber = model.Mobile, PhoneHome = model.PhoneHome, PhoneWork = model.PhoneWork, Function = model.Function, Street = model.Street, EmailConfirmed = model.ConfirmEmail, }; var result = await _UserManager.CreateAsync(mmtUser, model.Password); if (!result.Succeeded) { foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } return(BadRequest(ModelState)); } if (model.Roles != null) { await _UserManager.AddToRolesAsync(mmtUser, model.Roles); } var mmtUserGetDTO = new MmtUserGetDTO { Id = mmtUser.Id, UserName = mmtUser.UserName, FirstName = mmtUser.FirstName, LastName = mmtUser.LastName, Email = mmtUser.Email, PostalCode = mmtUser.PostalCode, City = mmtUser.City, Country = mmtUser.Country, Mobile = mmtUser.PhoneNumber, PhoneHome = mmtUser.PhoneHome, PhoneWork = mmtUser.PhoneWork, Function = mmtUser.Function, Street = mmtUser.Street, }; var allRoles = _RoleManager.Roles; var rolsAsString = await _UserManager.GetRolesAsync(mmtUser); List <IdentityRole> roles = new List <IdentityRole>(); foreach (var item in rolsAsString) { foreach (var role in allRoles) { if (item == role.Name) { roles.Add(role); } } } //mmtUserGetDTO.Roles = await _UserManager.GetRolesAsync(mmtUser); mmtUserGetDTO.Roles = roles; return(Ok(mmtUserGetDTO)); }