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 UiBotonAgregarDetalleInventario_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            InteraccionConUsuarioServicio.MostrarDialogoDeCargando();
            try
            {
                if (!UiDxValidaciones.Validate())
                {
                    return;
                }
                if (InventarioPendienteDeAsignar == null || InventarioPendienteDeAsignar.Count == 0)
                {
                    InteraccionConUsuarioServicio.MensajeErrorDialogo("Debe seleccionar inventario para asignar al proyecto");
                }
                ;

                UsuarioDeseaAsignarInventarioAProyecto?.Invoke(null, new ProyectoArgumento
                {
                    Login        = InteraccionConUsuarioServicio.ObtenerUsuario(),
                    Proyecto     = ProyectoSeleccionado,
                    LicenciasXml = Xml.ConvertListToXml(InventarioPendienteDeAsignar.Where(m => m.IS_SELECTED).ToList())
                });
                VistaTerminoDeEliminar();
                UiVistaProyecto_Click(sender, e);
            }
            catch (Exception ex)
            {
                InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message);
            }
            InteraccionConUsuarioServicio.CerrarDialogoDeCargando();
        }
 private void UiBotonExportarAExcelInventarioReservado_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     InteraccionConUsuarioServicio.MostrarDialogoDeCargando();
     try
     {
         ExportarVista(UiVistaInventarioProyecto, true, ExportarA.Excel);
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message);
     }
     InteraccionConUsuarioServicio.CerrarDialogoDeCargando();
 }
 private void UiBotonNuevoProyecto_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     InteraccionConUsuarioServicio.MostrarDialogoDeCargando();
     try
     {
         LimpiarControles();
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message);
     }
     InteraccionConUsuarioServicio.CerrarDialogoDeCargando();
 }
 private void UiBotonRefrescar_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     InteraccionConUsuarioServicio.MostrarDialogoDeCargando();
     try
     {
         RefrescarVista();
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message);
     }
     InteraccionConUsuarioServicio.CerrarDialogoDeCargando();
 }
 private void ProyectoVista_FormClosing(object sender, FormClosingEventArgs e)
 {
     InteraccionConUsuarioServicio.MostrarDialogoDeCargando();
     try
     {
         GuardarOCargarDiseniosDeControles(this, InteraccionConUsuarioServicio.ObtenerUsuario(), true, GetType().Name);
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message);
     }
     InteraccionConUsuarioServicio.CerrarDialogoDeCargando();
 }
 private void UiBotonEliminarProyecto_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     InteraccionConUsuarioServicio.MostrarDialogoDeCargando();
     try
     {
         if (ProyectoSeleccionado.ID == Guid.Empty)
         {
             return;
         }
         UsuarioDeseaEliminarProyecto?.Invoke(null, new ProyectoArgumento
         {
             Login    = InteraccionConUsuarioServicio.ObtenerUsuario(),
             Proyecto = ProyectoSeleccionado
         });
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo(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();
        }
        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();
        }
        private void UiBotonGrabarProyecto_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            InteraccionConUsuarioServicio.MostrarDialogoDeCargando();
            try
            {
                if (!UiDxValidaciones.Validate())
                {
                    return;
                }
                ProyectoSeleccionado.CUSTOMER_NAME = null;

                ProyectoSeleccionado.OPPORTUNITY_CODE = UiTextoCodigoProyecto.Text;
                ProyectoSeleccionado.OPPORTUNITY_NAME = UiTextoNombreProyecto.Text;
                ProyectoSeleccionado.SHORT_NAME       = UiTextoNombreCortoProyecto.Text;
                ProyectoSeleccionado.OBSERVATIONS     = UIMemoObservacionesProyecto.Text;
                ProyectoSeleccionado.STATUS           = Enums.GetStringValue(EstadoDeProyecto.Creado);
                ProyectoSeleccionado.CUSTOMER_CODE    = UiListaClienteProyecto.EditValue?.ToString();
                if (string.IsNullOrEmpty(ProyectoSeleccionado.CUSTOMER_CODE))
                {
                    InteraccionConUsuarioServicio.MensajeErrorDialogo("Debe seleccionar cliente");
                    return;
                }
                if (!string.IsNullOrEmpty(ProyectoSeleccionado.CUSTOMER_CODE))
                {
                    var clientes = Clientes.FirstOrDefault(c => c.CUSTOMER_CODE == ProyectoSeleccionado.CUSTOMER_CODE);
                    ProyectoSeleccionado.CUSTOMER_NAME  = clientes?.CUSTOMER_NAME;
                    ProyectoSeleccionado.CUSTOMER_OWNER = clientes?.OWNER;
                }
                UsuarioDeseaGrabarProyecto?.Invoke(null, new ProyectoArgumento
                {
                    Login    = InteraccionConUsuarioServicio.ObtenerUsuario(),
                    Proyecto = ProyectoSeleccionado
                });
            }
            catch (Exception ex)
            {
                InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message);
            }
            InteraccionConUsuarioServicio.CerrarDialogoDeCargando();
        }
 private void LimpiarControles()
 {
     InteraccionConUsuarioServicio.MostrarDialogoDeCargando();
     try
     {
         ProyectoSeleccionado = new Proyecto();
         EditarTextoCodigo(UiTextoCodigoProyecto, string.Empty, true);
         UiTextoNombreProyecto.Text       = string.Empty;
         UiTextoNombreCortoProyecto.Text  = string.Empty;
         UIMemoObservacionesProyecto.Text = string.Empty;
         UiListaClienteProyecto.EditValue = null;
         Skus = new List <Material>();
         UiTabInventarioProyecto.PageVisible = false;
         UiTabResumenProyecto.PageVisible    = false;
         InventarioPendienteDeAsignar        = new List <InventarioReservadoProyecto>();
         InventarioAsignadoAProyecto         = new List <InventarioReservadoProyecto>();
         ResumenProyecto = new List <ResumenInventarioProyecto>();
     }
     catch (Exception ex)
     {
         InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message);
     }
     InteraccionConUsuarioServicio.CerrarDialogoDeCargando();
 }