private void CargarDGVClientes()
        {
            string InformacionDelError = string.Empty;

            ClsClientes    Clientes       = new ClsClientes();
            Cliente        ClienteActual  = null;
            List <Cliente> ListarClientes = new List <Cliente>();

            ClsClientesXPedidos   ClienteXPedidos             = new ClsClientesXPedidos();
            List <ClienteXPedido> CantidadAsistenciasVigentes = null;

            foreach (int Elemento in ListaDeClientes)
            {
                ClienteActual = Clientes.LeerPorNumero(Elemento, ClsClientes.EClienteBuscar.PorID, ref InformacionDelError);

                if (ClienteActual != null)
                {
                    ListarClientes.Add(ClienteActual);
                }

                ClienteActual = null;
            }

            if (ListarClientes != null)
            {
                foreach (Cliente Elemento in ListarClientes)
                {
                    int NumeroDeFila = dgvListarClientes.Rows.Add();

                    dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVClientes.ID_Cliente].Value = Elemento.ID_Cliente;
                    dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVClientes.Nombre].Value     = Elemento.Nombre;
                    dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVClientes.Apellido].Value   = Elemento.Apellido;
                    dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVClientes.Telefono].Value   = Elemento.Telefono;

                    CantidadAsistenciasVigentes = ClienteXPedidos.LeerListado(ClsClientesXPedidos.ETipoListado.CantidadAsistencias, ref InformacionDelError, Elemento.ID_Cliente);

                    if (CantidadAsistenciasVigentes != null)
                    {
                        dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVClientes.AsistenciasAcumuladas].Value = CantidadAsistenciasVigentes.Count;
                    }
                    else
                    {
                        dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVClientes.AsistenciasAcumuladas].Value = 0;
                    }
                }
            }
            else if (InformacionDelError == string.Empty)
            {
                MessageBox.Show("Fallo al listar los clientes", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Ejemplo n.º 2
0
        private void CargarClientesDelPedido()
        {
            string InformacionDelError = string.Empty;

            ClsClientesXPedidos   ClientesXPedidos    = new ClsClientesXPedidos();
            List <ClienteXPedido> SeleccionarClientes = ClientesXPedidos.LeerListado(ClsClientesXPedidos.ETipoListado.ClientesPedido, ref InformacionDelError, 0, ID_Pedido);

            if (SeleccionarClientes != null)
            {
                foreach (ClienteXPedido Elemento in SeleccionarClientes)
                {
                    ClientesDelPedido.Add(Elemento.ID_Cliente);
                }
            }
        }
Ejemplo n.º 3
0
        private void BtnUsarAsistencias_Click(object sender, EventArgs e)
        {
            using (FrmAsistenciasAConssumir CantidadDeAsistenciasAConsumir = new FrmAsistenciasAConssumir())
            {
                CargarDGVClientes(ClsClientes.EClienteBuscar.Todos);
                int  TotalDeFilas             = dgvListarClientes.Rows.Count;
                bool SeSeleccionoAlgunCliente = false;

                // IndiceArray me mantiene el indice real de asignacion
                for (int Indice = 0; Indice < TotalDeFilas; Indice++)
                {
                    //Pregunto si la celda es diferente a null
                    if (dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.Seleccionar].Value != null)
                    {
                        //Casteo el check del objeto a booleano y pregunto si es true
                        if ((bool)dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.Seleccionar].Value)
                        {
                            SeSeleccionoAlgunCliente = true;
                        }
                    }
                }

                if (SeSeleccionoAlgunCliente)
                {
                    CantidadDeAsistenciasAConsumir.AsignarFormCliente(this);
                    CantidadDeAsistenciasAConsumir.ShowDialog();

                    if (CantidadDeAsistenciasAConsumir.DialogResult == DialogResult.OK)
                    {
                        bool       SuperoLaCantidad     = false;
                        List <int> ID_ClientesAConsumir = new List <int>();

                        // IndiceArray me mantiene el indice real de asignacion
                        for (int Indice = 0; Indice < TotalDeFilas; Indice++)
                        {
                            //Pregunto si la celda es diferente a null
                            if (dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.Seleccionar].Value != null)
                            {
                                //Casteo el check del objeto a booleano y pregunto si es true
                                if ((bool)dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.Seleccionar].Value)
                                {
                                    if ((int)dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.AsistenciasAcumuladas].Value < AsistenciasAConsumir)
                                    {
                                        SuperoLaCantidad = true;

                                        using (FrmInformacion FormInformacion = new FrmInformacion($"El cliente {Convert.ToString(dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.Nombre].Value)} {Convert.ToString(dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.Apellido].Value)} " +
                                                                                                   $"con {Convert.ToString(dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.AsistenciasAcumuladas].Value)} asistencias, no alcanza la " +
                                                                                                   $"cantidad indicada ({Convert.ToString(AsistenciasAConsumir)} asistencia/s).", ClsColores.Blanco, 200, 300))
                                        {
                                            FormInformacion.ShowDialog();
                                        }
                                    }
                                    else
                                    {
                                        ID_ClientesAConsumir.Add((int)dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.ID_Cliente].Value);
                                    }
                                }
                            }
                        }

                        if (!SuperoLaCantidad && ID_ClientesAConsumir.Count > 0)
                        {
                            string InformacionDelError = string.Empty;

                            ClsClientesXPedidos   ClienteXPedido            = new ClsClientesXPedidos();
                            List <ClienteXPedido> ListaDeAsisteciasVigentes = null;

                            foreach (int Elemento in ID_ClientesAConsumir)
                            {
                                ListaDeAsisteciasVigentes = ClienteXPedido.LeerListado(ClsClientesXPedidos.ETipoListado.CantidadAsistencias, ref InformacionDelError, Elemento);

                                if (ListaDeAsisteciasVigentes != null)
                                {
                                    int ContadorCantidadConsumida = 0;

                                    foreach (ClienteXPedido ElementoSecundario in ListaDeAsisteciasVigentes)
                                    {
                                        if (ContadorCantidadConsumida == AsistenciasAConsumir)
                                        {
                                            break;
                                        }

                                        ElementoSecundario.ID_EstadoClienteXPedido = (int)ClsEstadosClientesXPedidos.EEstadosClientesXPedidos.Usado;

                                        if (ClienteXPedido.Actualizar(ElementoSecundario, ref InformacionDelError) > 0)
                                        {
                                        }
                                        else if (InformacionDelError == string.Empty)
                                        {
                                            MessageBox.Show("Fallo al actualizar un cliente para consumir la/s asistencia/s", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                        }
                                        else
                                        {
                                            MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                        }

                                        ContadorCantidadConsumida++;
                                    }
                                }
                                else if (InformacionDelError == string.Empty)
                                {
                                    FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al listar un cliente para consumir la/s asistencia/s");
                                    MessageBox.Show("Fallo al listar un cliente para consumir la/s asistencia/s", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                }
                                else
                                {
                                    FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al listar un cliente para consumir la/s asistencia/s");
                                    MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                }
                            }

                            DesmarcarClientes();

                            using (FrmListadoAsistenciasConsumidas FormListadoAsistenciasConsumidas = new FrmListadoAsistenciasConsumidas(ID_ClientesAConsumir))
                            {
                                FormListadoAsistenciasConsumidas.ShowDialog();

                                CargarDGVClientes(ClsClientes.EClienteBuscar.Todos);
                            }
                        }

                        AsistenciasAConsumir = 0;
                    }
                }
                else
                {
                    using (FrmInformacion FormInformacion = new FrmInformacion($"Debe seleccionar al menos un cliente.", ClsColores.Blanco, 200, 300))
                    {
                        FormInformacion.ShowDialog();
                    }
                }
            }
        }
