private bool ValidarFechasYCliente()
        {
            var resultado = false;

            UiError.SetError(UiListaCliente, "", ErrorType.None);

            if (UiListaCliente.EditValue == null)
            {
                UiError.SetError(UiListaCliente, "Seleccione un cliente");
                resultado = true;
            }


            if (UiFechaInicio.EditValue == null || UiFechaFinal.EditValue == null)
            {
                InteraccionConUsuarioServicio.Mensaje("Las fechas no pueden ir vacías.");
                return(true);
            }

            if (Convert.ToDateTime(UiFechaInicio.EditValue.ToString()) > Convert.ToDateTime(UiFechaFinal.EditValue))
            {
                InteraccionConUsuarioServicio.Mensaje("La fecha de inicio debe ser menor a la fecha final.");
                return(true);
            }

            return(resultado);
        }
        private bool ValidarAlAgregarDocDet(bool validarTipoDeRecepcion)
        {
            var resultado = false;

            try
            {
                UiError.SetError(UiListaCliente, "", ErrorType.None);
                UiError.SetError(UiListaAcuerdoComercial, "", ErrorType.None);
                UiError.SetError(UiListaPolizasDeSeguro, "", ErrorType.None);
                UiError.SetError(UiListaOperador, "", ErrorType.None);
                //UiError.SetError(UiListaUbicacion, "", ErrorType.None);
                UiError.SetError(UiListaTipoRecepcion, "", ErrorType.None);
                UiError.SetError(UiListaPrioridad, "", ErrorType.None);


                if (UiListaCliente.EditValue == null)
                {
                    UiError.SetError(UiListaCliente, "Campo Obligatorio");
                    resultado = true;
                }

                if (UiListaAcuerdoComercial.EditValue == null)
                {
                    UiError.SetError(UiListaAcuerdoComercial, "Campo Obligatorio");
                    resultado = true;
                }

                if (UiListaPolizasDeSeguro.EditValue == null)
                {
                    UiError.SetError(UiListaPolizasDeSeguro, "Campo Obligatorio");
                    resultado = true;
                }

                if (UiListaOperador.EditValue == null)
                {
                    UiError.SetError(UiListaOperador, "Campo Obligatorio");
                    resultado = true;
                }

                if (validarTipoDeRecepcion && UiListaTipoRecepcion.EditValue == null)
                {
                    UiError.SetError(UiListaTipoRecepcion, "Campo Obligatorio");
                    resultado = true;
                }

                if (UiListaPrioridad.EditValue == null)
                {
                    UiError.SetError(UiListaPrioridad, "Campo Obligatorio");
                    resultado = true;
                }
            }
            catch (Exception ex)
            {
                InteraccionConUsuarioServicio.Mensaje(ex.Message);
            }
            return(resultado);
        }
        private bool ValidarCliente()
        {
            UiError.SetError(UiListaCliente, "", ErrorType.None);

            if (UiListaCliente.EditValue != null)
            {
                return(true);
            }
            UiError.SetError(UiListaCliente, "Seleccione un cliente");
            return(false);
        }
        public void GetFactura(object sender)
        {
            UiError.SetError(UiListaCliente, "", ErrorType.None);

            if (!ValidarAlAgregarDocDet(false))
            {
                UsuarioDeseaObtenerFacturaParaDevolucion?.Invoke(sender,
                                                                 new DocumentoRecepcionERPArgumento
                {
                    DocumentoRecepcionERP =
                        new DocumentoRecepcionErpEncabezado
                    {
                        DOC_NUM            = UiTextoNumeroDeFactura.Text,
                        EXTERNAL_SOURCE_ID =
                            FuenteExterna.First(fe => fe.CLIENT_CODE == UiListaCliente.EditValue.ToString())
                            .EXTERNAL_SOURCE_ID,
                        OWNER = UiListaCliente.EditValue.ToString()
                    }
                    ,
                    DocumentoRecepcionErpDetalle = new DocumentoRecepcionErpDetalle
                    {
                        LOGIN_ID = UiListaOperador.EditValue?.ToString() ?? ""
                        ,
                        LOCATION_SPOT = UiListaUbicacion.EditValue?.ToString() ?? ""
                        ,
                        TYPE_RECEPCTION = (Enums.GetStringValue((FuenteDeRecepcionDeErp)UiBarFuente.EditValue) == Enums.GetStringValue(FuenteDeRecepcionDeErp.OrdenDeCompra) ? UiListaTipoRecepcion.EditValue.ToString() : "DEVOLUCION_FACTURA")
                        ,
                        TYPE_RECEPCTION_DRESCRIPTION = (Enums.GetStringValue((FuenteDeRecepcionDeErp)UiBarFuente.EditValue) == Enums.GetStringValue(FuenteDeRecepcionDeErp.OrdenDeCompra) ? UiListaTipoRecepcion.Text : "DEVOLUCION_FACTURA")
                        ,
                        PRIORITY = Convert.ToInt32(UiListaPrioridad.EditValue)
                        ,
                        PRIORITY_DESCRIPTION = UiListaPrioridad.Text
                        ,
                        TRADE_AGREEMENT_ID = Convert.ToInt32(UiListaAcuerdoComercial.EditValue)
                        ,
                        TRADE_AGREEMENT_DESCRIPTION = UiListaAcuerdoComercial.Text
                        ,
                        CLIENT_CODE = UiListaCliente.EditValue.ToString()
                        ,
                        INSURANCE_DOC_ID = UiListaPolizasDeSeguro.EditValue.ToString()
                        ,
                        INSURANCE_DOC_DESCRIPTION = UiListaPolizasDeSeguro.Text
                        ,
                        SOURCE = Enums.GetStringValue((FuenteDeRecepcionDeErp)UiBarFuente.EditValue)
                    }
                });
                //UiTextoNumeroDeFactura.Text = "";
            }
        }
        private bool ValidarCargaMateriales()
        {
            var resultado = false;

            UiError.SetError(UiListaBodegaOrigen, string.Empty, ErrorType.None);


            if (UiListaBodegaOrigen.EditValue == null)
            {
                UiError.SetError(UiListaBodegaOrigen, "Campo Obligatorio");
                resultado = true;
            }

            return(resultado);
        }
        private bool ValidarCamposGuardar()
        {
            var resultado = false;

            UiError.SetError(UiListaBodegaOrigen, string.Empty, ErrorType.None);


            if (UiListaBodegaOrigen.EditValue == null)
            {
                UiError.SetError(UiListaBodegaOrigen, "Campo Obligatorio");
                resultado = true;
            }
            if (UiListaBodegaDestino.EditValue == null)
            {
                UiError.SetError(UiListaBodegaDestino, "Campo Obligatorio");
                resultado = true;
            }
            if (UiFechaEntrega.EditValue == null)
            {
                UiError.SetError(UiFechaEntrega, "Campo Obligatorio");
                resultado = true;
            }
            if (UiListaTipo.EditValue == null)
            {
                UiError.SetError(UiListaTipo, "Campo Obligatorio");
                resultado = true;
            }
            if (UiFechaEntrega.DateTime < DateTime.Now.Date)
            {
                InteraccionConUsuarioServicio.Mensaje("La fecha de entrega del documento no puede ser menor a la del día.");
                resultado = true;
            }
            if (UiListaBodegaDestino.EditValue != null && UiListaBodegaOrigen.EditValue != null)
            {
                var bodDestino = UiListaBodegaDestino.Text;
                var bodOrigen  = UiListaBodegaOrigen.Text;
                if (bodDestino == bodOrigen)
                {
                    InteraccionConUsuarioServicio.Mensaje("La bodega origen y destino no pueden ser las mismas.");
                    resultado = true;
                }
            }

            return(resultado);
        }