Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
0
        /// <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);
        }