Beispiel #1
0
        public async Task <IActionResult> IniciarSesion(IniciarSesion Sesion)
        {
            if (ModelState.IsValid)
            {
                AppUsuarios usuario = await userManager.FindByEmailAsync(Sesion.Correo);

                if (usuario != null)
                {
                    await signInManager.SignOutAsync();

                    Microsoft.AspNetCore.Identity.SignInResult resultado = await signInManager.PasswordSignInAsync(usuario, Sesion.Contraseña, false, false);

                    if (resultado.Succeeded)
                    {
                        _logger.LogInformation(Sesion.Correo + " inició sesión");
                        return(Redirect("~/Inicio/Index"));
                    }
                }
                ModelState.AddModelError("", "Usuario y/o contraseña incorrectos");
                return(Index());
            }
            else
            {
                ModelState.AddModelError("", "Usuario no registrado");
            }
            return(Index());
        }
        public async Task <IActionResult> Actualizar(string id, string email, string password)
        {
            AppUsuarios usuario = await userManager.FindByIdAsync(id);

            if (usuario != null)
            {
                if (!string.IsNullOrEmpty(email))
                {
                    if (email.Contains("@"))
                    {
                        usuario.Email = email;
                    }
                    else
                    {
                        ModelState.AddModelError("", "E-mail no válido");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "E-mail es obligatorio");
                }


                if (!string.IsNullOrEmpty(password))
                {
                    usuario.PasswordHash = passwordHasher.HashPassword(usuario, password);
                }
                else
                {
                    ModelState.AddModelError("", "Contraseña es obligatoria");
                }

                if (!string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(password) && email.Contains("@"))
                {
                    IdentityResult resultado = await userManager.UpdateAsync(usuario);

                    if (resultado.Succeeded)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        Error(resultado);
                    }
                }
            }
            else
            {
                ModelState.AddModelError("", "Usuario no encontrado");
            }
            return(View(usuario));
        }
        public async Task <IActionResult> Actualizar(string id)
        {
            AppUsuarios usuario = await userManager.FindByIdAsync(id);

            if (usuario != null)
            {
                return(View(usuario));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
Beispiel #4
0
        public async Task <IActionResult> Actualizar(ModificacionRoles model)
        {
            IdentityResult resultado;

            if (ModelState.IsValid)
            {
                foreach (string userId in model.AddIds ?? new string[] { })
                {
                    AppUsuarios usuario = await userManager.FindByIdAsync(userId);

                    if (usuario != null)
                    {
                        resultado = await userManager.AddToRoleAsync(usuario, model.RoleName);

                        if (!resultado.Succeeded)
                        {
                            Error(resultado);
                        }
                    }
                }
                foreach (string userId in model.DeleteIds ?? new string[] { })
                {
                    AppUsuarios usuario = await userManager.FindByIdAsync(userId);

                    if (usuario != null)
                    {
                        resultado = await userManager.RemoveFromRoleAsync(usuario, model.RoleName);

                        if (!resultado.Succeeded)
                        {
                            Error(resultado);
                        }
                    }
                }
            }

            if (ModelState.IsValid)
            {
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(await Actualizar(model.RoleId));
            }
        }
        public async Task <IActionResult> Agregar(Usuarios usuario)
        {
            if (ModelState.IsValid)
            {
                AppUsuarios appUsuario = new AppUsuarios
                {
                    UserName = usuario.NombreUsuario,
                    Email    = usuario.Correo
                };

                IdentityResult resultado = await userManager.CreateAsync(appUsuario, usuario.Contraseña);

                if (resultado.Succeeded)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    Error(resultado);
                }
            }
            return(View(usuario));
        }
        public async Task <IActionResult> Eliminar(string id)
        {
            AppUsuarios usuario = await userManager.FindByIdAsync(id);

            if (usuario != null)
            {
                IdentityResult resultado = await userManager.DeleteAsync(usuario);

                if (resultado.Succeeded)
                {
                    _logger.LogInformation("Se eliminó al usuario " + usuario.Email);
                    return(RedirectToAction("Index"));
                }
                else
                {
                    Error(resultado);
                }
            }
            else
            {
                ModelState.AddModelError("", "Usuario no encontrado");
            }
            return(View("Index", userManager.Users));
        }
Beispiel #7
0
 public AutenticacaoController(IContexto contexto)
 {
     mAppUsuario = new AppUsuarios(contexto);
 }
Beispiel #8
0
        /// <summary>
        /// Chamado quando o aplicativo é iniciado normalmente pelo usuário final.  Outros pontos de entrada
        /// serão usados, por exemplo, quando o aplicativo for iniciado para abrir um arquivo específico.
        /// </summary>
        /// <param name="e">Detalhes sobre a solicitação e o processo de inicialização.</param>
        protected override async void OnLaunched(LaunchActivatedEventArgs e)
        {
            bool jaExisteUsuario = await StorageHelper.FileExistsAsync("Usuarios.json");

            if (!jaExisteUsuario)
            {
                await AppUsuarios.Save();
            }
            else
            {
                await AppUsuarios.Load();
            }

            bool jaExisteReclamacao = await StorageHelper.FileExistsAsync("Reclamacoes.json");

            if (!jaExisteReclamacao)
            {
                await AppReclamacoes.Save();
            }
            else
            {
                await AppReclamacoes.Load();
            }


            bool jaExisteComentario = await StorageHelper.FileExistsAsync("Comentarios.json");

            if (!jaExisteComentario)
            {
                await AppComentarios.Save();
            }
            else
            {
                await AppComentarios.Load();
            }



            Frame rootFrame = Window.Current.Content as Frame;

            // Não repita a inicialização do aplicativo quando a Janela já tiver conteúdo,
            // apenas verifique se a janela está ativa
            if (rootFrame == null)
            {
                // Crie um Quadro para atuar como o contexto de navegação e navegue para a primeira página
                rootFrame = new Frame();

                rootFrame.NavigationFailed += OnNavigationFailed;

                if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
                {
                    // TODO: Carregue o estado do aplicativo suspenso anteriormente
                }

                // Coloque o quadro na Janela atual
                Window.Current.Content = rootFrame;
            }

            if (e.PrelaunchActivated == false)
            {
                if (rootFrame.Content == null)
                {
                    // Quando a pilha de navegação não for restaurada, navegar para a primeira página,
                    // configurando a nova página passando as informações necessárias como um parâmetro
                    // parâmetro
                    rootFrame.Navigate(typeof(Views.Login), e.Arguments);
                }
                // Verifique se a janela atual está ativa
                Window.Current.Activate();
            }
        }