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();
                }
            }
        }
Exemplo n.º 2
0
        private void BtnAplicarFiltro_Click(object sender, EventArgs e)
        {
            FrmRespuesta RespuestaFormulario;

            int ID_TipoDeMonto = 0;
            int ID_Usuario     = 0;

            if (cmbTipoDeMonto.SelectedValue != null)
            {
                TipoDeMonto TipoDemontos = (TipoDeMonto)cmbTipoDeMonto.SelectedItem;
                ID_TipoDeMonto = TipoDemontos.ID_TipoDeMonto;
            }
            else
            {
                cmbTipoDeMonto.SelectedValue = 0;
            }

            if (cmbUsuarios.SelectedValue != null)
            {
                Usuario UsuarioSeleccionado = (Usuario)cmbUsuarios.SelectedItem;
                ID_Usuario = UsuarioSeleccionado.ID_Usuario;
            }
            else
            {
                cmbUsuarios.SelectedValue = 0;
            }

            if (!ckbIncluirFechaDesde.Checked && !ckbIncluirFechaHasta.Checked && ID_Usuario == 0 && ID_TipoDeMonto == 0)
            {
                RespuestaFormulario = new FrmRespuesta($"¿Estas seguro que quieres cargar la caja sin poner una 'fecha desde', 'Fecha hasta', un 'Usuario' y un 'Tipo de monto'? " +
                                                       $"Esto podria demorar en funcion de la cantidad de datos ya que traeria todos los registros.", FrmRespuesta.ETamaño.Pequeño, FrmRespuesta.ETipo.Si_No);
            }
            else if (!ckbIncluirFechaDesde.Checked && ID_Usuario == 0 && ID_TipoDeMonto == 0)
            {
                RespuestaFormulario = new FrmRespuesta($"¿Estas seguro que quieres cargar la caja sin poner una 'fecha desde', un 'Usuario' y un 'Tipo de monto'? " +
                                                       $"Esto podria demorar en funcion de la cantidad de datos ya que traeria todos los registros (hasta la 'fecha hasta' " +
                                                       $"indicada).", FrmRespuesta.ETamaño.Pequeño, FrmRespuesta.ETipo.Si_No);
            }
            else
            {
                RespuestaFormulario = new FrmRespuesta();
            }

            if (RespuestaFormulario.DialogResult == DialogResult.Yes)
            {
                if (ID_TipoDeMonto == 0)
                {
                    cmbTipoDeMonto.Text = "Todos los montos";
                    TextoComboMonto     = "Todos los montos";
                }

                if (ID_Usuario == 0)
                {
                    cmbUsuarios.Text = "Todos los usuarios";
                }

                CargarDGVCaja(ClsCajas.ETipoListado.Filtrado);
            }
        }
        private void btnCerrarSesion_Click(object sender, EventArgs e)
        {
            FrmRespuesta RespuestaFormulario = new FrmRespuesta("¿Esta seguro que desea cerrar sesión?", FrmRespuesta.ETamaño.Pequeño, FrmRespuesta.ETipo.Si_No);

            if (RespuestaFormulario.DialogResult == DialogResult.Yes)
            {
                Close();
            }
        }
        private void picBTNCerrar_Click(object sender, EventArgs e)
        {
            FrmRespuesta RespuestaFormulario = new FrmRespuesta("¿Esta seguro que desea cerrar el programa?", FrmRespuesta.ETamaño.Pequeño, FrmRespuesta.ETipo.Si_No);

            if (RespuestaFormulario.DialogResult == DialogResult.Yes)
            {
                FrmInicioSesion.ObtenerInstancia().S_SeCierraLaAplicacion = true;
                Application.Exit();
            }
        }
Exemplo n.º 5
0
        private void BtnAplicarFiltro_Click(object sender, EventArgs e)
        {
            Segundos = 0;
            Minutos  = 0;

            FrmRespuesta RespuestaFormulario;

            int ID_EstadoEnvio = 0;

            if (cmbEstadoEnvio.SelectedValue != null)
            {
                EstadoDelivery EstadoDeliverySeleccionado = (EstadoDelivery)cmbEstadoEnvio.SelectedItem;
                ID_EstadoEnvio = EstadoDeliverySeleccionado.ID_EstadoDelivery;
                if (EstadoDeliverySeleccionado.ID_EstadoDelivery == 0)
                {
                    cmbEstadoEnvio.Text = "Todos los estados";
                }
            }
            else
            {
                cmbEstadoEnvio.SelectedValue = 0;
            }

            if (!ckbIncluirFechaDesde.Checked && !ckbIncluirFechaHasta.Checked && ID_EstadoEnvio == 0)
            {
                RespuestaFormulario = new FrmRespuesta($"¿Estas seguro que quieres cargar los deliveries sin poner una 'fecha desde', 'fecha hasta', 'nombre del cliente', y un 'EstadoEnvio' ? " +
                                                       $"Esto podria demorar en funcion de la cantidad de datos ya que traeria todos los registros.", FrmRespuesta.ETamaño.Pequeño, FrmRespuesta.ETipo.Si_No);
            }
            else if (!ckbIncluirFechaDesde.Checked && ID_EstadoEnvio == 0)
            {
                RespuestaFormulario = new FrmRespuesta($"¿Estas seguro que quieres cargar los deliveries sin poner una 'fecha desde', y un 'nombre del cliente'? " +
                                                       $"Esto podria demorar en funcion de la cantidad de datos ya que traeria todos los registros (hasta la 'fecha hasta' " +
                                                       $"indicada).", FrmRespuesta.ETamaño.Pequeño, FrmRespuesta.ETipo.Si_No);
            }
            else
            {
                RespuestaFormulario = new FrmRespuesta();
            }

            if (RespuestaFormulario.DialogResult == DialogResult.Yes)
            {
                CargarDGVDelivery(ClsPedidos.ETipoDeListado.FiltroDelivery);
            }
        }
Exemplo n.º 6
0
        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();
                }
            }
        }
Exemplo n.º 7
0
        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();
                }
            }
        }
Exemplo n.º 8
0
        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);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }