private async void ModificarUsuario() { var usuarioLogeado = context.Usuarios.Single(u => u.Nombre == Properties.Settings.Default.usuario); // El usuario Super Administrador no se puede borrar if (UsuarioSeleccionado.TipoId == 1 && usuarioLogeado.TipoId != 1) { await DialogHost.Show(new MensajeInformacion() { Mensaje = "No se puede modificar ese usuario." }, "RootDialog"); } // Si el usuario logeado o tiene la gestión de permisos y el usuario seleccionado sí, entonces no se puede modificar else if (!usuarioLogeado.TipoUsuario.Permisos.Select(p => p.Tab).Contains(Tab.Permisos) && UsuarioSeleccionado.TipoUsuario.Permisos.Select(p => p.Tab).Contains(Tab.Permisos)) { await DialogHost.Show(new MensajeInformacion() { Mensaje = "No se puede modificar ese usuario ya que no se tiene permisos suficientes." }, "RootDialog"); } // Se procede a modificar else { var formUsuario = new FormUsuario(UsuarioSeleccionado); if ((bool)await DialogHost.Show(formUsuario, "RootDialog")) { var formUsuarioViewModel = formUsuario.DataContext as FormUsuarioViewModel; var hashContrasena = ContrasenaHashing.ObtenerHashSHA256( ContrasenaHashing.SecureStringToString(formUsuarioViewModel.Contrasena) ); UsuarioSeleccionado.Nombre = formUsuarioViewModel.Nombre; UsuarioSeleccionado.Email = formUsuarioViewModel.Email; UsuarioSeleccionado.TipoId = formUsuarioViewModel.TipoUsuarioSeleccionado.TipoUsuarioId; UsuarioSeleccionado.Contrasena = hashContrasena; UsuarioSeleccionado.Baneado = formUsuarioViewModel.Baneado; context.SaveChanges(); } } }
private async void AnadirUsuario() { var formUsuario = new FormUsuario(); if ((bool)await DialogHost.Show(formUsuario, "RootDialog")) { var formUsuarioViewModel = formUsuario.DataContext as FormUsuarioViewModel; var hashContrasena = ContrasenaHashing.ObtenerHashSHA256( ContrasenaHashing.SecureStringToString(formUsuarioViewModel.Contrasena) ); context.Usuarios.Add(new Usuario() { Nombre = formUsuarioViewModel.Nombre, Email = formUsuarioViewModel.Email, TipoId = formUsuarioViewModel.TipoUsuarioSeleccionado.TipoUsuarioId, Contrasena = hashContrasena, Baneado = formUsuarioViewModel.Baneado }); context.SaveChanges(); CargarUsuarios(); } }