Example #1
0
        /// <summary>
        /// Logica del Boton Entrar
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnEntrar_Click(object sender, RoutedEventArgs e)
        {
            if (txtUsuario.Text.Length == 0 || txtPassword.Password.Length == 0)
            {
                txtError.Text = "El email y la constraseña no pueden estar vacíos";
                txtUsuario.Focus();
            }
            else if (!Regex.IsMatch(txtUsuario.Text, @"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"))
            {
                txtError.Text = "Introduzca un email válido";
                txtUsuario.Select(0, txtUsuario.Text.Length);
                txtUsuario.Focus();
            }
            else
            {
                string email    = txtUsuario.Text;      //"*****@*****.**";
                string password = txtPassword.Password; //"elias2";

                panel.IsEnabled             = false;
                loginViewModel.PanelLoading = true;

                Thread t = new Thread(new ThreadStart(() =>
                {
                    ServerServiceUsuario serverServiceUsuario   = new ServerServiceUsuario();
                    ServerResponseUsuario serverResponseUsuario = serverServiceUsuario.GetLogin(email, password);

                    Dispatcher.Invoke(new Action(() => { panel.IsEnabled = true; }));
                    Dispatcher.Invoke(new Action(() => { loginViewModel.PanelLoading = false; }));

                    if (serverResponseUsuario.error.code == MessageExceptions.OK_CODE)
                    {
                        if (!serverResponseUsuario.listaUsuario[0].rol.nombre.Equals("COMERCIAL"))
                        {
                            Dispatcher.Invoke(new Action(() => { MainViewModel.usuarioDTO = serverResponseUsuario.listaUsuario[0]; }));
                            Dispatcher.Invoke(new Action(() => { mainWindow.cargarUsuario(); }));
                            Dispatcher.Invoke(new Action(() => { mainWindow.Show(); }));
                            Dispatcher.Invoke(new Action(() => { Close(); }));
                        }
                        else
                        {
                            Dispatcher.Invoke(new Action(() => { txtError.Text = "No tienes permisos para acceder a la aplicación"; }));
                            Dispatcher.Invoke(new Action(() => { txtUsuario.Focus(); }));
                        }
                    }
                    else
                    {
                        Dispatcher.Invoke(new Action(() => { txtError.Text = "Usuario o contraseña incorrectos"; }));
                        Dispatcher.Invoke(new Action(() => { txtUsuario.Focus(); }));
                    }
                }));

                t.Start();
            }
        }
        /// <summary>
        /// Devuelve los datos con los filtros: Nombre, Email y Rol
        /// </summary>
        /// <param name="nombre"></param>
        /// <param name="email"></param>
        /// <param name="rol"></param>
        /// <returns>ServerResponseUsuario</returns>
        public ServerResponseUsuario GetAllFilter(string nombre, string email, string rol)
        {
            ServerResponseUsuario serverResponseUsuario;

            try
            {
                OauthToken oauthToken = ServerService.obtenerToken();

                if (null != oauthToken)
                {
                    var url = Constantes.SERVIDOR + USUARIO + "allFilter/" + nombre + "/" + email + "/" + rol;

                    var httpRequest = (HttpWebRequest)WebRequest.Create(url);
                    httpRequest.Method = "GET";

                    httpRequest.Accept = "application/json";
                    httpRequest.Headers["Authorization"] = "Bearer " + oauthToken.access_token;

                    var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
                    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                    {
                        var result = streamReader.ReadToEnd();

                        serverResponseUsuario = JsonSerializer.Deserialize <ServerResponseUsuario>(result);
                    }

                    //Console.WriteLine(httpResponse.StatusCode);
                }
                else
                {
                    serverResponseUsuario = new ServerResponseUsuario();

                    ErrorBean error = new ErrorBean();
                    error.code    = MessageExceptions.SERVER_ERROR;
                    error.message = MessageExceptions.MSSG_SERVER_ERROR;

                    serverResponseUsuario.error = error;
                }
            }
            catch (System.Exception)
            {
                serverResponseUsuario = new ServerResponseUsuario();

                ErrorBean error = new ErrorBean();
                error.code    = MessageExceptions.SERVER_ERROR;
                error.message = MessageExceptions.MSSG_SERVER_ERROR;

                serverResponseUsuario.error = error;
            }

            return(serverResponseUsuario);
        }
