/// <summary> /// This method gets role by role id /// </summary> /// <param name="id"></param> /// <returns></returns> public AspNetRoleDVM GetRoleByRoleId(string id) { AspNetRoleDVM dvm = new AspNetRoleDVM(); if (!string.IsNullOrEmpty(id)) { AspNetRole m = roleManager.FindByIdAsync(id).Result; if (m != null) { dvm = mapper.Map <AspNetRoleDVM>(m); } } return(dvm); }
/// <summary> /// This method gets role by role name /// </summary> /// <param name="name"></param> /// <returns></returns> public AspNetRoleDVM GetRoleByRoleName(string name) { AspNetRoleDVM dvm = new AspNetRoleDVM(); if (!string.IsNullOrEmpty(name)) { var m = roleManager.FindByNameAsync(name).Result; if (m != null) { dvm = mapper.Map <AspNetRoleDVM>(m); } } return(dvm); }
/// <summary> /// This method adds a new user /// </summary> /// <param name="dvm"></param> /// <returns></returns> public async Task <bool> AddUser(AspNetUserDVM dvm, string role) { bool status = false; if (dvm != null && !string.IsNullOrEmpty(role)) { AspNetUser a = mapper.Map <AspNetUser>(dvm); try { var roleD = roleManager.FindByNameAsync(role); if (roleD != null) { var d = userManager.CreateAsync(a); if (d.Result.Succeeded) { await userManager.AddToRoleAsync(a, role); status = true; } } else { var roleDVM = new AspNetRoleDVM { Name = role }; if (await AddRole(roleDVM)) { var d = userManager.CreateAsync(a); if (d.Result.Succeeded) { await userManager.AddToRoleAsync(a, role); status = true; } } } } catch (Exception ex) { throw ex; } } return(status); }
/// <summary> /// This method updates a role /// </summary> /// <param name="dvm"></param> /// <returns></returns> public bool UpdateRole(AspNetRoleDVM dvm) { bool status = false; if (dvm != null) { var m = roleManager.FindByIdAsync(dvm.Id).Result; if (m != null) { m.Name = dvm.Name; if (roleManager.UpdateAsync(m).Result.Succeeded) { status = true; } } } return(status); }
/// <summary> /// This method adds a new role /// </summary> /// <param name="dvm"></param> /// <returns></returns> public async Task <bool> AddRole(AspNetRoleDVM dvm) { bool status = false; if (dvm != null) { AspNetRole a = mapper.Map <AspNetRole>(dvm); try { var result = await roleManager.CreateAsync(a); if (result.Succeeded) { status = true; } } catch (Exception ex) { throw ex; } } return(status); }
/// <summary> /// This method adds a new user /// </summary> /// <param name="dvm"></param> /// <returns></returns> public async Task <bool> AddUserAndSignIn(AspNetUserDVM dvm, string role) { bool status = false; if (dvm != null && !string.IsNullOrEmpty(role)) { AspNetUser a = mapper.Map <AspNetUser>(dvm); a.UserName = dvm.Email; try { var roleD = roleManager.FindByNameAsync(role).Result; AspNetUser chk = userManager.FindByEmailAsync(dvm.Email).Result; if (roleD != null && chk != null) { var rolechk = userManager.GetRolesAsync(chk).Result; if (rolechk.Count() > 0) { if (signInManager.PasswordSignInAsync(chk, dvm.PasswordHash, true, false).Result.Succeeded) { status = true; } } else { var rdvm = new AspNetUserRoleDVM { RoleId = roleD.Id, UserId = chk.Id }; if (AddUserToRole(rdvm)) { if (signInManager.PasswordSignInAsync(a, dvm.PasswordHash, true, false).Result.Succeeded) { status = true; } } } } else if (roleD != null && chk == null) { var d = userManager.CreateAsync(a, dvm.PasswordHash); if (d.Result.Succeeded) { var luser = userManager.FindByEmailAsync(dvm.Email).Result; var rdvm = new AspNetUserRoleDVM { RoleId = roleD.Id, UserId = luser.Id }; if (AddUserToRole(rdvm)) { if (signInManager.PasswordSignInAsync(a, dvm.PasswordHash, false, false).Result.Succeeded) { status = true; } } } } else if (roleD == null && chk == null) { var roleDVM = new AspNetRoleDVM { Name = role }; if (await AddRole(roleDVM)) { var d = userManager.CreateAsync(a, dvm.PasswordHash); if (d.Result.Succeeded) { await userManager.AddToRoleAsync(a, role); if (signInManager.PasswordSignInAsync(a, dvm.PasswordHash, true, false).Result.Succeeded) { status = true; } } } } } catch (Exception ex) { throw ex; } } return(status); }