Ejemplo n.º 4
0
        private void CargarDGVClientes(ClsClientes.EClienteBuscar _TipoDeListado)
        {
            if (FormularioCargado)
            {
                string NombreCliente   = string.Empty;
                string ApellidoCliente = string.Empty;
                string TelefonoCliente = string.Empty;

                if (txtBuscarPorNombre.Text != TEXTO_VISUAL_BUSCAR)
                {
                    NombreCliente = txtBuscarPorNombre.Text;
                }
                if (TxtBuscarPorApellido.Text != TEXTO_VISUAL_APELLIDO)
                {
                    ApellidoCliente = TxtBuscarPorApellido.Text;
                }
                if (TxtBuscarPorTelefono.Text != TEXTO_VISUAL_TELEFONO)
                {
                    TelefonoCliente = TxtBuscarPorTelefono.Text;
                }

                dgvListarClientes.Rows.Clear();

                string InformacionDelError = string.Empty;

                ClsClientes Clientes = new ClsClientes();

                List <Cliente> ListarClientes = Clientes.LeerListado(_TipoDeListado, ref InformacionDelError, NombreCliente, ApellidoCliente, TelefonoCliente);

                ClsClientesXPedidos   ClienteXPedidos             = new ClsClientesXPedidos();
                List <ClienteXPedido> CantidadAsistenciasVigentes = null;

                if (ListarClientes != null)
                {
                    foreach (Cliente Elemento in ListarClientes)
                    {
                        int NumeroDeFila = dgvListarClientes.Rows.Add();

                        dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVCliente.ID_Cliente].Value = Elemento.ID_Cliente;
                        dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVCliente.Nombre].Value     = Elemento.Nombre;
                        dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVCliente.Apellido].Value   = Elemento.Apellido;
                        dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVCliente.Telefono].Value   = Elemento.Telefono;

                        CantidadAsistenciasVigentes = ClienteXPedidos.LeerListado(ClsClientesXPedidos.ETipoListado.CantidadAsistencias, ref InformacionDelError, Elemento.ID_Cliente);

                        if (CantidadAsistenciasVigentes != null)
                        {
                            dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVCliente.AsistenciasAcumuladas].Value = CantidadAsistenciasVigentes.Count;
                        }
                        else
                        {
                            dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVCliente.AsistenciasAcumuladas].Value = 0;
                        }

                        dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVCliente.EnviarCliente].Value = "Enviar";
                        dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVCliente.Seleccionar].Value   = false;

                        foreach (int ElementoSecundario in ClientesDelPedido)
                        {
                            if (Elemento.ID_Cliente == ElementoSecundario)
                            {
                                dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVCliente.Seleccionar].Value = true;
                                ClsColores.MarcarFilaDGV(dgvListarClientes, NumeroDeFila, true);
                                break;
                            }
                        }

                        if ((bool)dgvListarClientes.Rows[NumeroDeFila].Cells[(int)ENumColDGVCliente.Seleccionar].Value == false && MostrarClientesSeleccionados)
                        {
                            dgvListarClientes.Rows.Remove(dgvListarClientes.Rows[NumeroDeFila]);
                        }
                    }

                    UltimaFilaSeleccionada = -1;

                    if (MostrarClientesSeleccionados && dgvListarClientes.Rows.Count == 0)
                    {
                        MostrarClientesSeleccionados = false;

                        CargarDGVClientes(ClsClientes.EClienteBuscar.Todos);

                        using (FrmInformacion FormInformacion = new FrmInformacion($"No se encontro ningun cliente seleccionado, lista " +
                                                                                   $"cargada nuevamente.", ClsColores.Blanco, 200, 300))
                        {
                            FormInformacion.ShowDialog();
                        }
                    }

                    lblResultadoTotalClientes.Text = Convert.ToString(ClientesDelPedido.Count);
                }
                else if (InformacionDelError == string.Empty)
                {
                    FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al listar los clientes");
                    MessageBox.Show("Fallo al listar los clientes", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al listar los clientes");
                    MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            dgvListarClientes.ClearSelection();
        }
Ejemplo n.º 5
0
        //Enviar varios clientes
        private void BtnCargarClientes_Click(object sender, EventArgs e)
        {
            LimpiarFiltros();

            CargarDGVClientes(ClsClientes.EClienteBuscar.Todos);

            int        TotalDeFilas      = dgvListarClientes.Rows.Count;
            List <int> EnviarClientes    = new List <int>();
            bool       OperacionInvalida = false;

            string InformacionDelError = string.Empty;

            ClsClientesXPedidos   ClientesXPedido    = new ClsClientesXPedidos();
            List <ClienteXPedido> BuscarRepeticiones = null;

            // IndiceArray me mantiene el indice real de asignacion
            for (int Indice = 0; Indice < TotalDeFilas; Indice++)
            {
                //Pregunto si la celda es diferente a null
                if (dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.Seleccionar].Value != null)
                {
                    //Casteo el check del objeto a booleano y pregunto si es true
                    if ((bool)dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.Seleccionar].Value)
                    {
                        BuscarRepeticiones = ClientesXPedido.LeerListado(ClsClientesXPedidos.ETipoListado.AsistenciasSuperadas, ref InformacionDelError, (int)dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.ID_Cliente].Value);

                        if (BuscarRepeticiones != null)
                        {
                            if (BuscarRepeticiones.Count < 2)
                            {
                                EnviarClientes.Add((int)dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.ID_Cliente].Value);
                            }
                            else
                            {
                                OperacionInvalida = true;
                                dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.Seleccionar].Value = false;

                                using (FrmInformacion FormInformacion = new FrmInformacion($"Se detecto que el cliente {(string)dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.Nombre].Value} {(string)dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.Apellido].Value} " +
                                                                                           $"(telefono {Convert.ToString(dgvListarClientes.Rows[Indice].Cells[(int)ENumColDGVCliente.Telefono].Value)}) ya fue " +
                                                                                           $"cargado en 2 pedidos el dia de hoy.", ClsColores.Blanco, 200, 300))
                                {
                                    FormInformacion.ShowDialog();
                                }
                            }
                        }
                        else if (InformacionDelError == string.Empty)
                        {
                            FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al listar los clientes");
                            MessageBox.Show("Fallo al listar los clientes", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            OperacionInvalida = true;
                        }
                        else
                        {
                            FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al listar los clientes");
                            MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            OperacionInvalida = true;
                        }
                    }
                }
            }

            if (!OperacionInvalida)
            {
                FormCrearMesa.S_ClientesDelPedido = EnviarClientes;

                FrmMesas.ObtenerInstancia().S_CargoClientesAlPedido = DialogResult.OK;
                DialogResult = DialogResult.OK;
                Close();
            }
            else
            {
                EnviarClientes.Clear();
            }
        }