private void UiVistaProyecto_Click(object sender, EventArgs e)
 {
     InteraccionConUsuarioServicio.MostrarDialogoDeCargando();
     try
     {
         var indice = UiVistaProyecto.FocusedRowHandle;
         if (indice < 0)
         {
             return;
         }
         var registro = (Proyecto)UiVistaProyecto.GetRow(indice);
         ProyectoSeleccionado = registro;
         EditarTextoCodigo(UiTextoCodigoProyecto, ProyectoSeleccionado.OPPORTUNITY_CODE, false);
         UiTextoNombreProyecto.Text       = ProyectoSeleccionado.OPPORTUNITY_NAME;
         UiTextoNombreCortoProyecto.Text  = ProyectoSeleccionado.SHORT_NAME;
         UIMemoObservacionesProyecto.Text = ProyectoSeleccionado.OBSERVATIONS;
         UiListaClienteProyecto.EditValue = ProyectoSeleccionado.CUSTOMER_CODE;
         UsuarioDeseaObtenerProductos?.Invoke(null, null);
         UsuarioDeseaObtenerInventarioReservado?.Invoke(sender, new ProyectoArgumento {
             Proyecto = ProyectoSeleccionado
         });
         UiTabInventarioProyecto.PageVisible = true;
         UiTabResumenProyecto.PageVisible    = true;
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.Mensaje(ex.Message);
     }
     InteraccionConUsuarioServicio.CerrarDialogoDeCargando();
 }
        private void UiBotonEliminarInventario_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            InteraccionConUsuarioServicio.MostrarDialogoDeCargando();
            try
            {
                if (InventarioAsignadoAProyecto == null || InventarioAsignadoAProyecto.Where(m => m.IS_SELECTED).ToList().Count == 0)
                {
                    InteraccionConUsuarioServicio.MensajeErrorDialogo("Debe seleccionar el inventario a eliminar");
                    return;
                }

                foreach (var inventory in InventarioAsignadoAProyecto.Where(m => m.IS_SELECTED).ToList())
                {
                    if (inventory.RESERVED_PICKING > 0 || inventory.QTY_DISPATCHED > 0)
                    {
                        InteraccionConUsuarioServicio.MensajeErrorDialogo("No se puede realizar la acción, inventario despachado o reservado para picking.");
                        return;
                    }
                }

                if (ProyectoSeleccionado == null || ProyectoSeleccionado.ID == Guid.Empty)
                {
                    return;
                }
                UsuarioDeseaEliminarInventarioDeProyecto?.Invoke(null, new ProyectoArgumento
                {
                    Login        = InteraccionConUsuarioServicio.ObtenerUsuario(),
                    Proyecto     = ProyectoSeleccionado,
                    LicenciasXml = Xml.ConvertListToXml(InventarioAsignadoAProyecto.Where(m => m.IS_SELECTED).ToList())
                });
                UsuarioDeseaObtenerInventarioReservado?.Invoke(sender, new ProyectoArgumento {
                    Proyecto = ProyectoSeleccionado
                });
            }
            catch (Exception ex)
            {
                InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message);
            }
            InteraccionConUsuarioServicio.CerrarDialogoDeCargando();
        }