private void DtpFecha_ValueChanged(object sender, EventArgs e) { if (DateTime.Today > dtpFecha.Value.Date) { dtpFecha.Value = DateTime.Today; using (FrmInformacion FormInformacion = new FrmInformacion("No puede seleccionar una fecha que ya paso para reservar.", ClsColores.Blanco, 100, 300)) { FormInformacion.ShowDialog(); } } if (DatosCargados) { if (ListaDeMesasReserva.Count > 0) { using (FrmInformacion FormInformacion = new FrmInformacion("Fecha actualizada, debe elegir nuevamente las mesas.", ClsColores.Blanco, 100, 300)) { FormInformacion.ShowDialog(); } } ListaDeMesasReserva.Clear(); } }
private void btnAceptar_Click(object sender, EventArgs e) { ListaDeMesasReserva.Clear(); Numeracion.Clear(); int TotalDeFilas = dgvSeleccionarMesaReserva.Rows.Count; for (int Indice = 0; Indice < TotalDeFilas; Indice++) { //Pregunto si la celda es diferente a null if (dgvSeleccionarMesaReserva.Rows[Indice].Cells[(int)ENumColDGVMesa.Seleccionar].Value != null) { //Casteo el check del objeto a booleano y pregunto si es true if ((bool)dgvSeleccionarMesaReserva.Rows[Indice].Cells[(int)ENumColDGVMesa.Seleccionar].Value) { ListaDeMesasReserva.Add((int)dgvSeleccionarMesaReserva.Rows[Indice].Cells[(int)ENumColDGVMesa.ID_Mesa].Value); Numeracion.Add((int)dgvSeleccionarMesaReserva.Rows[Indice].Cells[(int)ENumColDGVMesa.Numero].Value); } } } if (ListaDeMesasReserva.Count > 0) { if (ListaDeMesasReserva.Count <= 12) { FrmRespuesta RespuestaFormulario; if (Convert.ToInt32(lblResultadoCantidadPersonas.Text) > Convert.ToInt32(lblResultadoCapacidadTotal.Text)) { RespuestaFormulario = new FrmRespuesta($"¿Esta seguro que desea crear la reserva con una capacidad menor a la del total de " + "clientes?", FrmRespuesta.ETamaño.Pequeño, FrmRespuesta.ETipo.Si_No); } else { RespuestaFormulario = new FrmRespuesta(); } if (RespuestaFormulario.DialogResult == DialogResult.Yes) { FormAdministrarReservas.S_ListaDeMesasReserva = ListaDeMesasReserva; FormAdministrarReservas.S_Numeracion = Numeracion; DialogResult = DialogResult.OK; Close(); } } else { using (FrmInformacion FormInformacion = new FrmInformacion("El maximo de mesas permitidas es 12.", ClsColores.Blanco, 150, 300)) { FormInformacion.ShowDialog(); } } } else { using (FrmInformacion FormInformacion = new FrmInformacion("Debe seleccionar como minimo una mesa para crear la reserva.", ClsColores.Blanco, 150, 300)) { FormInformacion.ShowDialog(); } } }
private void TsmVerVencimientos_Click(object sender, EventArgs e) { string InformacionDelError = string.Empty; ClsVencimientosFuncionalidades VencimientosFuncionalidades = new ClsVencimientosFuncionalidades(); VencimientoFuncionalidades ComprobarVencimientos = VencimientosFuncionalidades.LeerPorNumero(1, ref InformacionDelError); if (ComprobarVencimientos != null) { using (FrmInformacion FormInformacion = new FrmInformacion($"Vencimiento de todo el programa [ {ComprobarVencimientos.VencimientoGeneral.ToShortDateString()} ]\r\n\r\n" + $"Vencimiento de funciones especificas (estadisticas) [ {ComprobarVencimientos.VencimientoFunciones.ToShortDateString()} ]", ClsColores.Blanco, 200, 600)) { FormInformacion.ShowDialog(); } } else if (InformacionDelError == string.Empty) { MessageBox.Show("Fallo al leer los datos para compobar el vencimiento de las funciones " + "del sistema", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
/// <summary>Actualiza el estado del articulo a activo/inactivo.</summary> /// <param name="_EstadoElemento">Enum que contrendra el numero del tipo de estado.</param> private void ActualizarEstadoArticulo(ClsEstadosArticulos.EEstadosArticulos _EstadoElemento) { ClsArticulos Articulo = new ClsArticulos(); Articulo ActualizarArticulo = new Articulo(); int TotalDeFilas = dgvEstadoArticulo.Rows.Count; for (int Indice = 0; Indice < TotalDeFilas; Indice++) { //Pregunto si la celda es diferente a null if (dgvEstadoArticulo.Rows[Indice].Cells[(int)ENumColDGVEstadoArticulo.Seleccionar].Value != null) { //Casteo el check del objeto a booleano y pregunto si es true if ((bool)dgvEstadoArticulo.Rows[Indice].Cells[(int)ENumColDGVEstadoArticulo.Seleccionar].Value) { string InformacionDelError = string.Empty; ActualizarArticulo = Articulo.LeerPorNumero((int)dgvEstadoArticulo.Rows[Indice].Cells[(int)ENumColDGVEstadoArticulo.ID_Articulo].Value, ref InformacionDelError); if (ActualizarArticulo != null) { ActualizarArticulo.ID_EstadoArticulo = (int)_EstadoElemento; if (ActualizarArticulo.CategoriaArticulo.ID_EstadoCategoriaArticulo != (int)ClsEstadosCategoriasArticulos.EEstadosCategoriasArticulos.inactivo) { if (Articulo.Actualizar(ActualizarArticulo, ref InformacionDelError) != 0) { dgvEstadoArticulo.Rows.Remove(dgvEstadoArticulo.Rows[Indice]); Indice -= 1; TotalDeFilas -= 1; UltimaFilaSeleccionada = -1; } else if (InformacionDelError != string.Empty) { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"El articulo '{ActualizarArticulo.Nombre}' (categoria '{ActualizarArticulo.CategoriaArticulo.Nombre}') " + $"no se puede activar debido a que su categoria fue eliminada.", ClsColores.Blanco, 150, 350)) { FormInformacion.ShowDialog(); } } } else if (InformacionDelError == string.Empty) { MessageBox.Show($"Error al intentar actualizar el articulo", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } }
private void BtnImprimirTicket_Click(object sender, EventArgs e) { try { if (dgvArticulosPedido.Rows.Count > 0) { PtdImprimirTicket = new PrintDocument(); if (ClsComprobarEstadoImpresora.ComprobarEstadoImpresora(PtdImprimirTicket.PrinterSettings.PrinterName)) { PtdImprimirTicket.PrintPage += PrintPageEventHandler; PtdImprimirTicket.Print(); } if (SoloMostrar) { Close(); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"No hay ningun articulo cargado en el pedido.", ClsColores.Blanco, 200, 300)) { FormInformacion.ShowDialog(); } } } catch (Exception Error) { MessageBox.Show($"Ocurrio un error al intentar imprimir el ticket: {Error.Message}", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); } }
private void PicBTNInformacion_Click(object sender, EventArgs e) { using (FrmInformacion FormInformacion = new FrmInformacion($"Seleccione las mesas que se usaran para la reserva. Puede seleccionar mesas con una capacidad " + $"menor a la del total de clientes que asistiran, solo se le advertira, pero debe seleccionar como minimo una mesa para " + $"asignarle a la reserva.", ClsColores.Blanco, 300, 300)) { FormInformacion.ShowDialog(); } }
private void PicBTNInformacionVentanas_Click(object sender, EventArgs e) { using (FrmInformacion FormInformacion = new FrmInformacion("Las ventanas en las que se aplicara esto (carta, caja, y configuracion), " + "son consideradas importantes debido a la informacion que brindan y manejan, por lo que se requiere el acceso de un tipo de " + "usuario en especifico para evitar una mala gestion de las partes escenciales del programa.\r\n\r\nPasado el tiempo " + "asignado, se ocultara la ventana, para de esta forma forzar a que tenga que validar su usuario nuevamente y comprobar " + "que tiene el perfil requerido.", ClsColores.Blanco, 300, 450)) { FormInformacion.ShowDialog(); } }
private void PicBTNInformacion_Click(object sender, EventArgs e) { using (FrmInformacion FormInformacion = new FrmInformacion("Las mesas que se muestran disponibles, son las que no estan ocupadas " + "en este momento.\r\n\r\nSolo puede juntar un maximo de 12 mesas (y todas estas deben pertenecer a la misma " + "planta).\r\n\r\nPuede cargar los clientes que asistieron a este pedido que esta creando/editando, para poder " + "saber en un futuro que clientes asistieron a los diferentes pedidos en un periodo de tiempo, con el objetivo de " + "realizar promociones mas personalizadas.", ClsColores.Blanco, 350, 500)) { FormInformacion.ShowDialog(); } }
private void PicBTNInformacion_Click(object sender, EventArgs e) { using (FrmInformacion FormInformacion = new FrmInformacion($"Seleccione el boton [Buscar movimiento] para abrir la ventana que mostrara " + $"todas las cuentas disponibles. Posteriormente seleccione en algunas de estas el boton [Enviar] para " + $"que esta sea cargada en esta ventana.\r\n\r\nSi no encuentra el registro de 'Apertura de caja', significara que el programa " + $"esta esperando el registro 'Cierre de caja'. Si el caso es el contrario, el programa estara esperando la creacion del " + $"registro 'Apertura de caja'.\r\n\r\nSi en algun momento considera que hubo un error y desea corregir ese monto o movimiento mal especificado, " + $"puede usar los movimientos de 'Cuenta de ajuste (ingreso)' o 'Cuenta de ajuste (egreso)'.", ClsColores.Blanco, 350, 500)) { FormInformacion.ShowDialog(); } }
private void PicBTNInformacion_Click(object sender, EventArgs e) { using (FrmInformacion FormInformacion = new FrmInformacion($"La categoria que se creara, se le asignara un valor que indicara " + $"si los articulos que incluya en la misma, se enviaran a cocina para que estos sean cocinados/preparados, " + $"si indica que no iran a cocina, estos articulos seran directamente enviados al cliente ya que " + $"no hay que cocinarlos (como gaseosas o sandwiches ya elaborados que se encuentran en heladeras). Tener en cuenta " + $"que los articulos que se indiquen como cocinados desde cocina, ya no se podran eliminar desde la lista de pedidos " + $"ya que se considera que los productos para elaborar el plato ya fueron usados y no se pueden recuperar.\r\n\r\nSi " + $"tiene articulos que puedan ser iguales, pero algunos son elaborados por cocina y otros no, indicar por ejemplo, que " + $"los sandwiches que sean elaborados por cocina, estaran en la categoria 'Sandwiches de cocina' y los que ya estan " + $"elaborados y solo hay que buscarlos en una heladera, estaran en la categoria 'Sandwitches'.", ClsColores.Blanco, 400, 600)) { FormInformacion.ShowDialog(); } }
private void NudCantidadPersonas_ValueChanged(object sender, EventArgs e) { if (DatosCargados) { if (ListaDeMesasReserva.Count > 0) { using (FrmInformacion FormInformacion = new FrmInformacion("Cantidad de personas actualizada, debe elegir nuevamente las mesas asignadas.", ClsColores.Blanco, 200, 300)) { FormInformacion.ShowDialog(); } } ListaDeMesasReserva.Clear(); } }
private void PicBTNInformacion_Click(object sender, EventArgs e) { using (FrmInformacion FormInformacion = new FrmInformacion("Has doble click en un " + "usuario en especifico si quieres editarlo (el dueño del mismo debe verificar que esta presente, colocando su " + "contraseña), para que pueda asegurarse de que un tercero no sepa sus datos (los cuales debe saberlo solo él " + "por motivos de seguridad).\r\n\r\n" + "De esta forma solo el mozo dueño de su usuario puede " + "cerrar una mesa, o un subgerente crear un nuevo registro en caja (esto debido a que queda asociado el usuario " + "que hizo la accion, y de esta forma saber quien hizo cada cosa).\r\n\r\nTener en cuenta que " + "no se pueden eliminar los usuarios que tengan el " + "perfil de 'gerente', y solo validando con la contraseña de uno que si lo es, puede asignarle este perfil a otro usuario.\r\n\r\n" + "No se permite la eliminacion de usuarios que esten trabajando en una mesa al momento de marcarlos " + "como eliminados. Si desea eliminar ese usuario, cambie todas las mesas en donde este trabajando, " + "por otro mozo.", ClsColores.Blanco, 500, 700)) { FormInformacion.ShowDialog(); } }
private void BtnAceptar_Click(object sender, EventArgs e) { if (cmbMozo.SelectedValue != null && cmbChef.SelectedValue != null) { Usuario UsuarioSeleccionado = (Usuario)cmbMozo.SelectedItem; Usuario ChefSeleccionado = (Usuario)cmbChef.SelectedItem; FrmReservas.ObtenerInstancia().S_ID_Mozo = UsuarioSeleccionado.ID_Usuario; FrmReservas.ObtenerInstancia().S_ID_Chef = ChefSeleccionado.ID_Usuario; DialogResult = DialogResult.OK; Close(); } else { using (FrmInformacion FormInformacion = new FrmInformacion($"Es obligatorio asignar el mozo y chef a la mesa.", ClsColores.Blanco, 150, 300)) { FormInformacion.ShowDialog(); } } }
/// <summary> /// Valida la hora ingresada por el usuario (retorna true si es correcta, de lo contrario false). /// </summary> /// <param name="_GuardarCambios">Si es true, evita la advertencia de que debe completar el campo HORA.</param> private bool ValidarHora(bool _GuardarCambios, MaskedTextBox _MtbValidar) { if (_MtbValidar.MaskCompleted) { string[] Horario = _MtbValidar.Text.Split(':'); if (Convert.ToInt32(Horario[0]) >= 24) { using (FrmInformacion FormInformacion = new FrmInformacion("Ingrese una hora valida.", ClsColores.Blanco, 100, 300)) { FormInformacion.ShowDialog(); } return(false); } else if (Convert.ToInt32(Horario[1]) >= 60) { using (FrmInformacion FormInformacion = new FrmInformacion("Ingrese un minuto valido.", ClsColores.Blanco, 100, 300)) { FormInformacion.ShowDialog(); } return(false); } else { return(true); } } else { if (!_GuardarCambios) { using (FrmInformacion FormInformacion = new FrmInformacion("Debe completar el campo HORA.", ClsColores.Blanco, 100, 300)) { FormInformacion.ShowDialog(); } } return(false); } }
private void DgvDatosReservas_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { DataGridView DetectarBoton = (DataGridView)sender; if (!(DetectarBoton.Columns[e.ColumnIndex] is DataGridViewButtonColumn) && e.RowIndex >= 0) { if (Convert.ToString(dgvCaja.Rows[e.RowIndex].Cells[(int)ENumColDGVCaja.ID_Pedido].Value) != string.Empty) { using (FrmsSecundarios.FrmsTemporales.FrmCarta.MostrarPedidoFianlizado FormMostrarPedidoFianlizado = new FrmsSecundarios.FrmsTemporales.FrmCarta.MostrarPedidoFianlizado(Convert.ToInt32(dgvCaja.Rows[e.RowIndex].Cells[(int)ENumColDGVCaja.ID_Pedido].Value))) { FormMostrarPedidoFianlizado.ShowDialog(); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"La columna seleccionada no corresponde a un pedido y por lo tanto no se puede ver " + $"ningun detalle del mismo.", ClsColores.Blanco, 200, 400)) { FormInformacion.ShowDialog(); } } } }
private void BtnGuardarCambios_Click(object sender, EventArgs e) { bool DatosValidos = true; string RegistroDeErrores = string.Empty; int AnchoFormInformacion = 100; if (txtTelefonoCliente.Text == string.Empty) { txtTelefonoCliente.Text = "0"; } txtNombreCliente.Text = txtNombreCliente.Text.Trim(); txtApellidoCliente.Text = txtApellidoCliente.Text.Trim(); txtTelefonoCliente.Text = txtTelefonoCliente.Text.Trim(); if (txtApellidoCliente.Text == string.Empty && txtNombreCliente.Text == string.Empty) { DatosValidos = false; RegistroDeErrores += "Debe cargar un nombre o apellido'.\r\n\r\n"; AnchoFormInformacion += 50; } if (VerificarClienteRepetido(txtNombreCliente.Text, txtApellidoCliente.Text, txtTelefonoCliente.Text, ID_Cliente)) { DatosValidos = false; RegistroDeErrores += "El nombre del cliente y su apellido ya se encuentran en uso, intente con " + "otros datos.\r\n\r\n"; AnchoFormInformacion += 50; } if (DatosValidos) { if (txtNombreCliente.Text != string.Empty) { txtNombreCliente.Text = txtNombreCliente.Text.Substring(0, 1).ToUpper() + txtNombreCliente.Text.Remove(0, 1).ToLower(); } if (txtApellidoCliente.Text != string.Empty) { txtApellidoCliente.Text = txtApellidoCliente.Text.Substring(0, 1).ToUpper() + txtApellidoCliente.Text.Remove(0, 1).ToLower(); } string InformacionDelError = string.Empty; ClsClientes Clientes = new ClsClientes(); Cliente CrearCliente = new Cliente(); CrearCliente.ID_Cliente = ID_Cliente; CrearCliente.Nombre = txtNombreCliente.Text; CrearCliente.Apellido = txtApellidoCliente.Text; CrearCliente.Telefono = Convert.ToInt64(txtTelefonoCliente.Text); if (Clientes.Actualizar(CrearCliente, ref InformacionDelError) != 0) { DialogResult = DialogResult.OK; Close(); } else if (InformacionDelError != string.Empty) { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 300)) { FormInformacion.ShowDialog(); } } }
private void BtnGuardarCambios_Click(object sender, EventArgs e) { // Comprobar datos correctos bool DatosValidos = true; string RegistroDeErrores = string.Empty; int AnchoFormInformacion = 100; Perfil PerfilSeleccionado = (Perfil)cmbPerfil.SelectedItem; txtNick.Text = txtNick.Text.Trim(); txtNombre.Text = txtNombre.Text.Trim(); txtApellido.Text = txtApellido.Text.Trim(); if (txtNick.Text.Length < 2) { DatosValidos = false; RegistroDeErrores += "El campo 'Nick' debe tener como minimo 2 caracteres.\r\n\r\n"; AnchoFormInformacion += 50; } if (txtNombre.Text.Length < 3) { DatosValidos = false; RegistroDeErrores += "El campo 'Nombre' debe tener un minimo de 3 caracteres'.\r\n\r\n"; AnchoFormInformacion += 50; } if (txtApellido.Text.Length < 3) { DatosValidos = false; RegistroDeErrores += "El campo 'Apellido' debe tener un minimo de 3 caracteres'.\r\n\r\n"; AnchoFormInformacion += 50; } if (txtContraseña.Text.Length < 4) { DatosValidos = false; RegistroDeErrores += "El campo 'Contraseña' debe tener un minimo de 4 caracteres'.\r\n\r\n"; AnchoFormInformacion += 50; } if (VerificarUsuarioRepetido(txtNombre.Text, txtContraseña.Text, ID_Usuario, txtApellido.Text)) { DatosValidos = false; RegistroDeErrores += "Verifique que no exista otro usuario con el mismo nombre y apellido, si no " + "esta repetido, intente con una contraseña diferente.\r\n\r\n"; AnchoFormInformacion += 70; } if (DatosValidos) { // Si va a ser gerente el nuevo usuario, validarlo bool AutorizarEdicion = true; //Si el combo esta desalibilitado, significa que el perfil ya era gerente, por lo que no pide confirmacion if (PerfilSeleccionado.ID_Perfil == (int)ClsPerfiles.EPerfiles.Gerente && cmbPerfil.Enabled == true) { AutorizarEdicion = false; FrmRespuesta RespuestaFormulario = new FrmRespuesta($"¿Esta seguro que desea asignarle el perfil ´Gerente'? Una vez confirmado, no se puede editar el tipo de perfil ni eliminar el usuario (por seguridad, el sistema " + "no permite que personas con este tipo sean eliminadas del sistema).", FrmRespuesta.ETamaño.Pequeño, FrmRespuesta.ETipo.Si_No); if (RespuestaFormulario.DialogResult == DialogResult.Yes) { using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.Gerentes)) { FormValidarUsuario.ShowDialog(); if (FormValidarUsuario.DialogResult == DialogResult.OK) { AutorizarEdicion = true; } } } } if (AutorizarEdicion) { txtNick.Text = txtNick.Text.ToUpper(); txtNombre.Text = txtNombre.Text.Substring(0, 1).ToUpper() + txtNombre.Text.Remove(0, 1).ToLower(); txtApellido.Text = txtApellido.Text.Substring(0, 1).ToUpper() + txtApellido.Text.Remove(0, 1).ToLower(); // Actualizar string InformacionDelError = string.Empty; ClsUsuarios Usuarios = new ClsUsuarios(); Usuario ActualizarUsuario = new Usuario(); ActualizarUsuario.ID_Usuario = ID_Usuario; ActualizarUsuario.Nick = txtNick.Text; ActualizarUsuario.Nombre = txtNombre.Text; ActualizarUsuario.Apellido = txtApellido.Text; ActualizarUsuario.Contraseña = txtContraseña.Text; ActualizarUsuario.ID_Perfil = PerfilSeleccionado.ID_Perfil; //Mantener el estado del usuario (ya que sin esto, se podria habilitar usuarios sin indicarlo //necesariamente, se activarian al editar uno inactivo y guardar cambios). if (EstadoDelUsuario) { ActualizarUsuario.ID_EstadoUsuario = (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo; } else { ActualizarUsuario.ID_EstadoUsuario = (int)ClsEstadosUsuarios.EEstadosUsuarios.Inactivo; } // Impedir dar categoria gerente a un usuario eliminado if (ActualizarUsuario.ID_EstadoUsuario == (int)ClsEstadosUsuarios.EEstadosUsuarios.Inactivo && PerfilSeleccionado.ID_Perfil == (int)ClsPerfiles.EPerfiles.Gerente) { using (FrmInformacion FormInformacion = new FrmInformacion($"No le puede dar el perfil 'gerente' a un usuario eliminado " + $"(ya que un gerente no puede estar eliminado).", ClsColores.Blanco, 150, 300)) { FormInformacion.ShowDialog(); } } else { if (Usuarios.Actualizar(ActualizarUsuario, ref InformacionDelError) != 0) { DialogResult = DialogResult.OK; Close(); } else if (InformacionDelError != string.Empty) { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } else { using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 350)) { FormInformacion.ShowDialog(); } } }
private void BtnAceptar_Click(object sender, EventArgs e) { // Validar los datos. bool DatosValidos = true; string RegistroDeErrores = string.Empty; int AnchoFormInformacion = 100; Perfil PerfilSeleccionado = (Perfil)cmbPerfil.SelectedItem; txtNick.Text = txtNick.Text.Trim(); txtNombre.Text = txtNombre.Text.Trim(); txtApellido.Text = txtApellido.Text.Trim(); if (txtNick.Text.Length < 2) { DatosValidos = false; RegistroDeErrores += "El campo 'Nick' debe tener como minimo 2 caracteres.\r\n\r\n"; AnchoFormInformacion += 50; } if (txtNombre.Text.Length < 3) { DatosValidos = false; RegistroDeErrores += "El campo 'Nombre' debe tener un minimo de 3 caracteres'.\r\n\r\n"; AnchoFormInformacion += 50; } if (txtApellido.Text.Length < 3) { DatosValidos = false; RegistroDeErrores += "El campo 'Apellido' debe tener un minimo de 3 caracteres'.\r\n\r\n"; AnchoFormInformacion += 50; } if (txtContraseña.Text.Length < 4) { DatosValidos = false; RegistroDeErrores += "El campo 'Contraseña' debe tener un minimo de 4 caracteres'.\r\n\r\n"; AnchoFormInformacion += 50; } if (VerificarUsuarioRepetido(txtNombre.Text, txtContraseña.Text, ID_Usuario, txtApellido.Text)) { DatosValidos = false; RegistroDeErrores += "Verifique que no exista otro usuario con el mismo nombre y apellido, si no " + "esta repetido, intente con una contraseña diferente.\r\n\r\n"; AnchoFormInformacion += 70; } if (DatosValidos) { // Si va a ser gerente el nuevo usuario, validarlo bool AutorizarEdicion = true; if (PerfilSeleccionado.ID_Perfil == (int)ClsPerfiles.EPerfiles.Gerente) { AutorizarEdicion = false; FrmRespuesta RespuestaFormulario = new FrmRespuesta($"¿Esta seguro que desea asignarle el perfil ´Gerente'? Una vez confirmado, no se puede editar el tipo de perfil ni eliminar el usuario (por seguridad, el sistema " + "no permite que personas con este tipo sean eliminadas del sistema).", FrmRespuesta.ETamaño.Pequeño, FrmRespuesta.ETipo.Si_No); if (RespuestaFormulario.DialogResult == DialogResult.Yes) { using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.Gerentes)) { FormValidarUsuario.ShowDialog(); if (FormValidarUsuario.DialogResult == DialogResult.OK) { AutorizarEdicion = true; } } } } if (AutorizarEdicion) { // Crear usuario txtNick.Text = txtNick.Text.ToUpper(); txtNombre.Text = txtNombre.Text.Substring(0, 1).ToUpper() + txtNombre.Text.Remove(0, 1).ToLower(); txtApellido.Text = txtApellido.Text.Substring(0, 1).ToUpper() + txtApellido.Text.Remove(0, 1).ToLower(); string InformacionDelError = string.Empty; ClsUsuarios Usuarios = new ClsUsuarios(); Usuario CrearUsuario = new Usuario(); CrearUsuario.Nick = txtNick.Text; CrearUsuario.Nombre = txtNombre.Text; CrearUsuario.Apellido = txtApellido.Text; CrearUsuario.Contraseña = txtContraseña.Text; CrearUsuario.ID_EstadoUsuario = (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo; CrearUsuario.ID_Perfil = PerfilSeleccionado.ID_Perfil; if (Usuarios.Crear(CrearUsuario, ref InformacionDelError) != 0) { DialogResult = DialogResult.OK; Close(); } else if (InformacionDelError == string.Empty) { MessageBox.Show("Fallo al crear el usuario", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } else { using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 350)) { FormInformacion.ShowDialog(); } } }
private void BtnAplicarAumentoDescuento_Click(object sender, EventArgs e) { if (txtCantidad.Text == string.Empty) { txtCantidad.Text = "0"; } CargarDGVCarta(ClsArticulos.ETipoListado.ArticulosActivos); ClsArticulos Articulos = new ClsArticulos(); Articulo ActualizarPrecio = new Articulo(); // Entrar solo si al menos el usuario marco un check para aplicarle aumento if (chkAplicarADelivery.Checked || chkAplicarACarta.Checked) { // TODO - Realizar un aumento/descuento a los articulos seleccionados en funcion del porcentaje y el RBN seleccioando for (int Indice = 0; Indice < dgvCarta.Rows.Count; Indice++) { //Pregunto si la celda es diferente a null if (dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Seleccionar].Value != null) { //Casteo el check del objeto a booleano y pregunto si es true if ((bool)dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Seleccionar].Value) { string InformacionDelError = string.Empty; ActualizarPrecio = Articulos.LeerPorNumero((int)dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.ID_Articulo].Value, ref InformacionDelError); if (rbnAumento.Checked) { if (chkAplicarADelivery.Checked && !chkAplicarACarta.Checked) { if (ActualizarPrecio.PrecioDelivery != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.PrecioDelivery += ActualizarPrecio.PrecioDelivery * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.PrecioDelivery += Convert.ToInt32(txtCantidad.Text); } } } else if (!chkAplicarADelivery.Checked && chkAplicarACarta.Checked) { if (ActualizarPrecio.Precio != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.Precio += ActualizarPrecio.Precio * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.Precio += Convert.ToInt32(txtCantidad.Text); } } } else { if (ActualizarPrecio.Precio != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.Precio += ActualizarPrecio.Precio * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.Precio += Convert.ToInt32(txtCantidad.Text); } } if (ActualizarPrecio.PrecioDelivery != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.PrecioDelivery += ActualizarPrecio.PrecioDelivery * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.PrecioDelivery += Convert.ToInt32(txtCantidad.Text); } } } } else { if (chkAplicarADelivery.Checked && !chkAplicarACarta.Checked) { if (ActualizarPrecio.PrecioDelivery != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.PrecioDelivery -= ActualizarPrecio.PrecioDelivery * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.PrecioDelivery -= Convert.ToInt32(txtCantidad.Text); } } } else if (!chkAplicarADelivery.Checked && chkAplicarACarta.Checked) { if (ActualizarPrecio.Precio != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.Precio -= ActualizarPrecio.Precio * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.Precio -= Convert.ToInt32(txtCantidad.Text); } } } else { if (ActualizarPrecio.Precio != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.Precio -= ActualizarPrecio.Precio * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.Precio -= Convert.ToInt32(txtCantidad.Text); } } if (ActualizarPrecio.PrecioDelivery != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.PrecioDelivery -= ActualizarPrecio.PrecioDelivery * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.PrecioDelivery -= Convert.ToInt32(txtCantidad.Text); } } } } if (chkAplicarADelivery.Checked && !chkAplicarACarta.Checked && chkRedondearPrecio.Checked) { if (ActualizarPrecio.PrecioDelivery != null) { ActualizarPrecio.PrecioDelivery = Math.Floor((double)ActualizarPrecio.PrecioDelivery); if (ActualizarPrecio.PrecioDelivery % 5 != 0) { ActualizarPrecio.PrecioDelivery = ActualizarPrecio.PrecioDelivery + (5 - (ActualizarPrecio.PrecioDelivery % 5)); } } } else if (!chkAplicarADelivery.Checked && chkAplicarACarta.Checked && chkRedondearPrecio.Checked) { if (ActualizarPrecio.Precio != null) { ActualizarPrecio.Precio = Math.Floor((double)ActualizarPrecio.Precio); if (ActualizarPrecio.Precio % 5 != 0) { ActualizarPrecio.Precio = ActualizarPrecio.Precio + (5 - (ActualizarPrecio.Precio % 5)); } } } else if (chkRedondearPrecio.Checked) { if (ActualizarPrecio.Precio != null) { ActualizarPrecio.Precio = Math.Floor((double)ActualizarPrecio.Precio); if (ActualizarPrecio.Precio % 5 != 0) { ActualizarPrecio.Precio = ActualizarPrecio.Precio + (5 - (ActualizarPrecio.Precio % 5)); } } if (ActualizarPrecio.PrecioDelivery != null) { ActualizarPrecio.PrecioDelivery = Math.Floor((double)ActualizarPrecio.PrecioDelivery); if (ActualizarPrecio.PrecioDelivery % 5 != 0) { ActualizarPrecio.PrecioDelivery = ActualizarPrecio.PrecioDelivery + (5 - (ActualizarPrecio.PrecioDelivery % 5)); } } } bool PrecioPermitido = false; bool PrecioMinimo = false; if (ActualizarPrecio.Precio == null) { PrecioPermitido = true; } else { if (ActualizarPrecio.Precio >= 10 && ActualizarPrecio.Precio <= 999999) { PrecioPermitido = true; } else if (ActualizarPrecio.Precio < 10) { PrecioPermitido = false; PrecioMinimo = true; } else { PrecioPermitido = false; } } if (ActualizarPrecio.PrecioDelivery == null) { PrecioPermitido = true; } else { if (ActualizarPrecio.PrecioDelivery >= 10 && ActualizarPrecio.PrecioDelivery <= 999999) { PrecioPermitido = true; } else if (ActualizarPrecio.PrecioDelivery < 10) { PrecioPermitido = false; PrecioMinimo = true; } else { PrecioPermitido = false; } } if (PrecioPermitido) { if (ActualizarPrecio.Precio != null) { ActualizarPrecio.Precio = Math.Round((double)ActualizarPrecio.Precio, 2); } if (ActualizarPrecio.PrecioDelivery != null) { ActualizarPrecio.PrecioDelivery = Math.Round((double)ActualizarPrecio.PrecioDelivery, 2); } if (Articulos.Actualizar(ActualizarPrecio, ref InformacionDelError) != 0) { if (ActualizarPrecio.Precio == null) { dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.PrecioCarta].Value = "NO TIENE"; } else { dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.PrecioCarta].Value = ActualizarPrecio.Precio; } if (ActualizarPrecio.PrecioDelivery == null) { dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.PrecioDelivery].Value = "NO TIENE"; } else { dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.PrecioDelivery].Value = ActualizarPrecio.PrecioDelivery; } } else if (InformacionDelError != string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar actualizar los precios"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else if (PrecioMinimo) { using (FrmInformacion FormInformacion = new FrmInformacion($"El articulo '{dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Nombre].Value.ToString()}' (categoria '{dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Categoria].Value.ToString()}') " + $"no se puede actualizar debido a que su precio seria inferior al minimo ($10 pesos).", ClsColores.Blanco, 350, 150)) { FormInformacion.ShowDialog(); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"El articulo '{dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Nombre].Value.ToString()}' (categoria '{dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Categoria].Value.ToString()}') " + $"no se puede actualizar debido a que su precio seria superior al maximo permitido (999999).", ClsColores.Blanco, 350, 150)) { FormInformacion.ShowDialog(); } } dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Seleccionar].Value = false; } } } CambiarCheckboxSeleccion(false); } }
private void BtnGuardarCambios_Click(object sender, EventArgs e) { bool DatosValidos = true; string RegistroDeErrores = string.Empty; int AnchoFormInformacion = 100; CategoriaArticulo CategoriaArticulo = null; txtNombreArticulo.Text = txtNombreArticulo.Text.Trim(); txtDescripcion.Text = txtDescripcion.Text.Trim(); txtPrecio.Text = txtPrecio.Text.Trim(); if (txtNombreArticulo.Text.Length < 3) { DatosValidos = false; RegistroDeErrores += "El campo 'Nombre' debe tener como minimo 3 caracteres.\r\n\r\n"; AnchoFormInformacion += 50; } if (txtPrecio.Text != string.Empty) { if (txtPrecio.Text.Substring(0, 1) == "," || txtPrecio.Text.Substring(txtPrecio.Text.Length - 1, 1) == "," || Convert.ToDouble(txtPrecio.Text) < 10) { DatosValidos = false; RegistroDeErrores += "El campo 'Precio' debe ser mayor a $10 (verifique tambien que no tenga la " + "coma del centavo al principio o al final).\r\n\r\n"; AnchoFormInformacion += 50; } } if (txtPrecioDelivery.Text != string.Empty) { if (txtPrecioDelivery.Text.Substring(0, 1) == "," || txtPrecioDelivery.Text.Substring(txtPrecioDelivery.Text.Length - 1, 1) == "," || Convert.ToDouble(txtPrecioDelivery.Text) < 10) { DatosValidos = false; RegistroDeErrores += "El campo 'Precio delivery' debe ser mayor a $10 (verifique tambien que no tenga la " + "coma del centavo al principio o al final).\r\n\r\n"; AnchoFormInformacion += 50; } } if (cmbCategoria.SelectedItem != null) { CategoriaArticulo = (CategoriaArticulo)cmbCategoria.SelectedItem; } else { DatosValidos = false; RegistroDeErrores += "Seleccione una categoria.\r\n\r\n"; AnchoFormInformacion += 50; } if (VerificarArticuloRepetido(txtNombreArticulo.Text, ID_Articulo)) { DatosValidos = false; RegistroDeErrores += "El nombre del articulo ya se encuentra en uso.\r\n\r\n"; AnchoFormInformacion += 50; } if (txtPrecio.Text == string.Empty && txtPrecioDelivery.Text == string.Empty) { DatosValidos = false; RegistroDeErrores += "El articulo debe tener un precio para carta o delivery.\r\n\r\n"; AnchoFormInformacion += 50; } if (DatosValidos) { txtNombreArticulo.Text = txtNombreArticulo.Text.Substring(0, 1).ToUpper() + txtNombreArticulo.Text.Remove(0, 1).ToLower(); if (txtDescripcion.Text != string.Empty) { txtDescripcion.Text = txtDescripcion.Text.Substring(0, 1).ToUpper() + txtDescripcion.Text.Remove(0, 1).ToLower(); } string InformacionDelError = string.Empty; ClsArticulos Articulo = new ClsArticulos(); Articulo ActualizarArticulo = new Articulo(); ActualizarArticulo.ID_Articulo = ID_Articulo; ActualizarArticulo.Nombre = txtNombreArticulo.Text; ActualizarArticulo.Descripcion = txtDescripcion.Text; if (txtPrecio.Text == string.Empty) { ActualizarArticulo.Precio = null; } else { ActualizarArticulo.Precio = Math.Round(Convert.ToDouble(txtPrecio.Text), 2); } if (txtPrecioDelivery.Text == string.Empty) { ActualizarArticulo.PrecioDelivery = null; } else { ActualizarArticulo.PrecioDelivery = Math.Round(Convert.ToDouble(txtPrecioDelivery.Text), 2); } ActualizarArticulo.ID_EstadoArticulo = (int)ClsEstadosArticulos.EEstadosArticulos.Activo; ActualizarArticulo.ID_CategoriaArticulo = CategoriaArticulo.ID_CategoriaArticulo; if (Articulo.Actualizar(ActualizarArticulo, ref InformacionDelError) != 0) { DialogResult = DialogResult.OK; Close(); } else if (InformacionDelError != string.Empty) { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 400)) { FormInformacion.ShowDialog(); } } }
private void BtnEliminar_Click(object sender, EventArgs e) { if (nudCantidadMesasAEliminar.Value > 0) { string InformacionDelError = string.Empty; ClsMesas Mesas = new ClsMesas(); List <Mesa> MesasActivas; MesasActivas = Mesas.LeerListado(ClsMesas.ETipoDeListado.MesasOcupadas, ref InformacionDelError); if (MesasActivas != null) { if (MesasActivas.Count == 0) { MesasActivas = null; if (rbnPlantaBaja.Checked) { MesasActivas = Mesas.LeerListado(ClsMesas.ETipoDeListado.MesasActivasPB, ref InformacionDelError); } else { MesasActivas = Mesas.LeerListado(ClsMesas.ETipoDeListado.MesasActivasPA, ref InformacionDelError); } if (MesasActivas != null) { MesasActivas.Reverse(); int Contador = 0; foreach (Mesa Elemento in MesasActivas) { Elemento.ID_EstadoMesa = (int)ClsEstadosMesas.EEstadosMesas.Inactivo; if (Mesas.Actualizar(Elemento, ref InformacionDelError) != 0) { FrmPrincipal.ObtenerInstancia().S_tslResultadoOperacion = "Mesa/s eliminada/s"; } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar eliminar la mesa"); MessageBox.Show("Error al intentar eliminar la mesa", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar eliminar la mesa"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } Contador++; if (Contador == nudCantidadMesasAEliminar.Value) { break; } } // Actualizo los NUD con los nuevos valores ActualizarControles(); FrmPrincipal.ObtenerInstancia().S_tslResultadoOperacion = "Mesa/s eliminada/s"; } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar eliminar la mesa"); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar eliminar la mesa"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"No puede eliminar mesas, el sistema se detectó que hay en uso actualmente para pedidos. Finalize " + $"los mismo e intente nuevamente.", ClsColores.Blanco, 250, 300)) { FormInformacion.ShowDialog(); } } } else if (InformacionDelError != string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar eliminar la mesa"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
private void BtnAgregarRegistro_Click(object sender, EventArgs e) { txtDetalle.Text = txtDetalle.Text.Trim(); if (ID_Registro != -1 && txtMonto.Text != string.Empty && txtMonto.Text.Substring(0, 1) != "," && txtMonto.Text.Substring(txtMonto.Text.Length - 1, 1) != ",") { using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.GerentesSubGerentes)) { FormValidarUsuario.ShowDialog(); if (FormValidarUsuario.DialogResult == DialogResult.OK) { if (txtDetalle.Text != string.Empty) { txtDetalle.Text = txtDetalle.Text.Substring(0, 1).ToUpper() + txtDetalle.Text.Remove(0, 1).ToLower(); } string InformacionDelError = string.Empty; ClsCajas Cajas = new ClsCajas(); Caja CrearRegistro = new Caja(); CrearRegistro.Fecha = DateTime.Today.Date; CrearRegistro.Hora = TimeSpan.Parse(DateTime.Now.ToString(@"HH\:mm\:ss")); CrearRegistro.Monto = Convert.ToDouble(txtMonto.Text); CrearRegistro.Detalle = txtDetalle.Text; CrearRegistro.ID_TipoDeMonto = ID_Registro; CrearRegistro.ID_Pedido = null; if (ID_Registro == (int)ClsTiposDeMontos.ETiposDeMontos.AperturaCaja) { CrearRegistro.ID_EstadoCaja = (int)ClsEstadosCajas.EEstadosCajas.CajaAbierta; } else { CrearRegistro.ID_EstadoCaja = (int)ClsEstadosCajas.EEstadosCajas.Activo; } CrearRegistro.ID_Usuario = FormValidarUsuario.G_ID_UsuarioQueValido; if (Cajas.Crear(CrearRegistro, ref InformacionDelError) != 0) { if (CrearRegistro.ID_TipoDeMonto == (int)ClsTiposDeMontos.ETiposDeMontos.CierreCaja) { List <Caja> BuscarRegistroCajaAbierta = Cajas.LeerListado(ClsCajas.ETipoListado.CajaAbierta, ref InformacionDelError); if (BuscarRegistroCajaAbierta != null) { foreach (Caja Elemento in BuscarRegistroCajaAbierta) { Elemento.ID_EstadoCaja = (int)ClsEstadosCajas.EEstadosCajas.Activo; Cajas.Actualizar(Elemento, ref InformacionDelError); } } else if (InformacionDelError == string.Empty) { MessageBox.Show("Fallo al listar los montos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } DialogResult = DialogResult.OK; Close(); } else if (InformacionDelError == string.Empty) { MessageBox.Show($"Fallo al crear el registro en caja", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"Debe cargar un registro con su monto correspondiente (verifique también que no tenga la " + "coma del centavo al principio o al final).", ClsColores.Blanco, 250, 300)) { FormInformacion.ShowDialog(); } } }
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(); } } } }
//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(); } }
private void ComprobarVencimientos() { bool MostrarMensaje = false; bool LicenciaExpirada = false; string MensajesDeAviso = string.Empty; int AnchoFormInformacion = 200; string InformacionDelError = string.Empty; ClsVencimientosFuncionalidades VencimientosFuncionalidades = new ClsVencimientosFuncionalidades(); VencimientoFuncionalidades ComprobarVencimientos = VencimientosFuncionalidades.LeerPorNumero(1, ref InformacionDelError); if (ComprobarVencimientos != null) { if (FrmInicioSesion.ObtenerInstancia().G_ID_PerfilUsuarioInicioSesion != (int)ClsPerfiles.EPerfiles.Administrador) { // Vencimiento general if (ComprobarVencimientos.VencimientoGeneral.Date < DateTime.Now.Date) { LicenciaExpirada = true; MostrarMensaje = true; AnchoFormInformacion += 50; MensajesDeAviso += $"Se vencieron las funcionalidades del sistema.\r\n\r\n"; } else if (ComprobarVencimientos.VencimientoGeneral.Date >= DateTime.Now.Date && ComprobarVencimientos.VencimientoGeneral.Date <= DateTime.Now.Date.AddDays(7)) { MostrarMensaje = true; AnchoFormInformacion += 50; MensajesDeAviso += $"Aviso: Se venceran las funciones de todo el programa " + $"en {(ComprobarVencimientos.VencimientoGeneral.Date - DateTime.Now.Date).TotalDays} dias, al " + $"cumplirse la fecha limite de uso (esto se realizara automaticamente). Contacte con el " + $"programador para actualizar su fecha de vencimiento (no perdera los dias restantes que falten " + $"para el vencimiento, estos seran acumulados).\r\n\r\n"; } // Vencimiento especifico de funcionalidades del sistema if (ComprobarVencimientos.VencimientoFunciones.Date < DateTime.Now.Date) { BtnEstadisticasCaja.Enabled = false; BtnEstadisticasDelivery.Enabled = false; BtnEstadisticasGenerales.Enabled = false; BtnEstadisticasReservas.Enabled = false; BtnEstadisticasCarta.Enabled = false; if (ComprobarVencimientos.VencimientoFunciones.Date >= DateTime.Now.Date.AddDays(7)) { MostrarMensaje = true; AnchoFormInformacion += 50; MensajesDeAviso += $"Se vencieron las funcionalidades especificas en el sistema (estadisticas).\r\n\r\n"; } } else if (ComprobarVencimientos.VencimientoFunciones.Date >= DateTime.Now.Date && ComprobarVencimientos.VencimientoFunciones.Date <= DateTime.Now.Date.AddDays(7)) { MostrarMensaje = true; AnchoFormInformacion += 50; MensajesDeAviso += $"Se vencera las funciones especificas del programa (estadisticas)" + $"en {(ComprobarVencimientos.VencimientoFunciones.Date - DateTime.Now.Date).TotalDays} dias.\r\n\r\n"; } if (MostrarMensaje) { using (FrmInformacion FormInformacion = new FrmInformacion(MensajesDeAviso, ClsColores.Blanco, AnchoFormInformacion, 450)) { FormInformacion.ShowDialog(); } } } else { BtnEstadisticasCaja.Enabled = true; BtnEstadisticasDelivery.Enabled = true; BtnEstadisticasGenerales.Enabled = true; BtnEstadisticasReservas.Enabled = true; BtnEstadisticasCarta.Enabled = true; } // Habilitar los botones de los forms si se reinicio el programa y la licencia se actualizo BloquearDesbloquearFuncionalidades(LicenciaExpirada); } else if (InformacionDelError == string.Empty) { MessageBox.Show("Fallo al leer los datos para compobar el vencimiento de las funciones " + "del sistema", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); Close(); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); Close(); } }
private void BtnGuardarCambios_Click(object sender, EventArgs e) { bool DatosValidos = true; string RegistroDeErrores = string.Empty; int AnchoFormInformacion = 100; txtNombreCategoria.Text = txtNombreCategoria.Text.Trim(); if (txtNombreCategoria.Text.Length < 3) { DatosValidos = false; RegistroDeErrores += "El campo 'Nombre' debe tener como minimo 3 caracteres.\r\n\r\n"; AnchoFormInformacion += 50; } if (VerificarCategoriaRepetida(txtNombreCategoria.Text, ID_Categoria)) { DatosValidos = false; RegistroDeErrores += "El nombre de la categoria ya esta en uso.\r\n\r\n"; AnchoFormInformacion += 50; } if (DatosValidos) { txtNombreCategoria.Text = txtNombreCategoria.Text.Substring(0, 1).ToUpper() + txtNombreCategoria.Text.Remove(0, 1).ToLower(); string InformacionDelError = string.Empty; ClsCategoriasArticulos CategoriasArticulos = new ClsCategoriasArticulos(); CategoriaArticulo ActualizarCategoria = CategoriasArticulos.LeerPorNumero(ID_Categoria, ref InformacionDelError); if (ActualizarCategoria != null) { ActualizarCategoria.Nombre = txtNombreCategoria.Text; if (rbnCocinaSi.Checked) { ActualizarCategoria.ParaCocina = (int)ClsCategoriasArticulos.EParaCocina.Si; } else { ActualizarCategoria.ParaCocina = (int)ClsCategoriasArticulos.EParaCocina.No; } ClsDetalles Detalles = new ClsDetalles(); List <Detalle> SeEstaUsuandoLaCategoria = Detalles.LeerListado(-1, ClsDetalles.ETipoDeListado.CategoriaEnUso, ref InformacionDelError, ID_Categoria); if (SeEstaUsuandoLaCategoria.Count == 0) { if (CategoriasArticulos.Actualizar(ActualizarCategoria, ref InformacionDelError) != 0) { DialogResult = DialogResult.OK; Close(); } else if (InformacionDelError != string.Empty) { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"No se puede editar la categoria porque " + $"se esta usando para algun pedido en este momento.", ClsColores.Blanco, 200, 300)) { FormInformacion.ShowDialog(); } } } } else { using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 300)) { FormInformacion.ShowDialog(); } } }
private void BtnAceptar_Click(object sender, EventArgs e) { bool DatosValidos = true; string RegistroDeErrores = string.Empty; int AnchoFormInformacion = 100; txtNombreCategoria.Text = txtNombreCategoria.Text.Trim(); if (txtNombreCategoria.Text.Length < 3) { DatosValidos = false; RegistroDeErrores += "El campo 'Nombre' debe tener como minimo 3 caracteres.\r\n\r\n"; AnchoFormInformacion += 50; } if (VerificarCategoriaRepetida(txtNombreCategoria.Text, ID_Categoria)) { DatosValidos = false; RegistroDeErrores += "El nombre de la categoria ya esta en uso.\r\n\r\n"; AnchoFormInformacion += 50; } if (DatosValidos) { txtNombreCategoria.Text = txtNombreCategoria.Text.Substring(0, 1).ToUpper() + txtNombreCategoria.Text.Remove(0, 1).ToLower(); string InformacionDelError = string.Empty; ClsCategoriasArticulos CategoriasArticulos = new ClsCategoriasArticulos(); CategoriaArticulo NuevaCategoria = new CategoriaArticulo(); NuevaCategoria.Nombre = txtNombreCategoria.Text; NuevaCategoria.ID_EstadoCategoriaArticulo = (int)ClsEstadosCategoriasArticulos.EEstadosCategoriasArticulos.Activo; if (rbnCocinaSi.Checked) { NuevaCategoria.ParaCocina = (int)ClsCategoriasArticulos.EParaCocina.Si; } else { NuevaCategoria.ParaCocina = (int)ClsCategoriasArticulos.EParaCocina.No; } DialogResult Confirmar = DialogResult.Cancel; Confirmar = MessageBox.Show($"¿Estas seguro que quieres crear la categoria '{NuevaCategoria.Nombre}' con esa " + $"seleccion de categoria para cocina (si/no)?", "Aviso", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (Confirmar == DialogResult.OK) { if (CategoriasArticulos.Crear(NuevaCategoria, ref InformacionDelError) != 0) { DialogResult = DialogResult.OK; Close(); } else if (InformacionDelError == string.Empty) { MessageBox.Show("Fallo al crear la categoria", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } else { using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 300)) { FormInformacion.ShowDialog(); } } }
private void BtnPedidoTerminado_Click(object sender, EventArgs e) { tmrActualizaPedidos.Stop(); int TotalDeFilas = dgvListaPedidos.Rows.Count; string InformacionDelError = string.Empty; ClsDetalles Detalles = new ClsDetalles(); ClsPedidos Pedidos = new ClsPedidos(); Pedido ActualizarPedido = new ClsPedidos(); ClsDeliveries Delivery = new ClsDeliveries(); Delivery ActualizarDelivery = new Delivery(); for (int Indice = 0; Indice < TotalDeFilas; Indice++) { //Pregunto si la celda es diferente a null if (dgvListaPedidos.Rows[Indice].Cells[(int)ENumColDGVListaPedidos.Seleccionar].Value != null) { //Casteo el check del objeto a booleano y pregunto si es true if ((bool)dgvListaPedidos.Rows[Indice].Cells[(int)ENumColDGVListaPedidos.Seleccionar].Value) { InformacionDelError = string.Empty; List <Detalle> ActualizarDetalle = Detalles.LeerListado((int)dgvListaPedidos.Rows[Indice].Cells[(int)ENumColDGVListaPedidos.ID_Pedido].Value, ClsDetalles.ETipoDeListado.ParaCocina, ref InformacionDelError); ActualizarPedido = Pedidos.LeerPorNumero((int)dgvListaPedidos.Rows[Indice].Cells[(int)ENumColDGVListaPedidos.ID_Pedido].Value, ref InformacionDelError); if (ActualizarDetalle != null && ActualizarPedido != null) { if (ActualizarPedido.ID_EstadoPedido == (int)ClsEstadosPedidos.EEstadosPedidos.EnProceso) { foreach (Detalle Elemento in ActualizarDetalle) { if (Elemento.ID_EstadoDetalle == (int)ClsEstadoDetalle.EEstadoDetalle.CantidadAumentada) { Elemento.Cantidad += Elemento.CantidadAgregada; Elemento.CantidadAgregada = 0; } Elemento.ID_EstadoDetalle = (int)ClsEstadoDetalle.EEstadoDetalle.YaCocinado; if (Detalles.Actualizar(Elemento, ref InformacionDelError) != 0) { dgvPlatosPorMesa.Rows.Clear(); lblDetallesDelPedido.Text = string.Empty; } else if (InformacionDelError != string.Empty) { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } if (ActualizarPedido.ID_Delivery == null) { ActualizarPedido.TiempoEspera = null; } if (ActualizarPedido.ID_Delivery == null) { ActualizarPedido.ID_EstadoPedido = (int)ClsEstadosPedidos.EEstadosPedidos.ParaEntrega; } else { ActualizarPedido.ID_EstadoPedido = (int)ClsEstadosPedidos.EEstadosPedidos.Entregado; ActualizarDelivery = Delivery.LeerPorNumero(ActualizarPedido.ID_Delivery, ref InformacionDelError); if (ActualizarDelivery != null) { ActualizarDelivery.ID_EstadoDelivery = (int)ClsEstadosDeliveries.EEstadosDeliveries.ParaEntrega; if (Delivery.Actualizar(ActualizarDelivery, ref InformacionDelError) != 0) { FrmPrincipal.ObtenerInstancia().S_tslResultadoOperacion = "Delivery actualizado con exito"; } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al actualizar el delivery"); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al actualizar el delivery"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al actualizar el delivery"); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al actualizar el delivery"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } if (Pedidos.Actualizar(ActualizarPedido, ref InformacionDelError) != 0) { if (ActualizarPedido.ID_Delivery != null && ckbImprimirTicketDelivery.Checked) { ID_PedidoImprimir = ActualizarPedido.ID_Pedido; PtdImprimirTicket = new PrintDocument(); if (ClsComprobarEstadoImpresora.ComprobarEstadoImpresora(PtdImprimirTicket.PrinterSettings.PrinterName)) { PtdImprimirTicket.PrintPage += PrintPageEventHandler; PtdImprimirTicket.Print(); } ID_PedidoImprimir = -1; } PedidosSeleccionados.RemoveAll(I => I == (int)dgvListaPedidos.Rows[Indice].Cells[(int)ENumColDGVListaPedidos.ID_Pedido].Value); lblMostrarNumeroPedido.Text = string.Empty; dgvPlatosPorMesa.Rows.Clear(); dgvListaPedidos.Rows.Remove(dgvListaPedidos.Rows[Indice]); Indice -= 1; TotalDeFilas -= 1; FrmPrincipal.ObtenerInstancia().S_tslResultadoOperacion = "Pedido actualizado"; } else if (InformacionDelError != string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al actualizar el pedido"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"El pedido numero {ActualizarPedido.ID_Pedido}, no se indico como cocinado debido a " + $"que fue retirado de la lista desde otra computadora y no llego a quitarse de esta al momento de indicarlo como terminado. " + $"El pedido sera retirado de la lista al cerrar este mensaje (no se indicara como cocinado).", ClsColores.Blanco, 200, 400)) { FormInformacion.ShowDialog(); } lblMostrarNumeroPedido.Text = string.Empty; dgvPlatosPorMesa.Rows.Clear(); dgvListaPedidos.Rows.Remove(dgvListaPedidos.Rows[Indice]); Indice -= 1; TotalDeFilas -= 1; } } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al actualizar el pedido"); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al actualizar el pedido"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } dgvListaPedidos.ClearSelection(); tmrActualizaPedidos.Start(); }
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(); }
/// <summary>Actualiza el estado del usuario a activo/inactivo.</summary> /// <param name="_EstadoUsuario">Enum que contrendra el numero del tipo de estado.</param> private void ActualizarEstadoUsuario(ClsEstadosUsuarios.EEstadosUsuarios _EstadoUsuario) { ClsUsuarios Usuarios = new ClsUsuarios(); Usuario ActualizarUsuario = new Usuario(); int TotalDeFilas = dgvDatosUsuarios.Rows.Count; for (int Indice = 0; Indice < TotalDeFilas; Indice++) { //Pregunto si la celda es diferente a null if (dgvDatosUsuarios.Rows[Indice].Cells[(int)ENumColDGVUsuarios.Seleccionar].Value != null) { //Casteo el check del objeto a booleano y pregunto si es true if ((bool)dgvDatosUsuarios.Rows[Indice].Cells[(int)ENumColDGVUsuarios.Seleccionar].Value) { string InformacionDelError = string.Empty; // Verificacion de que el usuario no este asignado a una mesa actualmente bool UsuarioConMesaAsignada = false; if (_EstadoUsuario == ClsEstadosUsuarios.EEstadosUsuarios.Inactivo) { UsuarioConMesaAsignada = BuscarUsuariosAtendiendoMesa(Indice); } ActualizarUsuario = Usuarios.LeerPorNumero((int)dgvDatosUsuarios.Rows[Indice].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value, ClsUsuarios.EUsuarioABuscar.PorID, ref InformacionDelError); ActualizarUsuario.ID_EstadoUsuario = (int)_EstadoUsuario; if (!UsuarioConMesaAsignada) { //impedir eliminar perfiles gerentes if (ActualizarUsuario.ID_Perfil != (int)ClsPerfiles.EPerfiles.Gerente) { if (Usuarios.Actualizar(ActualizarUsuario, ref InformacionDelError) != 0) { dgvDatosUsuarios.Rows.Remove(dgvDatosUsuarios.Rows[Indice]); Indice -= 1; TotalDeFilas -= 1; } else if (InformacionDelError == string.Empty) { MessageBox.Show($"Error al intentar eliminar el usuario", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"El usuario '{ActualizarUsuario.Nombre}' no se puede eliminar ya que es un gerente.", ClsColores.Blanco, 150, 300)) { FormInformacion.ShowDialog(); } } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"El usuario '{ActualizarUsuario.Nombre} {ActualizarUsuario.Apellido}' no se puede eliminar ya que " + $"se detecto que esta asignado a una mesa, cambie el usuario que desea eliminar por otro mozo en la " + $"pantalla de mesas e intente nuevamente.", ClsColores.Blanco, 200, 350)) { FormInformacion.ShowDialog(); } } } } } }