Exemple #1
0
        AddToUserAsync(string id, CancellationToken cancellationToken = default(CancellationToken))
        {
            var user = await _userManager.FindByIdAsync(id);

            if (user == null)
            {
                return((Result <UserAdministrationView>) Result <UserAdministrationView>
                       .NotOk <UserAdministrationView>(null, "User is not exist"));
            }

            await _userManager.RemoveFromRoleAsync(user, "Admin");

            var identityUser = _mapper.Map <IdentityUserAdministrationDTO>(user);

            var roles = await _userManager.GetRolesAsync(user);

            var profile = await _service.GetUserProfileByIdentityIdAsync(id, cancellationToken);

            if (profile.IsError || !profile.IsSuccess)
            {
                UserAdministrationView failView = new UserAdministrationView()
                {
                    Profile      = null,
                    IdentityUser = identityUser,
                    Roles        = roles.ToList <string>()
                };

                return((Result <UserAdministrationView>) Result <UserAdministrationView>
                       .NotOk <UserAdministrationView>(failView, profile.Message));
            }

            UserAdministrationView view = new UserAdministrationView()
            {
                Profile      = profile.Data,
                IdentityUser = identityUser,
                Roles        = roles.ToList <string>()
            };

            var sendingResult = await _emailSender.SendEmailAsync(user.Email,
                                                                  "Changed role",
                                                                  "You have been removed from the administrator role! Do not reply to this message, it was generated automatically!",
                                                                  cancellationToken);

            if (sendingResult.IsError)
            {
                return((Result <UserAdministrationView>) Result <UserAdministrationView>
                       .Fail <UserAdministrationView>(sendingResult.Message));
            }

            return((Result <UserAdministrationView>) Result <UserAdministrationView>
                   .Ok(view));
        }
Exemple #2
0
        GetUserByIdAsync(string id, CancellationToken cancellationToken = default(CancellationToken))
        {
            var user = await _userManager.FindByIdAsync(id);

            if (user == null)
            {
                return((Result <UserAdministrationView>) Result <UserAdministrationView>
                       .NotOk <UserAdministrationView>(null, "User is not exist"));
            }

            var identityUser = _mapper.Map <IdentityUserAdministrationDTO>(user);

            var roles = await _userManager.GetRolesAsync(user);

            var profile = await _service.GetUserProfileByIdentityIdAsync(id, cancellationToken);

            if (profile.IsError || !profile.IsSuccess)
            {
                UserAdministrationView failView = new UserAdministrationView()
                {
                    Profile      = null,
                    IdentityUser = identityUser,
                    Roles        = roles.ToList <string>()
                };

                return((Result <UserAdministrationView>) Result <UserAdministrationView>
                       .NotOk <UserAdministrationView>(failView, profile.Message));
            }

            UserAdministrationView view = new UserAdministrationView()
            {
                Profile      = profile.Data,
                IdentityUser = identityUser,
                Roles        = roles.ToList <string>()
            };

            return((Result <UserAdministrationView>) Result <UserAdministrationView>
                   .Ok(view));
        }