private void BtnGuardarCambios_Click(object sender, EventArgs e) { // Validar los datos. bool DatosValidos = true; string RegistroDeErrores = string.Empty; int AnchoFormInformacion = 100; if (ID_Cliente == -1) { DatosValidos = false; RegistroDeErrores += "Debe ingresar un cliente.\r\n\r\n"; AnchoFormInformacion += 50; } if (!ckbRetiraEnElLocal.Checked && txtDireccion.Text.Length < 6) { DatosValidos = false; RegistroDeErrores += "Debe ingresar un minimo de 6 caracteres en la direccion.\r\n\r\n"; AnchoFormInformacion += 50; } if (cmbNombreChef.SelectedItem != null) { ID_Chef = ((Usuario)cmbNombreChef.SelectedItem).ID_Usuario; } else { DatosValidos = false; RegistroDeErrores += "Debe ingresar un chef a cargo del pedido.\r\n\r\n"; AnchoFormInformacion += 50; } if (DatosValidos) { txtDireccion.Text = txtDireccion.Text.Substring(0, 1).ToUpper() + txtDireccion.Text.Remove(0, 1).ToLower(); string InformacionDelError = string.Empty; ClsDeliveries Deliveries = new ClsDeliveries(); Delivery GuardarCambiosDelivery = new Delivery(); ClsPedidos Pedidos = new ClsPedidos(); Pedido GuardarCambioPedido = new Pedido(); GuardarCambioPedido = Pedidos.LeerPorNumero(ID_Pedido, ref InformacionDelError); if (GuardarCambioPedido != null && GuardarCambioPedido.ID_Delivery != null) { GuardarCambiosDelivery = Deliveries.LeerPorNumero(GuardarCambioPedido.ID_Delivery, ref InformacionDelError); if (GuardarCambiosDelivery != null) { GuardarCambioPedido.ID_Cliente = ID_Cliente; GuardarCambioPedido.ID_Chef = ID_Chef; Pedidos.Actualizar(GuardarCambioPedido, ref InformacionDelError); if (txtTelefonoCadete.Text == string.Empty) { GuardarCambiosDelivery.Telefono = null; } else { GuardarCambiosDelivery.Telefono = Convert.ToInt64(txtTelefonoCadete.Text); } if (ckbRetiraEnElLocal.Checked) { GuardarCambiosDelivery.Destino = null; } else { GuardarCambiosDelivery.Destino = txtDireccion.Text; } Deliveries.Actualizar(GuardarCambiosDelivery, ref InformacionDelError); Close(); } else if (InformacionDelError == string.Empty) { MessageBox.Show("Ocurrio un fallo al buscar el delivery", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else if (InformacionDelError == string.Empty) { MessageBox.Show("Ocurrio un fallo al buscar el pedido", "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(); } } }
/// <summary> /// Carga el DGV /// </summary> /// <param name="_TipoDeListado">Indica el tipo de listado que se cargara.</param> /// <param name="_DeliveryEnCocinaYNoEntregado">Si es true, listara los deliveries en cocina y no entregados del dia /// anterior en adelante.</param> private void CargarDGVDelivery(ClsPedidos.ETipoDeListado _TipoDeListado, bool _DeliveryEnCocinaYNoEntregado = false) { dgvDelivery.Rows.Clear(); string InformacionDelError = string.Empty; // Inicio preparacion de filtros ---- string NombreCliente = string.Empty; int ID_EstadoDelivery = 0; if (cmbEstadoEnvio.SelectedValue != null) { EstadoDelivery EstadoDeliverySeleccionado = (EstadoDelivery)cmbEstadoEnvio.SelectedItem; ID_EstadoDelivery = EstadoDeliverySeleccionado.ID_EstadoDelivery; } if (txtBuscarPorNombre.Text != TEXTO_VISUAL_BUSCAR) { NombreCliente = txtBuscarPorNombre.Text; } string FechaDesde = Convert.ToString(dtpFechaDesde.Value.Date); string FechaHasta = Convert.ToString(dtpDechaHasta.Value.Date); if (!ckbIncluirFechaDesde.Checked) { FechaDesde = string.Empty; } if (!ckbIncluirFechaHasta.Checked) { FechaHasta = string.Empty; } // Fin preparacion de filtros ---- ClsPedidos Pedidos = new ClsPedidos(); List <Pedido> CargarDGVDelivery = Pedidos.LeerListado(_TipoDeListado, ref InformacionDelError, FechaDesde, FechaHasta, NombreCliente, ID_EstadoDelivery, _DeliveryEnCocinaYNoEntregado); if (CargarDGVDelivery != null) { foreach (Pedido Elemento in CargarDGVDelivery) { int NumeroDeFila = dgvDelivery.Rows.Add(); dgvDelivery.Columns[(int)ENumColDGVDelivery.ID_Delivery].SortMode = DataGridViewColumnSortMode.NotSortable; dgvDelivery.Columns[(int)ENumColDGVDelivery.ID_Pedido].SortMode = DataGridViewColumnSortMode.NotSortable; dgvDelivery.Columns[(int)ENumColDGVDelivery.Fecha].SortMode = DataGridViewColumnSortMode.NotSortable; dgvDelivery.Columns[(int)ENumColDGVDelivery.Hora].SortMode = DataGridViewColumnSortMode.NotSortable; dgvDelivery.Columns[(int)ENumColDGVDelivery.Nombre].SortMode = DataGridViewColumnSortMode.NotSortable; dgvDelivery.Columns[(int)ENumColDGVDelivery.Apellido].SortMode = DataGridViewColumnSortMode.NotSortable; dgvDelivery.Columns[(int)ENumColDGVDelivery.Telefono].SortMode = DataGridViewColumnSortMode.NotSortable; dgvDelivery.Columns[(int)ENumColDGVDelivery.TelefonoCadete].SortMode = DataGridViewColumnSortMode.NotSortable; dgvDelivery.Columns[(int)ENumColDGVDelivery.DireccionDeDestino].SortMode = DataGridViewColumnSortMode.NotSortable; dgvDelivery.Columns[(int)ENumColDGVDelivery.Pedido].SortMode = DataGridViewColumnSortMode.NotSortable; dgvDelivery.Columns[(int)ENumColDGVDelivery.Estado].SortMode = DataGridViewColumnSortMode.NotSortable; dgvDelivery.Columns[(int)ENumColDGVDelivery.Seleccionar].SortMode = DataGridViewColumnSortMode.NotSortable; dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.ID_Delivery].Value = Elemento.ID_Cliente; dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.ID_Pedido].Value = Elemento.ID_Pedido; dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.Fecha].Value = Elemento.Fecha.ToShortDateString(); dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.Hora].Value = Elemento.Hora.ToString(@"hh\:mm"); dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.Nombre].Value = Elemento.Cliente.Nombre; dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.Apellido].Value = Elemento.Cliente.Apellido; dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.Telefono].Value = Convert.ToString(Elemento.Cliente.Telefono); if (Elemento.Delivery.Telefono == null) { dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.TelefonoCadete].Value = string.Empty; } else { dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.TelefonoCadete].Value = Convert.ToString(Elemento.Delivery.Telefono); } if (Elemento.Delivery.Destino == null) { dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.DireccionDeDestino].Value = ClsDeliveries.DireccionPorDefecto; } else { dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.DireccionDeDestino].Value = Elemento.Delivery.Destino; } dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.Pedido].Value = "Ver"; dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.Estado].Value = Elemento.Delivery.EstadoDelivery.Nombre; dgvDelivery.Rows[NumeroDeFila].Cells[(int)ENumColDGVDelivery.Seleccionar].Value = false; } dgvDelivery.ClearSelection(); UltimaFilaSeleccionada = -1; } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Ocurrio un fallo al cargar la lista"); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Ocurrio un fallo al cargar la lista"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private void BtnDeliveryEntregado_Click(object sender, EventArgs e) { using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.Todos)) { FormValidarUsuario.ShowDialog(); if (FormValidarUsuario.DialogResult == DialogResult.OK) { int TotalDeFilas = dgvDelivery.Rows.Count; for (int Indice = 0; Indice < TotalDeFilas; Indice++) { //Pregunto si la celda es diferente a null if (dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.Seleccionar].Value != null) { //Casteo el check del objeto a booleano y pregunto si es true if ((bool)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.Seleccionar].Value) { string InformacionDelError = string.Empty; ClsPedidos Pedidos = new ClsPedidos(); Pedido VerDelivery = Pedidos.LeerPorNumero((int)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.ID_Delivery].Value, ref InformacionDelError); ClsDetalles Detalles = new ClsDetalles(); if (VerDelivery != null) { if (VerDelivery.Delivery.ID_EstadoDelivery == (int)ClsEstadosDeliveries.EEstadosDeliveries.ParaEntrega) { using (FrmResumenPedido FormResumenDePedido = new FrmResumenPedido((int)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.ID_Pedido].Value, FormValidarUsuario.G_ID_UsuarioQueValido)) { FormResumenDePedido.ShowDialog(); if (FormResumenDePedido.DialogResult == DialogResult.OK) { int TotalDelPedido = 0; List <Detalle> CalcularTotal = Detalles.LeerListado((int)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.ID_Pedido].Value, ClsDetalles.ETipoDeListado.PorIDPedido, ref InformacionDelError); if (CalcularTotal != null) { foreach (Detalle Elemento in CalcularTotal) { TotalDelPedido += Convert.ToInt32(Elemento.Cantidad * Elemento.Articulo.Precio); } VerDelivery.TotalPedido = TotalDelPedido; } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar calcular el total del pedido"); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar calcular el total del pedido"); MessageBox.Show($"Error al intentar calcular el total del pedido {(int)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.ID_Pedido].Value}: {InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } VerDelivery.ID_EstadoPedido = (int)ClsEstadosPedidos.EEstadosPedidos.Finalizado; VerDelivery.TiempoEspera = null; if (Pedidos.Actualizar(VerDelivery, ref InformacionDelError) != 0) { FrmPrincipal.ObtenerInstancia().S_tslResultadoOperacion = "Pedido y delivery finalizado"; ClsDeliveries Deliveries = new ClsDeliveries(); Delivery ActualizarDelivery = new Delivery(); ActualizarDelivery = Deliveries.LeerPorNumero(VerDelivery.Delivery.ID_Delivery, ref InformacionDelError); ActualizarDelivery.ID_EstadoDelivery = (int)ClsEstadosDeliveries.EEstadosDeliveries.Entregado; Deliveries.Actualizar(ActualizarDelivery, ref InformacionDelError); dgvDelivery.Rows.Remove(dgvDelivery.Rows[Indice]); Indice -= 1; TotalDeFilas -= 1; } else if (InformacionDelError != string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al finalizar el delivery"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"No puede editar o eliminar el delivery de {VerDelivery.Cliente.Nombre} {VerDelivery.Cliente.Apellido} " + $"porque ya fue confirmado su estado (eliminado, entregado, etc) o este todavia se encuentra en cocina.", ClsColores.Blanco, 250, 300)) { FormInformacion.ShowDialog(); } } } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al buscar platos sin cocinar"); MessageBox.Show("Ocurrio un fallo al buscar platos sin cocinar", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al buscar platos sin cocinar"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } } } }
private void BtnDeliveryNoRecibido_Click(object sender, EventArgs e) { FrmRespuesta FormRespuesta = new FrmRespuesta($"¿Esta seguro que quiere marcar el pedido del delivery como 'Fallido'? Si selecciona 'si', " + $"se creara un registro del mismo como perdida en caja", FrmRespuesta.ETamaño.Mediano, FrmRespuesta.ETipo.Si_No); if (FormRespuesta.DialogResult == DialogResult.Yes) { int TotalDeFilas = dgvDelivery.Rows.Count; ClsPedidos Pedidos = new ClsPedidos(); Pedido VerDelivery = new Pedido(); ClsDeliveries Deliveries = new ClsDeliveries(); Delivery ActualizarDelivery = null; ClsCajas Cajas = new ClsCajas(); Caja CrearRegistro = null; ClsDetalles Detalle = new ClsDetalles(); List <Detalle> CalcularPerdida = new List <Detalle>(); using (FrmValidarUsuario FormValidarUsuario = new FrmValidarUsuario(FrmValidarUsuario.EFiltroUsuariosAutorizados.Todos)) { FormValidarUsuario.ShowDialog(); if (FormValidarUsuario.DialogResult == DialogResult.OK) { for (int Indice = 0; Indice < TotalDeFilas; Indice++) { //Pregunto si la celda es diferente a null if (dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.Seleccionar].Value != null) { //Casteo el check del objeto a booleano y pregunto si es true if ((bool)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.Seleccionar].Value) { string InformacionDelError = string.Empty; ClsDetalles Detalles = new ClsDetalles(); List <Detalle> BuscarArticuloSinCocinar = Detalles.LeerListado((int)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.ID_Pedido].Value, (int)ClsDetalles.ETipoDeListado.PorIDPedido, ref InformacionDelError); bool FaltanCocinar = false; if (BuscarArticuloSinCocinar != null) { foreach (Detalle Elemento in BuscarArticuloSinCocinar) { if (Elemento.ID_EstadoDetalle == (int)ClsEstadoDetalle.EEstadoDetalle.NoCocinado) { FaltanCocinar = true; break; } } VerDelivery = Pedidos.LeerPorNumero((int)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.ID_Pedido].Value, ref InformacionDelError); if (VerDelivery != null) { if (!FaltanCocinar) { double TotalPerdido = 0; CalcularPerdida = Detalle.LeerListado((int)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.ID_Pedido].Value, ClsDetalles.ETipoDeListado.PorIDPedido, ref InformacionDelError); foreach (Detalle Elemento in CalcularPerdida) { if (Elemento.Articulo.PrecioDelivery != null) { TotalPerdido += Elemento.Cantidad * (double)Elemento.Articulo.PrecioDelivery; } } if (VerDelivery.Delivery.ID_EstadoDelivery == (int)ClsEstadosDeliveries.EEstadosDeliveries.ParaEntrega) { ActualizarDelivery = Deliveries.LeerPorNumero(VerDelivery.Delivery.ID_Delivery, ref InformacionDelError); ActualizarDelivery.ID_EstadoDelivery = (int)ClsEstadosDeliveries.EEstadosDeliveries.NoEntregado; Deliveries.Actualizar(ActualizarDelivery, ref InformacionDelError); VerDelivery.ID_EstadoPedido = (int)ClsEstadosPedidos.EEstadosPedidos.Finalizado; VerDelivery.TiempoEspera = null; int TotalDelPedido = 0; List <Detalle> CalcularTotal = Detalles.LeerListado((int)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.ID_Pedido].Value, ClsDetalles.ETipoDeListado.PorIDPedido, ref InformacionDelError); if (CalcularTotal != null) { foreach (Detalle Elemento in CalcularTotal) { TotalDelPedido += Convert.ToInt32(Elemento.Cantidad * Elemento.Articulo.Precio); } VerDelivery.TotalPedido = TotalDelPedido; } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar calcular el total del pedido"); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar calcular el total del pedido"); MessageBox.Show($"Error al intentar calcular el total del pedido {(int)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.ID_Pedido].Value}: {InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } if (Pedidos.Actualizar(VerDelivery, ref InformacionDelError) != 0) { FrmPrincipal.ObtenerInstancia().S_tslResultadoOperacion = "Pedido y delivery actualizado"; CrearRegistro = new Caja(); CrearRegistro.ID_Usuario = FormValidarUsuario.G_ID_UsuarioQueValido; CrearRegistro.Fecha = DateTime.Today.Date; CrearRegistro.Hora = TimeSpan.Parse(DateTime.Now.ToString(@"HH\:mm\:ss")); CrearRegistro.Monto = TotalPerdido; CrearRegistro.Detalle = "Perdida por delivery no entregado"; CrearRegistro.ID_Pedido = VerDelivery.ID_Pedido; CrearRegistro.ID_TipoDeMonto = (int)ClsTiposDeMontos.ETiposDeMontos.EgresoDelivery; CrearRegistro.ID_EstadoCaja = (int)ClsEstadosCajas.EEstadosCajas.Activo; if (Cajas.Crear(CrearRegistro, ref InformacionDelError) != 0) { dgvDelivery.Rows.Remove(dgvDelivery.Rows[Indice]); Indice -= 1; TotalDeFilas -= 1; } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al crear el registro de perdida en caja"); MessageBox.Show($"Fallo al crear el registro de perdida en caja", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al crear el registro de perdida en caja"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else if (InformacionDelError != string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al marcar el delivery como no recibido"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"No puede editar o eliminar el delivery de {VerDelivery.Cliente.Nombre} {VerDelivery.Cliente.Apellido} " + $"porque ya fue confirmado su estado o fue eliminado.", ClsColores.Blanco, 250, 300)) { FormInformacion.ShowDialog(); } } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"No puede marcar como 'No entregado' el delivery de {VerDelivery.Cliente.Nombre} {VerDelivery.Cliente.Apellido} porque falta que " + $"cocina marque los platos del pedido como finalizados (solo se puede marcar esta opcion si " + $"ya fueron cocinados los platos y nadie pago el delivery).", ClsColores.Blanco, 250, 300)) { FormInformacion.ShowDialog(); } } } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al marcar el delivery como no recibido"); MessageBox.Show("Ocurrio un fallo al marcar el delivery como no recibido", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al marcar el delivery como no recibido"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } } } } } }
private void BtnEliminarElementos_Click(object sender, EventArgs e) { int TotalDeFilas = dgvDelivery.Rows.Count; for (int Indice = 0; Indice < TotalDeFilas; Indice++) { //Pregunto si la celda es diferente a null if (dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.Seleccionar].Value != null) { //Casteo el check del objeto a booleano y pregunto si es true if ((bool)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.Seleccionar].Value) { string InformacionDelError = string.Empty; ClsPedidos Pedidos = new ClsPedidos(); Pedido VerDelivery = new Pedido(); VerDelivery = Pedidos.LeerPorNumero((int)dgvDelivery.Rows[Indice].Cells[(int)ENumColDGVDelivery.ID_Pedido].Value, ref InformacionDelError); if (VerDelivery != null) { if (VerDelivery.Delivery.ID_EstadoDelivery == (int)ClsEstadosDeliveries.EEstadosDeliveries.EnCocina) { ClsDeliveries Delivery = new ClsDeliveries(); Delivery ActualizarDelivery = Delivery.LeerPorNumero(VerDelivery.ID_Delivery, ref InformacionDelError); ActualizarDelivery.ID_EstadoDelivery = (int)ClsEstadosDeliveries.EEstadosDeliveries.Eliminado; VerDelivery.ID_EstadoPedido = (int)ClsEstadosPedidos.EEstadosPedidos.Eliminado; VerDelivery.TiempoEspera = null; if (Pedidos.Actualizar(VerDelivery, ref InformacionDelError) != 0) { if (Delivery.Actualizar(ActualizarDelivery, ref InformacionDelError) != 0) { FrmPrincipal.ObtenerInstancia().S_tslResultadoOperacion = "Pedido y delivery eliminado"; dgvDelivery.Rows.Remove(dgvDelivery.Rows[Indice]); Indice -= 1; TotalDeFilas -= 1; } } else if (InformacionDelError != string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al eliminar el delivery"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"No puede editar o eliminar el delivery " + $"porque ya fue confirmado su estado o fue eliminado.", ClsColores.Blanco, 250, 300)) { FormInformacion.ShowDialog(); } } } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al eliminar el delivery"); MessageBox.Show("Ocurrio un fallo al eliminar el delivery", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al eliminar el delivery"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } }
private void CrearDetalle(int _ID_Pedido, int _ID_Delivery) { string InformacionDelError = string.Empty; ClsDetalles Detalles = new ClsDetalles(); Detalle CrearDetalle = new Detalle(); ClsArticulos Articulos = new ClsArticulos(); int TotalDeArticulos = ID_Articulos.Count; bool HuboError = false; for (int Contador = 0; Contador < TotalDeArticulos; Contador++) { CrearDetalle.ID_Pedido = _ID_Pedido; CrearDetalle.ID_Articulo = ID_Articulos.First(); CrearDetalle.ID_Chef = ID_Chef; CrearDetalle.Cantidad = CantidadPorArticulo.First(); CrearDetalle.Nota = null; CrearDetalle.Precio = null; if ((int)ClsCategoriasArticulos.EParaCocina.Si == Articulos.LeerPorNumero(ID_Articulos.First(), ref InformacionDelError).CategoriaArticulo.ParaCocina) { CrearDetalle.ID_EstadoDetalle = (int)ClsEstadoDetalle.EEstadoDetalle.NoCocinado; } else { CrearDetalle.ID_EstadoDetalle = (int)ClsEstadoDetalle.EEstadoDetalle.YaCocinado; } CrearDetalle.CantidadAgregada = 0; CrearDetalle.ID_ArticuloEntregado = (int)ClsArticulosEntregados.EArticuloEntregado.NoEntregado; if (Detalles.Crear(CrearDetalle, ref InformacionDelError) != 0) { ID_Articulos.Remove(ID_Articulos.First()); CantidadPorArticulo.Remove(CantidadPorArticulo.First()); } else if (InformacionDelError != string.Empty) { HuboError = true; ClsDeliveries Deliveries = new ClsDeliveries(); Delivery EliminarDelivery = new Delivery(); ClsPedidos Pedidos = new ClsPedidos(); Pedido BorrarPedido = new Pedido(); List <Detalle> EliminarDetalle = Detalles.LeerListado(_ID_Pedido, ClsDetalles.ETipoDeListado.PorIDPedido, ref InformacionDelError); Deliveries.Borrar(_ID_Delivery, ref InformacionDelError); Pedidos.Borrar(_ID_Pedido, ref InformacionDelError); if (EliminarDetalle != null) { foreach (Detalle Elemento in EliminarDetalle) { Detalles.Borrar(Elemento.ID_Detalle, ref InformacionDelError); } } MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); break; } } // No hubo error en la creacion de los detalles, confirmar y cerrar. if (!HuboError) { DialogResult = DialogResult.OK; Close(); } }