Example #3
0
        public AjustesView()
        {
            InitializeComponent();

            // Mostrar
            gridAjustes.Visibility = Visibility.Visible;

            // Ocultar
            gridGestionUsuario.Visibility        = Visibility.Hidden;
            gridNuevoModificarUsuario.Visibility = Visibility.Hidden;

            ajustesViewModel = (AjustesViewModel)this.DataContext;

            //Oculta la gestion de usuarios
            if ("ADMINISTRATIVO".Equals(MainViewModel.usuarioDTO.rol.nombre))
            {
                btnGestionUsuarios.Visibility = Visibility.Hidden;
            }
            else
            {
                cmbRol.ItemsSource = ajustesViewModel.observableCollectionRol;

                panel.IsEnabled = false;
                ajustesViewModel.PanelLoading = true;

                Thread t = new Thread(new ThreadStart(() =>
                {
                    Dispatcher.Invoke(new Action(() => { ajustesViewModel.cargaCombo(); }));

                    ServerServiceUsuario serverServiceUsuario   = new ServerServiceUsuario();
                    ServerResponseUsuario serverResponseUsuario = serverServiceUsuario.GetAll();

                    if (200 == serverResponseUsuario.error.code)
                    {
                        foreach (var item in serverResponseUsuario.listaUsuario)
                        {
                            Dispatcher.Invoke(new Action(() => { observableCollectionUsuario.Add(item); }));
                        }
                    }
                    else
                    {
                        Dispatcher.Invoke(new Action(() => { msgError(serverResponseUsuario.error.message); }));
                    }

                    Dispatcher.Invoke(new Action(() => { panel.IsEnabled = true; }));
                    Dispatcher.Invoke(new Action(() => { ajustesViewModel.PanelLoading = false; }));
                    Dispatcher.Invoke(new Action(() => { lstUsuarios.ItemsSource = observableCollectionUsuario; }));
                }));

                t.Start();
            }
        }
        /// <summary>
        /// Con el id "null" guarda un nuevo objeto y, en caso contrario, modifica el objeto de la BD
        /// </summary>
        /// <param name="UsuarioDTO">objeto de BD</param>
        /// <param name="id"></param>
        /// <returns>ServerResponseUsuario</returns>
        public ServerResponseUsuario Save(UsuarioDTO usuarioDTO, string id)
        {
            ServerResponseUsuario serverResponseUsuario;

            try
            {
                OauthToken oauthToken = ServerService.obtenerToken();

                if (null != oauthToken)
                {
                    var url = Constantes.SERVIDOR + USUARIO + "save/" + id;

                    var httpRequest = (HttpWebRequest)WebRequest.Create(url);
                    httpRequest.Method = "POST";

                    httpRequest.Headers["Authorization"] = "Bearer " + oauthToken.access_token;
                    httpRequest.ContentType = "application/json";

                    Usuario usuario = transformUsuarioDTOToUsuario(usuarioDTO);

                    if (null != usuario)
                    {
                        var data = JsonSerializer.Serialize <Usuario>(usuario);

                        using (var streamWriter = new StreamWriter(httpRequest.GetRequestStream()))
                        {
                            streamWriter.Write(data);
                        }

                        var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
                        using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                        {
                            var result = streamReader.ReadToEnd();

                            serverResponseUsuario = JsonSerializer.Deserialize <ServerResponseUsuario>(result);
                        }

                        //Console.WriteLine(httpResponse.StatusCode);
                    }
                    else
                    {
                        serverResponseUsuario = new ServerResponseUsuario();

                        ErrorBean error = new ErrorBean();
                        error.code    = MessageExceptions.SERVER_ERROR;
                        error.message = MessageExceptions.MSSG_SERVER_ERROR;

                        serverResponseUsuario.error = error;
                    }
                }
                else
                {
                    serverResponseUsuario = new ServerResponseUsuario();

                    ErrorBean error = new ErrorBean();
                    error.code    = MessageExceptions.SERVER_ERROR;
                    error.message = MessageExceptions.MSSG_SERVER_ERROR;

                    serverResponseUsuario.error = error;
                }
            }
            catch (System.Exception)
            {
                serverResponseUsuario = new ServerResponseUsuario();

                ErrorBean error = new ErrorBean();
                error.code    = MessageExceptions.SERVER_ERROR;
                error.message = MessageExceptions.MSSG_SERVER_ERROR;

                serverResponseUsuario.error = error;
            }

            return(serverResponseUsuario);
        }
