public void EstablecerTipoAdjunto(ETipoAdjunto tipo)
 {
     ucCatalogoDocumentosTenencia.TipoAdjunto = tipo;
 }
Exemple #2
0
 public void EstablecerTipoAdjunto(ETipoAdjunto tipo)
 {
     ucCatalogoDocumentosTramites.TipoAdjunto = tipo;
 }
 public void EstablecerTipoAdjunto(ETipoAdjunto tipo)
 {
     ucCatalogoDocumentosVerificacion.TipoAdjunto = tipo;
 }
        /// <summary>
        /// Obtiene los datos de la Vista
        /// </summary>
        /// <returns></returns>
        private object InterfazUsuarioADato()
        {
            UnidadOperativaBO unidadOperativa = new UnidadOperativaBO();

            unidadOperativa.Empresa = new EmpresaBO();

            if (this.vista.UnidadOperativaID != null)
            {
                unidadOperativa.Id = this.vista.UnidadOperativaID;
            }

            if (this.vista.UnidadOperativaNombre != null)
            {
                unidadOperativa.Nombre = vista.UnidadOperativaNombre;
            }

            if (this.presentadorDatosContrato.Vista.NombreEmpresa != null)
            {
                unidadOperativa.Empresa.Nombre = this.presentadorDatosContrato.Vista.NombreEmpresa;
            }

            ContratoPSLBO bo = new ContratoPSLBO();

            bo.Cliente = new CuentaClienteIdealeaseBO()
            {
                Cliente = new ClienteBO(), UnidadOperativa = new UnidadOperativaBO()
            };
            bo.Divisa = new DivisaBO()
            {
                MonedaDestino = new MonedaBO()
            };
            bo.Sucursal = new SucursalBO()
            {
                UnidadOperativa = new UnidadOperativaBO()
            };
            bo.LineasContrato = new List <ILineaContrato>();
            bo.Operador       = new OperadorBO()
            {
                Direccion = new DireccionPersonaBO()
                {
                    Ubicacion = new UbicacionBO()
                    {
                        Ciudad = new CiudadBO(), Estado = new EstadoBO(), Municipio = new MunicipioBO(), Pais = new PaisBO()
                    }
                }
            };
            bo.Operador.Licencia = new LicenciaBO();
            bo.TasaInteres       = this.presentadorDatosContrato.Vista.TasaInteres;

            //Configuración de días a cobrar
            bo.IncluyeSD = this.vista.IncluyeSD;

            if (this.vista.SucursalSeleccionada != null)
            {
                bo.Sucursal.Id     = this.vista.SucursalSeleccionada.Id;
                bo.Sucursal.Nombre = this.vista.SucursalSeleccionada.Nombre;
            }

            bo.Sucursal.UnidadOperativa = unidadOperativa;
            bo.Cliente.UnidadOperativa  = unidadOperativa;

            if (this.vista.CuentaClienteID != null)
            {
                bo.Cliente.Id = this.vista.CuentaClienteID;
            }
            if (vista.CuentaClienteNombre != null)
            {
                bo.Cliente.Nombre = vista.CuentaClienteNombre;
            }
            bo.Cliente.Cliente.RFC    = vista.ClienteRFC;
            bo.Cliente.Cliente.Fisica = vista.ClienteEsFisica;
            bo.Cliente.Numero         = vista.CuentaClienteNumeroCuenta;

            if (this.vista.CodigoMoneda != null)
            {
                bo.Divisa.MonedaDestino.Codigo = this.vista.CodigoMoneda;
            }
            if (this.vista.RepresentantesLegales != null)
            {
                bo.RepresentantesLegales = this.vista.RepresentantesLegales.ConvertAll(s => (PersonaBO)s);
            }
            bo.SoloRepresentantes = vista.SoloRepresentantes;
            bo.Avales             = vista.Avales;
            #region Dirección del Cliente
            DireccionClienteBO direccion = new DireccionClienteBO
            {
                Ubicacion =
                    new UbicacionBO
                {
                    Pais = new PaisBO {
                        Codigo = this.vista.ClienteDireccionPais
                    },
                    Municipio = new MunicipioBO {
                        Codigo = this.vista.ClienteDireccionMunicipio
                    },
                    Estado = new EstadoBO {
                        Codigo = this.vista.ClienteDireccionEstado
                    },
                    Ciudad = new CiudadBO {
                        Codigo = this.vista.ClienteDireccionCiudad
                    }
                },
                CodigoPostal = this.vista.ClienteDireccionCodigoPostal,
                Calle        = this.vista.ClienteDireccionCalle,
                Colonia      = this.vista.ClienteDireccionColonia,
                Id           = this.vista.ClienteDireccionId
            };
            bo.Cliente.RemoverDirecciones();
            bo.Cliente.Agregar(direccion);
            #endregion


            if (this.vista.FechaContrato != null)
            {
                bo.FechaContrato = this.vista.FechaContrato;
            }

            if (this.vista.FechaInicioActual != null)
            {
                bo.FechaInicioActual        = this.vista.FechaInicioActual;
                bo.FechaInicioArrendamiento = this.vista.FechaInicioActual;
            }

            if (this.vista.FechaPromesaActual != null)
            {
                bo.FechaPromesaActual     = this.vista.FechaPromesaActual;
                bo.FechaPromesaDevolucion = this.vista.FechaPromesaActual;
            }

            if (this.vista.FormaPagoID != null)
            {
                bo.FormaPago = (EFormaPago)Enum.Parse(typeof(EFormaPago), this.vista.FormaPagoID.ToString());
            }
            if (this.vista.FrecuenciaFacturacionID != null)
            {
                bo.FrecuenciaFacturacion = (EFrecuencia)Enum.Parse(typeof(EFrecuencia), this.vista.FrecuenciaFacturacionID.ToString());
            }
            if (this.vista.AutorizadorTipoConfirmacion != null)
            {
                bo.AutorizadorTipoConfirmacion = this.vista.AutorizadorTipoConfirmacion;
            }
            if (this.vista.AutorizadorOrdenCompra != null)
            {
                bo.AutorizadorOrdenCompra = this.vista.AutorizadorOrdenCompra;
            }
            if (this.vista.DestinoAreaOperacion != null)
            {
                bo.DestinoAreaOperacion = this.vista.DestinoAreaOperacion;
            }
            if (this.vista.MercanciaTransportar != null)
            {
                bo.MercanciaTransportar = this.vista.MercanciaTransportar;
            }
            if (this.vista.TipoConfirmacionID != null)
            {
                bo.TipoConfirmacion = (ETipoConfirmacion)Enum.Parse(typeof(ETipoConfirmacion), this.vista.TipoConfirmacionID.ToString());
            }

            if (this.vista.Observaciones != null)
            {
                bo.Observaciones = this.vista.Observaciones;
            }

            if (this.vista.DiasFacturar != null)
            {
                bo.DiasFacturar = this.vista.DiasFacturar;
            }

            if (this.vista.EstatusID != null)
            {
                bo.Estatus = (EEstatusContrato)Enum.Parse(typeof(EEstatusContrato), this.vista.EstatusID.ToString());
            }
            if (this.vista.FC != null)
            {
                bo.FC = this.vista.FC;
            }
            if (this.vista.UC != null)
            {
                bo.UC = this.vista.UC;
            }
            if (this.vista.FUA != null)
            {
                bo.FUA = this.vista.FUA;
            }
            if (this.vista.UUA != null)
            {
                bo.UUA = this.vista.UUA;
            }

            if (!string.IsNullOrWhiteSpace(this.vista.ClaveProductoServicio))
            {
                if (bo.ProductoServicio == null)
                {
                    bo.ProductoServicio = new ProductoServicioBO();
                }
                bo.ProductoServicio.Id          = this.vista.ProductoServicioId;
                bo.ProductoServicio.NombreCorto = this.vista.ClaveProductoServicio;
                bo.ProductoServicio.Nombre      = this.vista.DescripcionProductoServicio;
            }

            //Se define el tipo de contrato como RE, posteriormente se validará las unidades y en caso que todas sean de tipo RE
            //Se define el tipo de contrato como RE en caso de haber unidades RO y RE o solo RO, el contrato será RO.
            bo.Tipo = ETipoContrato.RE;

            #region ConfiguracionUO.PorcentajeSeguro
            decimal? porcentajeSeguro = 0;
            ModuloBR configBR         = new ModuloBR();
            ConfiguracionUnidadOperativaBO configBO = new ConfiguracionUnidadOperativaBO()
            {
                UnidadOperativa = new UnidadOperativaBO()
                {
                    Id = this.vista.UnidadOperativaID
                }
            };
            List <ConfiguracionUnidadOperativaBO> listConfigUO = new List <ConfiguracionUnidadOperativaBO>();
            listConfigUO = configBR.ConsultarConfiguracionUnidadOperativa(dctx, configBO, this.vista.ModuloID);
            if (listConfigUO != null && listConfigUO.Count > 0)
            {
                porcentajeSeguro = listConfigUO[0].PorcentajeSeguro != null ? listConfigUO[0].PorcentajeSeguro : 0;
            }
            #endregion
            #region Linea de Contrato
            LineaContratoPSLBO lineaBO = null;
            foreach (LineaContratoPSLBO linea in this.vista.LineasContrato)
            {
                lineaBO = new LineaContratoPSLBO();

                lineaBO.Equipo = (UnidadBO)linea.Equipo;

                lineaBO.TipoTarifa = linea.TipoTarifa;

                lineaBO.Cobrable = new TarifaContratoPSLBO
                {
                    PeriodoTarifa             = ((TarifaContratoPSLBO)linea.Cobrable).PeriodoTarifa,
                    Tarifa                    = ((TarifaContratoPSLBO)linea.Cobrable).Tarifa,
                    TarifaHrAdicional         = ((TarifaContratoPSLBO)linea.Cobrable).TarifaHrAdicional,
                    TarifaTurno               = ((TarifaContratoPSLBO)linea.Cobrable).TarifaTurno,
                    Maniobra                  = ((TarifaContratoPSLBO)linea.Cobrable).Maniobra,
                    TarifaPSLID               = ((TarifaContratoPSLBO)linea.Cobrable).TarifaPSLID,
                    DuracionDiasPeriodo       = ((TarifaContratoPSLBO)linea.Cobrable).DuracionDiasPeriodo,
                    MaximoHrsTurno            = ((TarifaContratoPSLBO)linea.Cobrable).MaximoHrsTurno,
                    Activo                    = true,
                    PorcentajeDescuento       = ((TarifaContratoPSLBO)linea.Cobrable).PorcentajeDescuento,
                    PorcentajeDescuentoMaximo = ((TarifaContratoPSLBO)linea.Cobrable).PorcentajeDescuentoMaximo,
                    EtiquetaDescuento         = ((TarifaContratoPSLBO)linea.Cobrable).EtiquetaDescuento,
                    TarifaConDescuento        = ((TarifaContratoPSLBO)linea.Cobrable).TarifaConDescuento,
                    PorcentajeSeguro          = porcentajeSeguro
                };
                lineaBO.Activo   = linea.Activo;
                lineaBO.Devuelta = linea.Devuelta;
                lineaBO.LineaOrigenIntercambioID = linea.LineaOrigenIntercambioID;

                //Si el tipo de contrato es RO, significa que ya paso al menos por aquí y no será necesario realizar las validaciones de nuevo
                if (bo.Tipo != ETipoContrato.RO)
                {
                    switch (vista.UnidadOperativaID)
                    {
                    case (int)ETipoEmpresa.Construccion:
                        if ((EAreaConstruccion)((UnidadBO)linea.Equipo).Area == EAreaConstruccion.RO)
                        {
                            bo.Tipo = ETipoContrato.RO;
                        }
                        break;

                    case (int)ETipoEmpresa.Generacion:
                        if ((EAreaGeneracion)((UnidadBO)linea.Equipo).Area == EAreaGeneracion.RO)
                        {
                            bo.Tipo = ETipoContrato.RO;
                        }
                        break;

                    case (int)ETipoEmpresa.Equinova:
                        if ((EAreaEquinova)((UnidadBO)linea.Equipo).Area == EAreaEquinova.RO)
                        {
                            bo.Tipo = ETipoContrato.RO;
                        }
                        break;

                    default:
                        break;
                    }
                }

                bo.LineasContrato.Add(lineaBO);
            }

            //bo.LineasContrato = this.vista.LineasContrato.ConvertAll(s => (ILineaContrato)s);
            #endregion

            #region Archivos Adjuntos
            //Validamos el tipo de documento adjunto
            ETipoAdjunto tipoAdjunto = ETipoAdjunto.ContratoRO;
            //Validamos el tipo de documento adjunto
            switch (bo.Tipo)
            {
            case ETipoContrato.RO:
                tipoAdjunto = ETipoAdjunto.ContratoRO;
                break;

            case ETipoContrato.RE:
                tipoAdjunto = ETipoAdjunto.ContratoRE;
                break;

            case ETipoContrato.ROC:
                tipoAdjunto = ETipoAdjunto.ContratoROC;
                break;
            }
            List <ArchivoBO> adjuntos = presentadorDocumentos.Vista.ObtenerArchivos() ?? new List <ArchivoBO>();
            foreach (ArchivoBO adjunto in adjuntos)
            {
                adjunto.TipoAdjunto = tipoAdjunto;
                adjunto.Auditoria   = new AuditoriaBO
                {
                    FC  = this.vista.FC,
                    UC  = this.vista.UC,
                    FUA = this.vista.FUA,
                    UUA = this.vista.UUA
                };
            }
            bo.DocumentosAdjuntos = adjuntos;
            #endregion

            return(bo);
        }