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); } }
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); } } }
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(); } } } }
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(); }
//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(); } }