Ejemplo n.º 1
0
        public async Task <IActionResult> Details(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(NotFound());
            }

            // Validar si el usuario esta activo
            var request = new UserStateRequest {
                Usuario = id
            };
            var response = await _apiService.PostUserState(_configurationServiceHelper.GetUrlBaseService(), "/api", "/Usuario/GetUserState", request, "bearer", _configurationServiceHelper.GetToken());

            var finalUser = new UserInformationResponse();

            if (response != null && response.RealizadoCorrectamente)
            {
                finalUser.Usuario       = response.Resultado.Usuario;
                finalUser.Contraseña    = response.Resultado.Contraseña;
                finalUser.Estado        = response.Resultado.Estado;
                finalUser.NombreUsuario = response.Resultado.NombreUsuario;
                finalUser.FechaCreacion = response.Resultado.FechaCreacion;
            }
            else
            {
                finalUser.Estado = false;
                ViewBag.Mensaje  = response.Mensaje;
            }

            return(View(finalUser));
        }
Ejemplo n.º 2
0
        private User Convert(UserInformationResponse response)
        {
            User user = new User();

            user.AllowPublicKey = response.AllowPublicKey;
            user.ClientKey      = response.ClientKey;
            user.Email          = response.Email;
            user.FirstName      = response.FirstName;
            user.Id             = response.Id;
            user.LastName       = response.LastName;
            user.PackageLife    = response.PackageLife;
            return(user);
        }
Ejemplo n.º 3
0
        public User GetUserInformation()
        {
            Endpoint p = ConnectionStrings.Endpoints["userInformation"].Clone();

            UserInformationResponse response = connection.Send <UserInformationResponse>(p);

            if (response.Response != APIResponse.SUCCESS)
            {
                throw new ActionFailedException(response.Response.ToString(), response.Message);
            }

            return(Convert(response));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> GetUserInformations()
        {
            var user = await _userManager.Users.OrderByDescending(o => o.JoinDate).FirstOrDefaultAsync();

            var userDto = new UserInformationResponse
            {
                Id       = user.Id,
                Email    = user.Email,
                Username = user.UserName
            };

            var count = await _userManager.Users.CountAsync();

            return(Ok(new { user = userDto, count }));
        }
Ejemplo n.º 5
0
        private User Convert(UserInformationResponse response)
        {
            var user = new User
            {
                AllowPublicKey = response.AllowPublicKey,
                ClientKey      = response.ClientKey,
                Email          = response.Email,
                FirstName      = response.FirstName,
                Id             = response.Id,
                LastName       = response.LastName,
                PackageLife    = response.PackageLife
            };

            return(user);
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> GetUserState(UserStateRequest request)
        {
            string finalMessage            = "El usuario es requerido.";
            bool   consultaCompletada      = false;
            UserInformationResponse result = null;

            if (!string.IsNullOrEmpty(request.Usuario))
            {
                // Consultar usuario
                var user = await _dataContext.Usuarios.FirstOrDefaultAsync(u => u.Usuarioo.Equals(request.Usuario));

                if (user != null)
                {
                    if (user.Estado)
                    {
                        consultaCompletada = true;
                        finalMessage       = $"El usuario : { request.Usuario }, esta actualmente activo.";

                        // Establecer valores valores
                        result = new UserInformationResponse
                        {
                            Usuario       = user.Usuarioo,
                            Contraseña    = user.Contraseña,
                            Estado        = user.Estado,
                            NombreUsuario = user.NombreUsuario,
                            FechaCreacion = user.FechaCreacion
                        };
                    }
                    else
                    {
                        finalMessage = $"El usuario : { request.Usuario }, Esta inactivo.";
                    }
                }
                else
                {
                    finalMessage = $"El usuario : { request.Usuario }, no esta registrado.";
                }
            }

            return(Ok(new Response <UserInformationResponse>
            {
                RealizadoCorrectamente = consultaCompletada,
                Mensaje = finalMessage,
                Resultado = result
            }));
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> Register([FromBody] RegisterModel model)
        {
            var user = await _userManager.FindByEmailAsync(model.Email);

            if (user != null)
            {
                return(RequestHandler.BadRequest("User with that email already exists"));
            }

            var newAccount = await CreateIngameAccount(model.Username, model.Password, model.Email);

            if (newAccount == null)
            {
                return(RequestHandler.BadRequest("Username is already taken"));
            }

            var newUser = new ApplicationUser
            {
                Id        = Guid.NewGuid(),
                AccountId = newAccount.Id,
                UserName  = model.Username,
                Firstname = model.Firstname,
                Lastname  = model.Lastname,
                Email     = model.Email,
                JoinDate  = DateTime.UtcNow
            };

            var result = await _userManager.CreateAsync(newUser, model.Password);

            if (!result.Succeeded)
            {
                return(RequestHandler.BadRequest(result.Errors));
            }

            var token = TokenHelper.GenerateToken(newUser, _jwtSecurityKey).SerializeToken();

            // All good - now we add and save the new entities
            var accountData = new AccountData
            {
                Id        = newAccount.Id,
                Dp        = 0,
                Vp        = 0,
                ExtraMask = 0
            };

            await _authContext.Account.AddAsync(newAccount);

            await _authContext.AccountData.AddAsync(accountData);

            await _authContext.SaveChangesAsync();

            var userDto = new WebAccDTO
            {
                Id         = newUser.Id,
                AccountId  = newUser.AccountId,
                Username   = newUser.UserName,
                Firstname  = newUser.Firstname,
                Lastname   = newUser.Lastname,
                Email      = newUser.Email,
                JoinDate   = DateTime.UtcNow,
                Roles      = new string[] { },
                Location   = "Unknown",
                VP         = 0,
                DP         = 0,
                TotalVotes = 0,
                Account    = newAccount
            };

            // Update Client
            var count = await _userManager.Users.CountAsync();

            var userInformation = new UserInformationResponse
            {
                Id       = newUser.Id,
                Email    = newUser.Email,
                Username = newUser.UserName
            };

            await _signalRHub.Clients.All.UpdateUserInformations(userInformation, count);

            return(Ok(new
            {
                token,
                userDto
            }));
        }