Example #5
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            int index = int.Parse(((Button)e.Source).Uid);

            switch (index)
            {
            // BOTON AJUSTES
            case 0:
                // Mostrar
                gridAjustes.Visibility = Visibility.Visible;

                // Ocultar
                gridGestionUsuario.Visibility        = Visibility.Hidden;
                gridNuevoModificarUsuario.Visibility = Visibility.Hidden;

                break;

            // BOTON ACEPTAR Cambiar Contrasenia
            case 1:
                // Mostrar
                gridAjustes.Visibility = Visibility.Visible;

                // Ocultar
                gridGestionUsuario.Visibility        = Visibility.Hidden;
                gridNuevoModificarUsuario.Visibility = Visibility.Hidden;

                if (verificarPwd())
                {
                    txtErrorCambio.Text = "";

                    panel.IsEnabled = false;
                    ajustesViewModel.PanelLoading = true;

                    Thread t = new Thread(new ThreadStart(() =>
                    {
                        ServerServiceUsuario serverServiceUsuario   = new ServerServiceUsuario();
                        ServerResponseUsuario serverResponseUsuario = serverServiceUsuario.ChangePwd(MainViewModel.usuarioDTO.nombre, txtPwdActual.Password, txtPwdNueva.Password, txtPwdNuevaRepetir.Password);

                        if (200 == serverResponseUsuario.error.code)
                        {
                            Dispatcher.Invoke(new Action(() => { mostrarAutoCloseMensaje("Contraseña", "Se ha actualizado la contraseña correctamente."); }));
                            Dispatcher.Invoke(new Action(() => { MainViewModel.usuarioDTO.pwd = txtPwdNueva.Password; }));
                            Dispatcher.Invoke(new Action(() => { limpiarPwd(); }));
                        }
                        else
                        {
                            Dispatcher.Invoke(new Action(() => { msgError(serverResponseUsuario.error.message); }));
                        }

                        Dispatcher.Invoke(new Action(() => { panel.IsEnabled = true; }));
                        Dispatcher.Invoke(new Action(() => { ajustesViewModel.PanelLoading = false; }));
                    }));

                    t.Start();
                }

                break;

            // BOTON GESTION USUARIOS
            case 2:
                // Mostrar
                gridGestionUsuario.Visibility = Visibility.Visible;

                // Ocultar
                gridAjustes.Visibility = Visibility.Hidden;
                gridNuevoModificarUsuario.Visibility = Visibility.Hidden;

                //Limpia la informacion
                limpiarInfUsuario();
                break;

            // BOTON NUEVO USUARIO
            case 3:
                limpiarInfUsuario();

                // Mostrar
                gridNuevoModificarUsuario.Visibility = Visibility.Visible;

                btnModifAceptar.Visibility = Visibility.Visible;
                btnCancelar.Visibility     = Visibility.Visible;

                // Ocultar
                gridAjustes.Visibility        = Visibility.Hidden;
                gridGestionUsuario.Visibility = Visibility.Hidden;

                btnEliminar.Visibility = Visibility.Hidden;

                cmbRolNuevoModif.ItemsSource = ajustesViewModel.observableCollectionRol;

                modo         = Constantes.NUEVO;
                usuarioModif = new UsuarioDTO();
                break;

            // BOTON ELIMINAR USUARIO
            case 4:
                var dialogEliminar = new CustomMessageBox
                {
                    Caption            = "Eliminar",
                    InstructionHeading = "¿Está seguro que quiere eliminar el usuario?",
                    InstructionText    = "Esta acción será irreversible",
                };
                dialogEliminar.SetButtonsPredefined(EnumPredefinedButtons.OkCancel);

                var resultEliminar = dialogEliminar.ShowDialog();
                if (resultEliminar.HasValue && resultEliminar.Value && dialogEliminar.CustomCustomDialogResult == EnumDialogResults.Button1)
                {
                    //El usuario Administrador no puede cambiar su informacion
                    if (null != ajustesViewModel.usuario && MainViewModel.usuarioDTO.id.Equals(ajustesViewModel.usuario.id))
                    {
                        txtErrorNuevo.Text = "* No puede cambiar su usuario, contacte con el servicio técnico.";
                        btnCancelar.Focus();
                    }
                    else
                    {
                        panel.IsEnabled = false;
                        ajustesViewModel.PanelLoading = true;

                        Thread t = new Thread(new ThreadStart(() =>
                        {
                            ServerServiceUsuario serverServiceUsuario   = new ServerServiceUsuario();
                            ServerResponseUsuario serverResponseUsuario = serverServiceUsuario.Delete(ajustesViewModel.usuario.id);

                            if (200 == serverResponseUsuario.error.code)
                            {
                                Dispatcher.Invoke(new Action(() => { mostrarAutoCloseMensaje("Eliminar", "Se ha eliminado el usuario correctamente."); }));
                            }
                            else
                            {
                                Dispatcher.Invoke(new Action(() => { msgError(serverResponseUsuario.error.message); }));
                            }

                            Dispatcher.Invoke(new Action(() => { panel.IsEnabled = true; }));
                            Dispatcher.Invoke(new Action(() => { ajustesViewModel.PanelLoading = false; }));
                            Dispatcher.Invoke(new Action(() => { volver(); }));
                        }));

                        t.Start();
                    }
                }
                break;

            // BOTON MODIFICAR/ACEPTAR USUARIO
            case 5:
                //modificar(null);
                if (modo == Constantes.NUEVO)
                {
                    var dialog = new CustomMessageBox
                    {
                        Caption            = "Nuevo",
                        InstructionHeading = "¿Está seguro que quiere guardar el usuario?",
                        InstructionText    = "Esta acción guardará la información del usuario",
                    };
                    dialog.SetButtonsPredefined(EnumPredefinedButtons.OkCancel);

                    var result = dialog.ShowDialog();
                    if (result.HasValue && result.Value && dialog.CustomCustomDialogResult == EnumDialogResults.Button1)
                    {
                        if (cambiosUsuario())
                        {
                            txtErrorNuevo.Text = "";

                            panel.IsEnabled = false;
                            ajustesViewModel.PanelLoading = true;

                            Thread t = new Thread(new ThreadStart(() =>
                            {
                                ServerServiceUsuario serverServiceUsuario   = new ServerServiceUsuario();
                                ServerResponseUsuario serverResponseUsuario = serverServiceUsuario.Save(usuarioModif, "null");

                                if (200 == serverResponseUsuario.error.code)
                                {
                                    Dispatcher.Invoke(new Action(() => { mostrarAutoCloseMensaje("Nuevo", "Se ha guardado el usuario correctamente."); }));
                                    Dispatcher.Invoke(new Action(() => { ajustesViewModel.usuario = usuarioModif; }));
                                }
                                else
                                {
                                    Dispatcher.Invoke(new Action(() => { msgError(serverResponseUsuario.error.message); }));
                                }

                                Dispatcher.Invoke(new Action(() => { panel.IsEnabled = true; }));
                                Dispatcher.Invoke(new Action(() => { ajustesViewModel.PanelLoading = false; }));
                                Dispatcher.Invoke(new Action(() => { volver(); }));
                            }));

                            t.Start();
                        }
                    }
                }
                else if (modo == Constantes.MODIFICA)
                {
                    var dialog = new CustomMessageBox
                    {
                        Caption            = "Modificar",
                        InstructionHeading = "¿Está seguro que quiere modificar el usuario?",
                        InstructionText    = "Esta acción modificará la información del usuario",
                    };
                    dialog.SetButtonsPredefined(EnumPredefinedButtons.OkCancel);

                    var result = dialog.ShowDialog();
                    if (result.HasValue && result.Value && dialog.CustomCustomDialogResult == EnumDialogResults.Button1)
                    {
                        if (cambiosUsuario())
                        {
                            txtErrorNuevo.Text = "";

                            panel.IsEnabled = false;
                            ajustesViewModel.PanelLoading = true;

                            Thread t = new Thread(new ThreadStart(() =>
                            {
                                ServerServiceUsuario serverServiceUsuario   = new ServerServiceUsuario();
                                ServerResponseUsuario serverResponseUsuario = serverServiceUsuario.Save(usuarioModif, usuarioModif.id);

                                if (200 == serverResponseUsuario.error.code)
                                {
                                    Dispatcher.Invoke(new Action(() => { mostrarAutoCloseMensaje("Modificar", "Se ha modificado el usuario correctamente."); }));
                                    Dispatcher.Invoke(new Action(() => { ajustesViewModel.usuario = usuarioModif; }));
                                }
                                else
                                {
                                    Dispatcher.Invoke(new Action(() => { msgError(serverResponseUsuario.error.message); }));
                                }

                                Dispatcher.Invoke(new Action(() => { panel.IsEnabled = true; }));
                                Dispatcher.Invoke(new Action(() => { ajustesViewModel.PanelLoading = false; }));
                                Dispatcher.Invoke(new Action(() => { volver(); }));
                            }));

                            t.Start();
                        }
                    }
                }
                break;

            // BOTON CANCELAR USUARIO
            case 6:
                // Mostrar
                gridGestionUsuario.Visibility = Visibility.Visible;

                // Ocultar
                gridAjustes.Visibility = Visibility.Hidden;
                gridNuevoModificarUsuario.Visibility = Visibility.Hidden;

                //Limpia la informacion
                limpiarInfUsuario();
                break;
            }
        }
