示例#1
0
        private void BtAgregar_Click(object sender, EventArgs e)
        {
            if (!validacionCampos())
            {
                return;
            }
            try
            {
                var nom  = TxtNombre.Text.Trim();
                var pass = TxtPassword.Text.Trim();
                var per  = CBPerfil.Text.Trim();


                if (NUsuarios.AgregarUsuario(nom, pass, per)) //si la funcion agregar pudo insertar
                {
                    MessageBox.Show("Usuario Registrado Correctamente", "Mensaje Exitoso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    limpiar();
                }
                else//si no pudo insertar
                {
                    MessageBox.Show("Usuario No Fue Registrado o Ya Existe", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }
        }
示例#2
0
        private void BtModificar_Click(object sender, EventArgs e)
        {
            if (this.TxtNombre.Text.Trim().Length == 0 || this.TxtPassword.Text.Trim().Length == 0)
            {
                MessageBox.Show("Debe Buscar el Usuario que Desea Modificar", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.TxtNombre.Select();
                return;
            }

            try
            {
                int id   = Convert.ToInt32(txtCodigo.Text.Trim());
                var nom  = TxtNombre.Text.Trim();
                var pass = TxtPassword.Text.Trim();
                var per  = CBPerfil.Text.Trim();

                if (NUsuarios.ModificarUsuario(id, nom, pass, per))
                {
                    MessageBox.Show("Usuario Editado Correctamente", "Mensaje Exitoso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    limpiar();
                }
                else
                {
                    MessageBox.Show("El Usuario No Pudo Ser Editado", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }
        }
        private async void FrmIniciarSesion_Load(object sender, EventArgs e)
        {
            this.txtPass.txtBusqueda.TextAlign             = HorizontalAlignment.Center;
            this.txtPass.Texto_inicial                     = "Contraseña";
            this.txtPass.txtBusqueda.UseSystemPasswordChar = true;

            var(dtUsuarios, rpta) =
                await NUsuarios.BuscarUsuarios("TIPO USUARIO", "CARTERAS");

            if (dtUsuarios != null)
            {
                this.DtUsuarios = dtUsuarios;
                this.ListaEmpleados.DataSource    = dtUsuarios;
                this.ListaEmpleados.ValueMember   = "Id_usuario";
                this.ListaEmpleados.DisplayMember = "Nombre_completo";
                this.ListaEmpleados.SelectedValue = 0;
            }
            else
            {
                Mensajes.MensajeErrorCompleto(this.Name, "FrmIniciarSesion_Load",
                                              "Hubo un error al conectarse con el servidor",
                                              "Hubo un error al conectarse con el servidor, por favor intentelo de nuevo o envíe un ticket " +
                                              "al administrador del sistema, detalles: " + rpta);
            }
        }
示例#4
0
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            NUsuarios BUsu = new NUsuarios();

            dataGridView.DataSource = BUsu.BuscarUsuarios(txtCedula.Text);
            btnVolver.Show();
        }
示例#5
0
        private void BtnEntrar_Click(object sender, EventArgs e)
        {
            NUsuarios nUsuarios = new NUsuarios();

            if (txtUsuario.Text != "" && txtClave.Text != "")
            {
                var cuenta = nUsuarios.Login(txtUsuario.Text, txtClave.Text);
                if (cuenta == null)
                {
                    // Acceso invalido
                    Mensajes.MensajeSimple("Error en acceso", "Sus datos son inválidos", MessageBoxIcon.Error);
                }
                else
                {
                    // Acceso correcto
                    NPermisos.NombreUsuario   = cuenta.NombreUsuario;
                    NPermisos.TipoUsuario     = cuenta.Tipo;
                    NPermisos.IdUsuario       = cuenta.IdPersona;
                    NPermisos.IdPersona       = cuenta.IdPersona;
                    NPermisos.NombrePersona   = cuenta.Nombre;
                    NPermisos.ApellidoPersona = cuenta.Apellido;
                    FrmInicial frmInicial = new FrmInicial();
                    frmInicial.Show();
                    this.Hide();
                }
            }
        }
示例#6
0
        private void Frm_SeleccionEmpresa_Load(object sender, EventArgs e)
        {
            BS_Empresas.DataSource    = NEmpresas.Listar();
            BS_Emp_Accesos.DataSource = NEmp_Accesos.Listar();
            BS_Grupos.DataSource      = NGrupos.Listar();
            BS_Usuarios.DataSource    = NUsuarios.Listar();

            this.Txt_Usuario.Text          = Environment.UserName;
            this.Cmb_Empresa.SelectedIndex = 0;
            this.Cmb_Empresa.Focus();
        }
示例#7
0
        private void TSB_Eliminar_Click(object sender, EventArgs e)
        {
            string       vl_RegEliminar = r_Usuarios.Nombre.ToString();
            DialogResult vl_Resp        = MessageBox.Show(MOFIN_LIB.Funciones._Mens_Idioma(9010) + "\n\n" + vl_RegEliminar,
                                                          MOFIN_LIB.Funciones._Mens_Idioma(201), MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (vl_Resp == DialogResult.Yes)
            {
                NUsuarios.Elimiar(r_Usuarios);
                BS_Usuarios.DataSource = NUsuarios.Listar();
                Grd_Usuarios.Refresh();
                MessageBox.Show(Funciones._Mens_Idioma(9011), Funciones._Mens_Idioma(201), MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
示例#8
0
        private void Frm_Usuarios_Load(object sender, EventArgs e)
        {
            BS_Usuarios.DataSource       = NUsuarios.Listar();
            BS_Grupo_Opciones.DataSource = NGrupo_Opciones.ListarPorCodigo(MOFIN_LIB.Entorno.vs_Grupo);
            r_GrupoOpciones = BS_Grupo_Opciones.Current as Grupo_Opciones;
            r_EmpAccesos    = BS_Emp_Accesos.Current as Emp_Accesos;

            this.Modo_Consulta();
            this.Grd_Usuarios.Focus();
            BS_Empresas.DataSource   = NEmpresas.Listar();
            BS_Grupos.DataSource     = NGrupos.Listar();
            BS_OpcSistema.DataSource = NOpc_Sistema.Listar();
            r_OpcSistema             = BS_OpcSistema.Current as Opc_Sistema;
        }
示例#9
0
 private bool ExisteUsuario(string usuario, string pasword)
 {
     try
     {
         NUsuarios objNUsuarios  = new NUsuarios();
         bool      existeUsuario = objNUsuarios.ExisteUsuario(usuario, pasword);
         return(existeUsuario);
     }
     catch (Exception)
     {
         XtraMessageBox.Show("Error al validar el usuario", "Error", MessageBoxButtons.OK);
         return(false);
     }
 }
        private async void BtnRemove_Click(object sender, EventArgs e)
        {
            Mensajes.MensajePregunta("¿Confirma la inactivación/eliminación del cliente?", "Confirmar", "Cancelar", out DialogResult dialog);
            if (dialog == DialogResult.Yes)
            {
                try
                {
                    string rpta = string.Empty;
                    if (this.Agendamiento != null)
                    {
                        rpta = await NUsuarios.InactivarUsuario(this.Agendamiento.Venta.Id_cliente);

                        if (rpta.Equals("OK"))
                        {
                            Mensajes.MensajeInformacion("Se inactivó correctamente el cliente", "Entendido");
                            this.OnRefresh?.Invoke(sender, e);
                        }
                        else
                        {
                            throw new Exception(rpta);
                        }

                        return;
                    }

                    if (this.Venta != null)
                    {
                        rpta = await NUsuarios.InactivarUsuario(this.Venta.Id_cliente);

                        if (rpta.Equals("OK"))
                        {
                            Mensajes.MensajeInformacion("Se inactivó correctamente el cliente", "Entendido");
                            this.OnRefresh?.Invoke(sender, e);
                        }
                        else
                        {
                            throw new Exception(rpta);
                        }

                        return;
                    }
                }
                catch (Exception ex)
                {
                    Mensajes.MensajeErrorCompleto(this.Name, "BtnRemove_Click",
                                                  "Hubo un error al remover el cliente", ex.Message);
                }
            }
        }
示例#11
0
        //btnEliminar - Evento Click - Elimina el usuario selecionado en el dgvUsuarios.
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            //Verificacion de fila seleccionada.
            if (this.dgvUsuarios.Rows.Count > 0)
            {
                //Mensaje de confirmación.
                DialogResult MensajeConfirmacion = MessageBox.Show(String.Format("¿Seguro deseas eliminar el usuario {0}?",
                                                                                 Convert.ToString(ObtenerFila().Cells["USUARIO"].Value)), String.Format(Configuracion.Titulo, "Eliminar Usuario"),
                                                                   MessageBoxButtons.YesNo, MessageBoxIcon.Information);

                if (MensajeConfirmacion == DialogResult.Yes)
                {
                    //Utiliza al "FrmConfirmacionContraseña" para validar el password actual(Confirmación).
                    FrmConfirmacionContraseña Confirmacion = new FrmConfirmacionContraseña(this);
                    Confirmacion.ShowDialog();
                    Confirmacion.Dispose();

                    String Respuesta = NUsuarios.Eliminar(Convert.ToInt32(ObtenerFila().Cells["CÓDIGO"].Value), this.Confirmacion);
                    if (Respuesta == "OK")
                    {
                        //Establece mensaje de eliminación el el "lblMensajes".
                        Mensaje(String.Format("El usuario {0} ha sido ELIMINADO",
                                              Convert.ToString(ObtenerFila().Cells["USUARIO"].Value)));

                        //Muestra mensaje de eliminación al usuario mediante un MessageBox
                        MessageBox.Show(String.Format("El usuario {0} ha sido ELIMINADO",
                                                      Convert.ToString(ObtenerFila().Cells["USUARIO"].Value)),
                                        String.Format(Configuracion.Titulo, "Usuario Eliminado"),
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                        Refrescar();
                    }
                    else
                    {
                        //Si ocurre un error muestra mensaje al usuario con la respuesta recibida.
                        MessageBox.Show(Respuesta, String.Format(Configuracion.Titulo, "Error"),
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                        Refrescar();
                    }
                }
            }
            else
            {
                MessageBox.Show("Debes seleccionar una fila para eliminar.", String.Format(Configuracion.Titulo, "Error"),
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
示例#12
0
 private void BtEliminar_Click(object sender, EventArgs e)
 {
     if (!String.IsNullOrEmpty(txtCodigo.Text))
     {
         if (NUsuarios.EliminarUsuario(Convert.ToInt32(txtCodigo.Text)))
         {
             MessageBox.Show("Usuario Eliminado Correctamente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
             limpiar();
         }
         else
         {
             MessageBox.Show("El Usuario No Pudo Ser Eliminado", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         MessageBox.Show("Debe Buscar el Usuario a Eliminar", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
示例#13
0
        private void BtLupa_Click(object sender, EventArgs e)
        {
            if (!(TxtBuscar.Text == ""))
            {
                Dictionary <String, String> UsuarioEncontrado = new Dictionary <String, String>();
                UsuarioEncontrado = NUsuarios.BuscarUsuario(TxtBuscar.Text);

                if (UsuarioEncontrado.Any())
                {
                    txtCodigo.Text   = UsuarioEncontrado["Id"].ToString();
                    TxtNombre.Text   = UsuarioEncontrado["Nombre"].ToString();
                    TxtPassword.Text = UsuarioEncontrado["Password"].ToString();
                    CBPerfil.Text    = UsuarioEncontrado["Perfil"].ToString();
                }
                else
                {
                    MessageBox.Show("Usuario No Encontrado", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
示例#14
0
 private void btnEntrar_Click(object sender, EventArgs e)
 {
     if (CBPerfil.Text != "Seleccionar" && txtUsuario.Text != "" && txtPassword.Text != "")
     {
         if (NUsuarios.Autentificar(txtUsuario.Text, txtPassword.Text, CBPerfil.Text))
         {
             this.Close();
         }
         else
         {
             txtPassword.Focus();
             txtPassword.Clear();
             MessageBox.Show("Acceso denegado", "Error", MessageBoxButtons.OK);
         }
     }
     else
     {
         MessageBox.Show("Debe completar todos los campos", "Mensaje", MessageBoxButtons.OK);
     }
 }
示例#15
0
 //txtBuscar - Evento TextChanged - Muestra los datos que coincidan con la búsqueda en el "dvgUsuarios".
 private void txtBuscar_TextChanged(object sender, EventArgs e)
 {
     if (this.txtBuscar.Text == String.Empty || this.cbxTipoBusqueda.Text == "")
     {
         Configuracion.NumeroPagina = 1;
         this.Mostrar();
         this.panelPaginacion.Show();
     }
     else
     {
         try
         {
             this.dgvUsuarios.DataSource = NUsuarios.Buscar(this.txtBuscar.Text, this.cbxTipoBusqueda.Text);
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, String.Format(Configuracion.Titulo, "Error"),
                             MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
         this.panelPaginacion.Hide();
     }
 }
        private async Task LoadClientes(string tipo_busqueda, string texto_busqueda1, string texto_busqueda2)
        {
            try
            {
                MensajeEspera.ShowWait("Cargando...");
                var(dtClientes, rpta) = await NUsuarios.BuscarClientes(tipo_busqueda, texto_busqueda1, texto_busqueda2);

                this.panelClientes.clearDataSource();
                this.positionChanged = 1;

                if (dtClientes != null)
                {
                    List <UserControl> userControls = new List <UserControl>();

                    foreach (DataRow row in dtClientes.Rows)
                    {
                        Ventas       venta        = new Ventas(row);
                        ClienteSmall clienteSmall = new ClienteSmall
                        {
                            Venta = venta,
                        };
                        clienteSmall.OnRefresh += ClienteSmall_OnRefresh;
                        userControls.Add(clienteSmall);
                    }

                    this.panelClientes.PageSize             = 20;
                    this.panelClientes.OnBsPositionChanged += PaneClientes_OnBsPositionChanged;
                    this.panelClientes.SetPagedDataSource(userControls, this.bindingNavigator2);
                }
                MensajeEspera.CloseForm();
            }
            catch (Exception ex)
            {
                MensajeEspera.CloseForm();
                Mensajes.MensajeErrorCompleto(this.Name, "LoadClientes",
                                              "Hubo un error al cargar los clientes", ex.Message);
            }
        }
示例#17
0
        private void Btn_Aceptar_Click(object sender, EventArgs e)
        {
            byte vl_Uno = 1;
            byte vl_Dos = 2;

            r_Usuarios.Cnfg_Desktop   = Opc_Desktop2.Checked == true ? vl_Dos : vl_Uno;
            r_Usuarios.Cnfg_Idioma    = Opc_Idioma2.Checked == true ? vl_Dos : vl_Uno;
            r_Usuarios.Cnfg_PaisUso   = Opc_Pais2.Checked == true ? vl_Dos : vl_Uno;
            r_Usuarios.Cnfg_FormFecha = Opc_FormFec2.Checked == true ? vl_Dos : vl_Uno;

            if (vl_EsNuevo)
            {
                NUsuarios.Insertar(r_Usuarios);
            }
            else
            {
                NUsuarios.Actualizar(r_Usuarios);
            }
            //                NEmp_Accesos.Actualizar(BS_Emp_Accesos.Current as Emp_Accesos);
            this.Modo_Consulta();
            BS_Usuarios.DataSource = NUsuarios.Listar();

            MessageBox.Show(Funciones._Mens_Idioma(9019), Funciones._Mens_Idioma(201), MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
示例#18
0
        private void MostarUsuarios()
        {
            NUsuarios Usu = new NUsuarios();

            dataGridView.DataSource = Usu.MostarUsuarios();
        }
示例#19
0
        //btnEntrar - Evento Click - Valida el inicio de sesión.
        private void btnEntrar_Click(object sender, EventArgs e)
        {
            //Revisión de datos obligatorios.
            if (string.IsNullOrWhiteSpace(txtUsuario.Text))
            {
                MessageBox.Show("Debe ingresar un usuario.", String.Format(Configuracion.Titulo, "Dato Inválido"),
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.errorProvider.SetError(txtUsuario, "Ingrese un usuario");
            }
            else if (string.IsNullOrWhiteSpace(txtPassword.Text))
            {
                MessageBox.Show("Debe ingresar la contraseña.", String.Format(Configuracion.Titulo, "Dato Inválido"),
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.errorProvider.SetError(txtUsuario, "Ingrese la contraseña");
            }
            else
            {
                //Devuelve tipo de acceso o error.
                Cargo = NUsuarios.Login(txtUsuario.Text, txtPassword.Text);

                if (Cargo == "Administrador")
                {
                    int.TryParse(NUsuarios.UsuarioActivo(txtUsuario.Text), out IdUsuario);
                    if (IdUsuario == 0)
                    {
                        MessageBox.Show(NUsuarios.UsuarioActivo(txtUsuario.Text), String.Format(Configuracion.Titulo, "Error"),
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                        txtUsuario.Text  = string.Empty;
                        txtPassword.Text = string.Empty;
                        txtUsuario.Focus();
                    }
                    else
                    {
                        IdUsuario = Convert.ToInt32(NUsuarios.UsuarioActivo(txtUsuario.Text));
                        FrmInicio FormInicio = new FrmInicio(IdUsuario, "Administrador");
                        this.Hide();
                        FormInicio.Show();
                    }
                }
                else if (Cargo == "Almacén")
                {
                    int.TryParse(NUsuarios.UsuarioActivo(txtUsuario.Text), out IdUsuario);
                    if (IdUsuario == 0)
                    {
                        MessageBox.Show(NUsuarios.UsuarioActivo(txtUsuario.Text), String.Format(Configuracion.Titulo, "Error"),
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                        txtUsuario.Text  = string.Empty;
                        txtPassword.Text = string.Empty;
                        txtUsuario.Focus();
                    }
                    else
                    {
                        IdUsuario = Convert.ToInt32(NUsuarios.UsuarioActivo(txtUsuario.Text));
                        FrmInicio FormInicio = new FrmInicio(IdUsuario, "Almacén");
                        this.Hide();
                        FormInicio.Show();
                    }
                }
                else if (Cargo == "Vendedor")
                {
                    int.TryParse(NUsuarios.UsuarioActivo(txtUsuario.Text), out IdUsuario);
                    if (IdUsuario == 0)
                    {
                        MessageBox.Show(NUsuarios.UsuarioActivo(txtUsuario.Text), String.Format(Configuracion.Titulo, "Error"),
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                        txtUsuario.Text  = string.Empty;
                        txtPassword.Text = string.Empty;
                        txtUsuario.Focus();
                    }
                    else
                    {
                        IdUsuario = Convert.ToInt32(NUsuarios.UsuarioActivo(txtUsuario.Text));
                        FrmInicio FormInicio = new FrmInicio(IdUsuario, "Vendedor");
                        this.Hide();
                        FormInicio.Show();
                    }
                }
                else
                {
                    MessageBox.Show(Cargo, String.Format(Configuracion.Titulo, "Error"),
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtUsuario.Text  = string.Empty;
                    txtPassword.Text = string.Empty;
                    txtUsuario.Focus();
                }
            }
        }
示例#20
0
 //Método Mostrar - Muestra los registros actuales en el "dgvUsuarios" y establece la cantidad de páginas.
 public void Mostrar()
 {
     this.dgvUsuarios.DataSource   = NUsuarios.Mostrar(Configuracion.RegistrosPorPagina, Configuracion.NumeroPagina);
     Configuracion.CantidadPaginas = NUsuarios.Tamaño(Configuracion.RegistrosPorPagina);
     this.lblPaginacion.Text       = String.Format("Página {0} de {1}.", Configuracion.NumeroPagina, Configuracion.CantidadPaginas);
 }
        private async void BtnSave_Click(object sender, EventArgs e)
        {
            try
            {
                var(result, usuario, direccion, venta, agendamiento) = await this.Comprobaciones();

                if (result)
                {
                    MensajeEspera.ShowWait("Guardando...");
                    List <string> errores = new List <string>();
                    string        rpta    = "";

                    if (this.IsEditar)
                    {
                        rpta = NUsuarios.EditarUsuario(usuario.Id_usuario, usuario);
                    }
                    else
                    {
                        rpta = NUsuarios.InsertarUsuario(out int id_usuario, usuario);
                        direccion.Id_usuario = id_usuario;
                        venta.Id_cliente     = id_usuario;
                        usuario.Id_usuario   = id_usuario;
                    }

                    if (rpta.Equals("OK"))
                    {
                        if (this.IsEditar)
                        {
                            rpta = NDireccion_clientes.EditarDireccion(direccion.Id_direccion, direccion);
                        }
                        else
                        {
                            rpta = NDireccion_clientes.InsertarDireccion(out int id_direccion, direccion);
                            venta.Id_direccion = id_direccion;
                        }

                        if (rpta.Equals("OK"))
                        {
                            if (this.IsEditar)
                            {
                                rpta = NVentas.EditarVenta(venta.Id_venta, venta);
                            }
                            else
                            {
                                rpta           = NVentas.InsertarVenta(out int id_venta, venta);
                                venta.Id_venta = id_venta;
                            }

                            if (rpta.Equals("OK"))
                            {
                                if (this.rdActual.Checked && !this.IsEditar && this.chkDescontar.Checked)
                                {
                                    foreach (Articulos art in this.ArticulosSelected)
                                    {
                                        Detalle_articulos_venta detalle = new Detalle_articulos_venta
                                        {
                                            Articulo          = art,
                                            Id_articulo       = art.Id_articulo,
                                            Venta             = venta,
                                            Id_venta          = venta.Id_venta,
                                            Cantidad_articulo = (int)art.Cantidad_articulo,
                                            Valor_articulo    = art.Valor_articulo,
                                            Estado_detalle    = "ACTIVO",
                                        };

                                        var(rptaDetalle, id_detalle) =
                                            await NDetalle_articulos_venta.InsertarDetalle(detalle);

                                        if (!rptaDetalle.Equals("OK"))
                                        {
                                            errores.Add(rptaDetalle);
                                        }
                                    }
                                }

                                MainController main = MainController.GetInstance();

                                if (!this.IsEditar)
                                {
                                    rpta = NUsuariosVentas.InsertarUsuarioVenta(new Usuarios_ventas
                                    {
                                        Id_usuario = main.Usuario.Id_usuario,
                                        Id_venta   = venta.Id_venta,
                                    });

                                    if (rpta.Equals("OK"))
                                    {
                                        agendamiento.Id_venta = venta.Id_venta;
                                        rpta = NAgendamiento_cobros.InsertarAgendamiento(out int id_agendamiento, agendamiento);
                                        if (rpta.Equals("OK"))
                                        {
                                            MensajeEspera.CloseForm();
                                            Mensajes.MensajeInformacion("Se guardó correctamente el cliente, " +
                                                                        "número cliente: " + usuario.Id_usuario + " Número venta: " + venta.Id_venta, "Entendido");
                                            this.Close();
                                        }
                                        else
                                        {
                                            throw new Exception(rpta);
                                        }
                                    }
                                    else
                                    {
                                        throw new Exception(rpta);
                                    }
                                }
                                else
                                {
                                    //Obtener el último agendamiento
                                    var(rptaAg, dt) =
                                        await NAgendamiento_cobros.BuscarAgendamientos("ID VENTA", venta.Id_venta.ToString());

                                    if (dt != null)
                                    {
                                        agendamiento             = new Agendamiento_cobros(dt.Rows[0]);
                                        agendamiento.Valor_cobro = venta.Valor_cuota;
                                        agendamiento.Fecha_cobro = this.dateUltimoPago.Value;
                                        rptaAg = await NAgendamiento_cobros.EditarAgendamiento(agendamiento.Id_agendamiento, agendamiento);

                                        if (rptaAg != "OK")
                                        {
                                            Mensajes.MensajeInformacion("Se actualizó el cliente pero no su último pago," +
                                                                        "número cliente: " + usuario.Id_usuario + " Número venta: " + venta.Id_venta, "Entendido");
                                            this.OnRefresh?.Invoke(sender, e);
                                            this.Close();
                                        }
                                        else
                                        {
                                            Mensajes.MensajeInformacion("Se actualizó correctamente el cliente, " +
                                                                        "número cliente: " + usuario.Id_usuario + " Número venta: " + venta.Id_venta, "Entendido");
                                            this.OnRefresh?.Invoke(sender, e);
                                            this.Close();
                                        }
                                    }
                                    else
                                    {
                                        Mensajes.MensajeInformacion("Se actualizó correctamente el cliente pero no se encontraron sus agendamientos, número asignado: " + usuario.Id_usuario, "Entendido");
                                        this.OnRefresh?.Invoke(sender, e);
                                        this.Close();
                                    }
                                }
                            }
                        }
                        else
                        {
                            throw new Exception(rpta);
                        }
                    }
                    else
                    {
                        throw new Exception(rpta);
                    }
                }
                MensajeEspera.CloseForm();
            }
            catch (Exception ex)
            {
                MensajeEspera.CloseForm();
                Mensajes.MensajeErrorCompleto(this.Name, "BtnSave_Click",
                                              "Hubo un error al guardar el cliente", ex.Message);
            }
        }
                             Agendamiento_cobros agendamiento)> Comprobaciones()
        {
            bool           result = true;
            MainController main   = MainController.GetInstance();

            Agendamiento_cobros agendamiento = new Agendamiento_cobros();
            Usuarios            usuario      = new Usuarios();
            Direccion_clientes  direccion    = new Direccion_clientes();
            Ventas venta = new Ventas();

            int id_cobro         = 0;
            int id_tipo_producto = 0;

            if (this.IsEditar)
            {
                id_tipo_producto = this.Venta.Id_tipo_producto;
                id_cobro         = this.Venta.Id_cobro;
                usuario          = this.Venta.Cliente;
                direccion        = this.Venta.Direccion;
                venta            = this.Venta;

                venta.Id_cobro = id_cobro;

                venta.Id_tipo_producto = id_tipo_producto;

                venta.Id_turno = main.Turno.Id_turno;

                this.Total_articulos = venta.Total_venta;
            }
            else
            {
                usuario   = new Usuarios();
                direccion = new Direccion_clientes();
                venta     = new Ventas();

                id_tipo_producto = 2;
                id_cobro         = main.Turno.Id_cobro;

                usuario.Fecha_ingreso  = DateTime.Now;
                usuario.Tipo_usuario   = "CLIENTE";
                usuario.Estado_usuario = "ACTIVO";
                usuario.Email          = string.Empty;

                direccion.Estado_direccion = "ACTIVO";

                venta.Fecha_venta      = DateTime.Now;
                venta.Id_cobro         = id_cobro;
                venta.Id_tipo_producto = id_tipo_producto;
                venta.Id_turno         = main.Turno.Id_turno;
                venta.Hora_venta       = DateTime.Now.TimeOfDay;
                venta.Valor_venta      = this.Total_articulos;
                venta.Total_venta      = this.Total_articulos;
                venta.Fecha_venta      = this.dateFechaVenta.Value;
                venta.Tipo_venta       = "NUEVA";
                venta.Interes_venta    = 0;
                venta.Estado_venta     = "ACTIVO";

                agendamiento.Orden_cobro = 0;
            }

            if (string.IsNullOrEmpty(this.txtNombres.Text))
            {
                Mensajes.MensajeInformacion("Verifique el nombre del cliente", "Entendido");
                result = false;
            }

            if (string.IsNullOrEmpty(this.txtDireccionResidencia.Text))
            {
                Mensajes.MensajeInformacion("Verifique la dirección del cliente", "Entendido");
                result = false;
            }

            if (string.IsNullOrEmpty(this.txtTelCliente.Text))
            {
                Mensajes.MensajeInformacion("Verifique el teléfono del cliente", "Entendido");
                result = false;
            }

            if (string.IsNullOrEmpty(this.listaFrecuencia.Text))
            {
                Mensajes.MensajeInformacion("Verifique la frecuencia de cobro", "Entendido");
                result = false;
            }

            if (this.numericPlazo.Value == 0)
            {
                Mensajes.MensajeInformacion("Verifique el plazo de cobro", "Entendido");
                result = false;
            }

            if (!int.TryParse(this.listaBarrios.SelectedValue.ToString(), out int id_barrio))
            {
                Mensajes.MensajeInformacion("Verifique el barrio seleccionado", "Entendido");
                result = false;
            }

            venta.Fecha_venta = this.dateFechaVenta.Value;

            var(dt, rpta) =
                await NUsuarios.BuscarClientes("IDENTIFICACION", this.txtIdentificacion.Text, "");

            if (dt != null)
            {
                usuario = new Usuarios(dt.Rows[0]);
                Mensajes.MensajeInformacion("El cliente ya existe, se realizará una venta nueva", "Entendido");
            }
            else
            {
                usuario.Alias          = this.txtNombres.Text;
                usuario.Nombres        = this.txtNombres.Text;
                usuario.Apellidos      = this.txtApellidos.Text;
                usuario.Identificacion = this.txtIdentificacion.Text;

                if (string.IsNullOrEmpty(this.txtTelResidencia.Text))
                {
                    usuario.Celular = this.txtTelCliente.Text;
                }
                else
                {
                    usuario.Celular = this.txtTelCliente.Text + " - " + this.txtTelResidencia.Text;
                }
            }

            direccion.Id_zona   = id_barrio;
            direccion.Direccion = this.txtDireccionResidencia.Text;

            venta.Numero_cuotas    = Convert.ToInt32(numericPlazo.Value);
            venta.Frecuencia_cobro = this.listaFrecuencia.Text;
            venta.Valor_cuota      = (this.Total_articulos / Convert.ToInt32(numericPlazo.Value));

            if (!this.IsEditar)
            {
                if (!decimal.TryParse(Convert.ToString(this.txtValorAbono.Tag), out decimal valor_abono))
                {
                    Mensajes.MensajeInformacion("Verifique el valor del abono", "Entendido");
                    result = false;
                }

                agendamiento.Id_turno = main.Turno.Id_turno;

                if (this.rdActual.Checked)
                {
                    agendamiento.Fecha_cobro = dateUltimoPago.Value;
                }
                else
                {
                    agendamiento.Fecha_cobro = dateUltimoPago.Value;
                }

                agendamiento.Hora_cobro          = DateTime.Now.TimeOfDay;
                agendamiento.Valor_cobro         = venta.Valor_cuota;
                agendamiento.Valor_pagado        = valor_abono;
                agendamiento.Saldo_restante      = this.Total_saldo;
                agendamiento.Tipo_cobro          = this.listaFrecuencia.Text;
                agendamiento.Observaciones_cobro = "";
                agendamiento.Estado_cobro        = "TERMINADO";
            }

            return(result, usuario, direccion, venta, agendamiento);
        }
示例#23
0
        //btnAgregarActualizar - Evento Click - Ingresa el nuevo usuario en la base de datos o modifica la información existente.
        private void btnAgregarActualizar_Click(object sender, EventArgs e)
        {
            string Respuesta;

            if (this.lblTitulo.Text == "Nuevo Usuario")
            {
                //Revisión de datos obligatorios
                if (String.IsNullOrWhiteSpace(this.txtNombre.Text))
                {
                    MessageBox.Show("Debe ingresar un nombre para el trabajador.",
                                    String.Format(Configuracion.Titulo, "Dato Inválido"), MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.errorProvider.SetError(this.txtNombre, "Ingrese un nombre.");
                }
                else if (String.IsNullOrWhiteSpace(this.txtApellidos.Text))
                {
                    MessageBox.Show("Debe ingresar al menos un apellido.", String.Format(Configuracion.Titulo, "Dato Inválido"),
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.errorProvider.SetError(this.txtApellidos, "Ingrese un apellido.");
                }
                else if (String.IsNullOrWhiteSpace(this.cbxTipoDocumento.Text))
                {
                    MessageBox.Show("Debe ingresar un tipo de documento.", String.Format(Configuracion.Titulo, "Dato Inválido"),
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.errorProvider.SetError(this.cbxTipoDocumento, "Ingrese un tipo de documento.");
                }
                else if (String.IsNullOrWhiteSpace(this.cbxClaseDocumento.Text))
                {
                    MessageBox.Show("Debe ingresar una clase de documento.", String.Format(Configuracion.Titulo, "Dato Inválido"),
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.errorProvider.SetError(this.cbxClaseDocumento, "Ingrese una clase de documento.");
                }
                else if (String.IsNullOrWhiteSpace(this.txtNumDocumento.Text))
                {
                    MessageBox.Show("Debe ingresar un número de documento.", String.Format(Configuracion.Titulo, "Dato Inválido"),
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.errorProvider.SetError(this.txtNumDocumento, "Ingrese un número de documento.");
                }
                else if (String.IsNullOrWhiteSpace(this.txtUsuario.Text))
                {
                    MessageBox.Show("Debe ingresar un nombre usuario.", String.Format(Configuracion.Titulo, "Dato Inválido"),
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.errorProvider.SetError(this.txtUsuario, "Ingrese un usuario.");
                }
                else if (String.IsNullOrWhiteSpace(this.txtPassword.Text))
                {
                    MessageBox.Show("Debe ingresar una contraseña.", String.Format(Configuracion.Titulo, "Dato Inválido"),
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.errorProvider.SetError(this.txtPassword, "Ingrese una contraseña.");
                }
                else
                {
                    //Solicita la confirmación de la contraseña.
                    FrmConfirmacionContraseña FormConfirmacion = new FrmConfirmacionContraseña(this, "Nuevo");
                    FormConfirmacion.ShowDialog();
                    FormConfirmacion.Dispose();

                    if (this.Confirmacion == this.txtPassword.Text)
                    {
                        string Telefono = "0";
                        if (this.txtTelefono.Text != "")
                        {
                            Telefono = this.txtTelefono.Text;
                        }
                        Respuesta = NUsuarios.Insertar(txtNombre.Text, txtApellidos.Text, cbxTipoDocumento.Text + ": " +
                                                       cbxClaseDocumento.Text + "-" + txtNumDocumento.Text, txtDireccion.Text,
                                                       Convert.ToDouble(Telefono.Replace(") ", "").Replace("(", "").Replace("-", "")),
                                                       cbxCargo.Text, txtCorreo.Text, txtUsuario.Text, txtPassword.Text, ctrlUsuarios.IdUsuarioActivo);

                        if (Respuesta == "OK")
                        {
                            //Muestra confirmación al usuario via MessageBox.
                            MessageBox.Show("El usuario fue ingresado en el sistema satisfactoriamente.",
                                            String.Format(Configuracion.Titulo, "Registro Exitoso"), MessageBoxButtons.OK,
                                            MessageBoxIcon.Information);
                            ctrlUsuarios.Mostrar();
                            ctrlUsuarios.Mensaje(String.Format("El usuario {0} ha sido AGREGADO satisfactoriamente. ",
                                                               txtUsuario.Text));
                            this.Close();
                        }
                        else
                        {
                            //Muestra Respuesta error al usuario mediante MessageBox.
                            MessageBox.Show(Respuesta, String.Format(Configuracion.Titulo, "Error"), MessageBoxButtons.OK,
                                            MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        //Muestra mensaje de error al usuario mediante MessageBox.
                        MessageBox.Show("La contraseña ingresada y su confirmación no coinciden.",
                                        String.Format(Configuracion.Titulo, "Error"), MessageBoxButtons.OK,
                                        MessageBoxIcon.Error);
                    }
                }
            }
            else if (this.lblTitulo.Text == "Editar Usuario")
            {
                //Revisión de datos obligatorios.
                if (String.IsNullOrWhiteSpace(this.txtNombre.Text))
                {
                    MessageBox.Show("Debe ingresar un nombre para el trabajador.", String.Format(Configuracion.Titulo, "Dato Inválido"),
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.errorProvider.SetError(this.txtNombre, "Ingrese un nombre.");
                }
                else if (String.IsNullOrWhiteSpace(this.txtApellidos.Text))
                {
                    MessageBox.Show("Debe ingresar al menos un apellido.", String.Format(Configuracion.Titulo, "Dato Inválido"),
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.errorProvider.SetError(this.txtApellidos, "Ingrese un apellido.");
                }
                else if (String.IsNullOrWhiteSpace(this.txtNumDocumento.Text))
                {
                    MessageBox.Show("Debe ingresar un número de documento.", String.Format(Configuracion.Titulo, "Dato Inválido"),
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.errorProvider.SetError(this.txtNumDocumento, "Ingrese un número de documento.");
                }
                else if (String.IsNullOrWhiteSpace(this.txtUsuario.Text))
                {
                    MessageBox.Show("Debe ingresar un nombre usuario.", String.Format(Configuracion.Titulo, "Dato Inválido"),
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.errorProvider.SetError(this.txtUsuario, "Ingrese un usuario.");
                }
                else
                {
                    if (!String.IsNullOrWhiteSpace(this.txtPassword.Text))
                    {
                        //Solicita la confirmación de la nueva contraseña mediante el "FrmConfirmacionContraseña".
                        FrmConfirmacionContraseña Confirmacion = new FrmConfirmacionContraseña(this, "Cambio Contraseña");
                        Confirmacion.TopMost = true;
                        Confirmacion.ShowDialog();
                        Confirmacion.Dispose();

                        if (this.txtPassword.Text == this.Confirmacion)
                        {
                            //Solicita la confirmación de contraseña actual mediante el "FrmConfirmacionContraseña".
                            FrmConfirmacionContraseña Confirmacion2 = new FrmConfirmacionContraseña(this, "Cambio Datos");
                            Confirmacion.TopMost = true;
                            Confirmacion2.ShowDialog();
                            Confirmacion2.Dispose();

                            Respuesta = NUsuarios.Editar(this.IdUsuario, this.txtNombre.Text, this.txtApellidos.Text,
                                                         this.cbxTipoDocumento.Text + ": " + this.cbxClaseDocumento.Text + "-" + this.txtNumDocumento.Text,
                                                         this.txtDireccion.Text,
                                                         Convert.ToDouble(this.txtTelefono.Text.Replace(") ", "").Replace("(", "").Replace("-", "")),
                                                         this.cbxCargo.Text, this.txtCorreo.Text, this.txtUsuario.Text, this.txtPassword.Text,
                                                         this.Confirmacion, ctrlUsuarios.IdUsuarioActivo);

                            if (Respuesta == "OK")
                            {
                                //Muestra confirmación al usuario via MessageBox.
                                MessageBox.Show(String.Format("Los datos del usuario {0} fueron modificados satisfactoriamente.",
                                                              txtUsuario.Text), String.Format(Configuracion.Titulo, "Actualización de Datos Exitosa"),
                                                MessageBoxButtons.OK, MessageBoxIcon.Information);
                                ctrlUsuarios.Mostrar();
                                ctrlUsuarios.Mensaje(String.Format("Los Datos del Usuario {0} fueron modificados satisfactoriamente.",
                                                                   txtUsuario.Text));
                                this.Dispose();
                            }
                            else
                            {
                                //Muestra Respuesta error al usuario mediante MessageBox.
                                MessageBox.Show(Respuesta, String.Format(Configuracion.Titulo, "Error"),
                                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        else
                        {
                            //Muestra Respuesta error al usuario mediante MessageBox.
                            MessageBox.Show("La nueva contraseña y su confirmación no coinciden",
                                            String.Format(Configuracion.Titulo, "Datos Inválidos"), MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        //Solicita la confirmación de contraseña actual mediante el "FrmConfirmacionContraseña"
                        FrmConfirmacionContraseña Confirmacion = new FrmConfirmacionContraseña(this, "Cambio Datos");
                        Confirmacion.TopMost = true;
                        Confirmacion.ShowDialog();
                        Confirmacion.Dispose();

                        Respuesta = NUsuarios.Editar(this.IdUsuario, this.txtNombre.Text, this.txtApellidos.Text,
                                                     this.cbxTipoDocumento.Text + ": " + this.cbxClaseDocumento.Text + "-" + this.txtNumDocumento.Text,
                                                     this.txtDireccion.Text,
                                                     Convert.ToDouble(this.txtTelefono.Text.Replace(") ", "").Replace("(", "").Replace("-", "")),
                                                     this.cbxCargo.Text, this.txtCorreo.Text, this.txtUsuario.Text, this.Confirmacion,
                                                     this.Confirmacion, ctrlUsuarios.IdUsuarioActivo);
                        if (Respuesta == "OK")
                        {
                            //Muestra confirmación al usuario via MessageBox.
                            MessageBox.Show(String.Format("Los datos del usuario {0} fueron modificados satisfactoriamente.",
                                                          txtUsuario.Text), String.Format(Configuracion.Titulo, "Actualización de Datos Exitosa"),
                                            MessageBoxButtons.OK, MessageBoxIcon.Information);
                            ctrlUsuarios.Mostrar();
                            ctrlUsuarios.Mensaje(String.Format("Los Datos del Usuario {0} fueron modificados satisfactoriamente.",
                                                               txtUsuario.Text));
                            this.Dispose();
                        }
                        else
                        {
                            //Muestra Respuesta error al usuario mediante MessageBox.
                            MessageBox.Show(Respuesta, String.Format(Configuracion.Titulo, "Error"),
                                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
        }