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 UiLista_Properties_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            InteraccionConUsuarioServicio.MostrarDialogoDeCargando();
            try
            {
                if (e.Button.Tag == null)
                {
                    return;
                }
                switch (e.Button.Tag.ToString())
                {
                case "UiBtnRefrescarClientesProyecto":
                    UsuarioDeseaObtenerClientesErp?.Invoke(null, null);
                    break;

                case "UiBtnRefrescarMateriales":
                    if (ProyectoSeleccionado.ID == Guid.Empty)
                    {
                        return;
                    }
                    UsuarioDeseaObtenerProductos?.Invoke(null, null);
                    break;

                case "UiBtnRefrescarInventarioDisponible":
                    if (ProyectoSeleccionado.ID == Guid.Empty)
                    {
                        return;
                    }
                    UsuarioDeseaObtenerInventarioDisponible?.Invoke(sender, new ProyectoArgumento {
                        Proyecto = ProyectoSeleccionado, Login = InteraccionConUsuarioServicio.ObtenerUsuario()
                    });
                    break;
                }
            }
            catch (Exception ex)
            {
                InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message);
            }
            InteraccionConUsuarioServicio.CerrarDialogoDeCargando();
        }