Example #6
0
        private void filtrar()
        {
            panel.IsEnabled = false;
            ajustesViewModel.PanelLoading = true;

            string nombre = "null";

            if (!txtNombre.Text.Equals(""))
            {
                nombre = txtNombre.Text.ToString();
            }

            string email = "null";

            if (!txtEmail.Text.Equals(""))
            {
                email = txtEmail.Text.ToString();
            }

            Object selectedTipo = cmbRol.SelectedItem;
            string tipo         = "null";

            if (null != selectedTipo && 0 < cmbRol.SelectedIndex)
            {
                tipo = selectedTipo.ToString();

                foreach (var item in ajustesViewModel.ListaRol)
                {
                    if (item.nombre.Equals(tipo))
                    {
                        tipo = item.id;
                    }
                }
            }

            Thread t = new Thread(new ThreadStart(() =>
            {
                ServerServiceUsuario serverServiceUsuario   = new ServerServiceUsuario();
                ServerResponseUsuario serverResponseUsuario = serverServiceUsuario.GetAllFilter(nombre, email, tipo);

                if (200 == serverResponseUsuario.error.code)
                {
                    //Limpiar la lista para recuperar la informacion de la busqueda
                    Dispatcher.Invoke(new Action(() => { observableCollectionUsuario.Clear(); }));

                    foreach (var item in serverResponseUsuario.listaUsuario)
                    {
                        Dispatcher.Invoke(new Action(() => { observableCollectionUsuario.Add(item); }));
                    }
                }
                else
                {
                    Dispatcher.Invoke(new Action(() => { msgError(serverResponseUsuario.error.message); }));
                }

                Dispatcher.Invoke(new Action(() => { panel.IsEnabled = true; }));
                Dispatcher.Invoke(new Action(() => { ajustesViewModel.PanelLoading = false; }));
                Dispatcher.Invoke(new Action(() => { lstUsuarios.ItemsSource = observableCollectionUsuario; }));
            }));

            t.Start();
        }