protected void ImprimirReporte(Dictionary <string, Object> datos, XmlDocument documento) { try { #region Obtener Formato del XML string leyendaCondiciones = string.Empty; string leyendaCargoCombustible = string.Empty; string leyendaBitacora = string.Empty; string leyendaSeguro = string.Empty; string leyendaArrendatarios = string.Empty; string leyendaOperacion = string.Empty; string leyendaInspeccion = string.Empty; string leyendaTitulo = string.Empty; string numeroPlaca = string.Empty; string direccionSuc = string.Empty; string telefonoUO = string.Empty; string direccionUO = string.Empty; XmlNodeList textoCondiciones = documento.GetElementsByTagName("condiciones"); if (textoCondiciones.Count < 1) { throw new Exception("el formato del archivo XML es incorrecto"); } leyendaCondiciones = textoCondiciones[0].InnerText; XmlNodeList textoCargoCombustible = documento.GetElementsByTagName("cargoCombustible"); if (textoCargoCombustible.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaCargoCombustible = textoCargoCombustible[0].InnerText; XmlNodeList textoBitacora = documento.GetElementsByTagName("bitacora"); if (textoBitacora.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaBitacora = textoBitacora[0].InnerText; XmlNodeList textoSeguro = documento.GetElementsByTagName("seguro"); if (textoSeguro.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaSeguro = textoSeguro[0].InnerText; XmlNodeList textoArrendatarios = documento.GetElementsByTagName("arrendatarios"); if (textoArrendatarios.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaArrendatarios = textoArrendatarios[0].InnerText; XmlNodeList textoOperacion = documento.GetElementsByTagName("operacion"); if (textoOperacion.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaOperacion = textoOperacion[0].InnerText; XmlNodeList textoInspeccion = documento.GetElementsByTagName("inspeccion"); if (textoInspeccion.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaInspeccion = textoInspeccion[0].InnerText; XmlNodeList textoTitulo = documento.GetElementsByTagName("Titulo"); if (textoTitulo.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaTitulo = textoTitulo[0].InnerText; #endregion #region Iniciar Variables if (datos["Contrato"] == null) { throw new Exception("Se esperaba un contrato"); } if (datos["Firmantes"] == null) { throw new Exception("Se esperaba Firmantes"); } if (datos["Modulo"] == null) { throw new Exception("Se esperaba una configuración de módulo"); } if (!(datos["Contrato"] is ContratoRDBO)) { throw new Exception("Se esperaba un contrato de Renta Diaria"); } // Contrato ContratoRDBO contrato = (ContratoRDBO)datos["Contrato"]; if (contrato == null) { contrato = new ContratoRDBO(); } if (contrato.Sucursal == null) { contrato.Sucursal = new SucursalBO(); } if (contrato.Sucursal.DireccionesSucursal == null) { direccionSuc = string.Empty; } else { var direcUO = contrato.Sucursal.DireccionesSucursal.Find(x => x.Primaria != null && x.Primaria.Value == true); if (direcUO != null) { if (!string.IsNullOrEmpty(direcUO.Calle) && !string.IsNullOrWhiteSpace(direcUO.Calle)) { direccionSuc = direcUO.Calle; } } } if (contrato.Cliente == null) { contrato.Cliente = new CuentaClienteIdealeaseBO(); } if (contrato.Cliente.Cliente == null) { contrato.Cliente.Cliente = new ClienteBO(); } if (contrato.Cliente.Direcciones == null) { DireccionClienteBO direccion = new DireccionClienteBO(); contrato.Cliente.Agregar(direccion); } if (contrato.Operador == null) { contrato.Operador = new OperadorBO(); } if (contrato.Operador.Direccion == null) { contrato.Operador.Direccion = new DireccionPersonaBO(); } if (contrato.Operador.Licencia == null) { contrato.Operador.Licencia = new LicenciaBO(); } if (contrato.Operador.Direccion.Ubicacion == null) { contrato.Operador.Direccion.Ubicacion = new UbicacionBO(); } if (contrato.Operador.Direccion.Ubicacion.Ciudad == null) { contrato.Operador.Direccion.Ubicacion.Ciudad = new CiudadBO(); } if (contrato.Operador.Direccion.Ubicacion.Estado == null) { contrato.Operador.Direccion.Ubicacion.Estado = new EstadoBO(); } LineaContratoRDBO linea = contrato.ObtenerLineaContrato(); if (linea == null) { linea = new LineaContratoRDBO(); } if (linea.Equipo == null) { linea.Equipo = new UnidadBO(); } if (linea.Equipo.TipoEquipoServicio == null) { linea.Equipo.TipoEquipoServicio = new TipoUnidadBO(); } if (linea.Equipo.ActivoFijo == null) { linea.Equipo.ActivoFijo = new ActivoFijoBO(); } if (linea.Equipo.Modelo == null) { linea.Equipo.Modelo = new ModeloBO(); } if (((UnidadBO)linea.Equipo).CaracteristicasUnidad == null) { ((UnidadBO)linea.Equipo).CaracteristicasUnidad = new CaracteristicasUnidadBO(); } if (linea.Equipo.TipoEquipoServicio == null) { linea.Equipo.TipoEquipoServicio = new TipoUnidadBO(); } if (linea.Cobrable == null) { linea.Cobrable = new TarifaContratoRDBO(); } contrato.LineasContrato = new List <ILineaContrato>(); contrato.AgregarLineaContrato(linea); if (linea.ListadosVerificacion == null) { linea.ListadosVerificacion = new List <ListadoVerificacionBO>(); } // Configuración del Modulo ModuloBO modulo = (ModuloBO)datos["Modulo"]; ConfiguracionUnidadOperativaBO unidadOperativaConfiguracion; if (modulo == null) { modulo = new ModuloBO(); } if (modulo.Configuracion == null) { modulo.Configuracion = new ConfiguracionModuloBO(); } if (contrato.Sucursal.UnidadOperativa.Id == null) { unidadOperativaConfiguracion = new ConfiguracionUnidadOperativaBO(); } else { unidadOperativaConfiguracion = modulo.ObtenerConfiguracionUO(new UnidadOperativaBO { Id = contrato.Sucursal.UnidadOperativa.Id }); } if (unidadOperativaConfiguracion == null) { unidadOperativaConfiguracion = new ConfiguracionUnidadOperativaBO(); } if (unidadOperativaConfiguracion.ConfiguracionModulo == null) { unidadOperativaConfiguracion.ConfiguracionModulo = new ConfiguracionModuloBO(); } //Tramites List <TramiteBO> tramites = (List <TramiteBO>)datos["Tramites"]; if (tramites == null) { tramites = new List <TramiteBO>(); } PlacaEstatalBO placaEstatal = (PlacaEstatalBO)tramites.Find(t => t.Tipo == ETipoTramite.PLACA_ESTATAL); if (placaEstatal != null) { numeroPlaca = placaEstatal.Resultado; } PlacaFederalBO placaFederal = (PlacaFederalBO)tramites.Find(t => t.Tipo == ETipoTramite.PLACA_FEDERAL); if (placaFederal != null) { numeroPlaca = placaFederal.Resultado; } //Firmantes Tuple <IConstituible, List <PersonaBO>, List <IConstituible> > firmantes = (Tuple <IConstituible, List <PersonaBO>, List <IConstituible> >)datos["Firmantes"]; if (firmantes == null) { IConstituible cliente = new CuentaClienteIdealeaseBO(); List <PersonaBO> representantes = new List <PersonaBO>(); List <IConstituible> depositarios = new List <IConstituible>(); firmantes = new Tuple <IConstituible, List <PersonaBO>, List <IConstituible> >(cliente, representantes, depositarios); } //Usuarios UsuarioBO usuarioCreacion = (UsuarioBO)datos["UsuarioCreacion"]; if (usuarioCreacion == null) { usuarioCreacion = new UsuarioBO(); } UsuarioBO usuarioCierre = (UsuarioBO)datos["UsuarioCierre"]; if (usuarioCierre == null) { usuarioCierre = new UsuarioBO(); } //Sucursal Matriz SucursalBO matriz = (SucursalBO)datos["SucursalMatriz"]; if (matriz == null) { matriz = new SucursalBO(); } if (matriz.UnidadOperativa == null) { matriz.UnidadOperativa = new UnidadOperativaBO(); } if (matriz.DireccionesSucursal == null) { direccionUO = string.Empty; } else { var direcUO = matriz.DireccionesSucursal.Find(x => x.Primaria != null && x.Primaria.Value == true); if (direcUO != null) { if (!string.IsNullOrEmpty(direcUO.Telefono) && !string.IsNullOrWhiteSpace(direcUO.Telefono)) { telefonoUO = direcUO.Telefono; if (!string.IsNullOrEmpty(direcUO.Calle) && !string.IsNullOrWhiteSpace(direcUO.Calle)) { direccionUO = direcUO.Calle; } } else { if (!string.IsNullOrEmpty(direcUO.Calle) && !string.IsNullOrWhiteSpace(direcUO.Calle)) { direccionUO = direcUO.Calle; } } } } #endregion #region Asignar valores al Reporte #region Encabezado xrlblTitulo.Html = leyendaTitulo; if (String.IsNullOrEmpty(unidadOperativaConfiguracion.ConfiguracionModulo.URLLogoEmpresa)) { xrLogo.ImageUrl = modulo.Configuracion.URLLogoEmpresa; } else { xrLogo.ImageUrl = unidadOperativaConfiguracion.ConfiguracionModulo.URLLogoEmpresa; } xrlblFormatoNumero.Text = contrato.NumeroContrato ?? String.Empty; if (contrato.Estatus == EEstatusContrato.Borrador || contrato.Estatus == EEstatusContrato.EnPausa) { Watermark.Text = "BORRADOR"; } #endregion #region Seccion Izquierda xrlblUnidadOperativa.Text = matriz.UnidadOperativa.Nombre ?? String.Empty; xrlblCliente.Text = contrato.Cliente.Nombre ?? String.Empty; xrlblRFC.Text = contrato.Cliente.Cliente.RFC ?? String.Empty; xrtblCellDireccion.Text = contrato.Cliente.Direccion ?? String.Empty; DireccionClienteBO direccionCliente = contrato.Cliente.Direcciones.Find(c => c.Primaria != null && c.Primaria.Value) ?? new DireccionClienteBO(); if (direccionCliente.Ubicacion == null) { direccionCliente.Ubicacion = new UbicacionBO(); } if (direccionCliente.Ubicacion.Ciudad == null) { direccionCliente.Ubicacion.Ciudad = new CiudadBO(); } if (direccionCliente.Ubicacion.Estado == null) { direccionCliente.Ubicacion.Estado = new EstadoBO(); } xrtblCellCiudad.Text = direccionCliente.Ubicacion.Ciudad.Codigo ?? String.Empty; xrtblCellEstado.Text = direccionCliente.Ubicacion.Estado.Codigo ?? String.Empty; xrtblCellCP.Text = direccionCliente.CodigoPostal ?? String.Empty; xrtblCellNumeroCuenta.Text = contrato.Cliente.Id != null?contrato.Cliente.Id.ToString() : String.Empty; //SC0021 orden de compra con N/A if (contrato.FormaPago == null) { xrtblCellOrdenCompra.Text = String.Empty; } if (contrato.FormaPago == null && contrato.TipoConfirmacion == null) { xrtblCellOrdenCompra.Text = String.Empty; } else { if (contrato.FormaPago != null && contrato.TipoConfirmacion != null && contrato.FormaPago == EFormaPago.CREDITO && contrato.TipoConfirmacion == ETipoConfirmacion.ORDEN_DE_COMPRA) { xrtblCellOrdenCompra.Text = contrato.AutorizadorOrdenCompra; } else { xrtblCellOrdenCompra.Text = "N/A"; } } xrtblCellNombreOperador.Text = contrato.Operador.Nombre ?? String.Empty; xrtblCellExperienciaOperador.Text = contrato.Operador.AñosExperiencia != null ? contrato.Operador.AñosExperiencia.ToString() : String.Empty; xrtblCellCalleOperador.Text = contrato.Operador.Direccion.Calle ?? String.Empty; xrtblCellCiudadOperador.Text = contrato.Operador.Direccion.Ubicacion.Ciudad.Nombre ?? String.Empty; xrtblCellEstadoOperador.Text = contrato.Operador.Direccion.Ubicacion.Estado.Nombre ?? String.Empty; xrtblCellCPOperador.Text = contrato.Operador.Direccion.CodigoPostal ?? String.Empty; if (contrato.Operador.Licencia.Tipo == ETipoLicencia.ESTATAL) { xrchkEstatal.Checked = true; } if (contrato.Operador.Licencia.Tipo == ETipoLicencia.FEDERAL) { xrchkFederal.Checked = true; } xrTableCell20.Controls.Add(xrchkEstatal); xrTableCell21.Controls.Add(xrchkFederal); xrtblCellNumeroLicencia.Text = contrato.Operador.Licencia.Numero ?? String.Empty; xrtblCellEstadoLicencia.Text = contrato.Operador.Licencia.Estado ?? String.Empty; xrtblCellFechaExpiracion.Text = contrato.Operador.Licencia.FechaExpiracion != null ? contrato.Operador.Licencia.FechaExpiracion.Value.ToString("dd/MM/yyyy") : String.Empty; xrtblCellFechaNacimiento.Text = contrato.Operador.FechaNacimiento != null ? contrato.Operador.FechaNacimiento.Value.ToString("dd/MM/yyyy") : String.Empty; xrlblLeyendaCondiciones.Html = leyendaCondiciones; xrtblCellAreaOperacion.Text = contrato.DestinoAreaOperacion ?? String.Empty; xrtblCellVehiculoDevuelto.Text = direccionSuc ?? String.Empty; xrtblCellMercanciaTrasportar.Text = contrato.MercanciaTransportar ?? String.Empty; if (contrato.MotivoRenta == EMotivoRenta.DEMOSTRACION) { xrchkDemostracion.Checked = true; } if (contrato.MotivoRenta == EMotivoRenta.MATERIAL_PELIGROSO) { xrchkMaterialPeligroso.Checked = true; } if (contrato.MotivoRenta == EMotivoRenta.SUSTITUCION_TEMPORAL) { xrchkSustitucionTemporal.Checked = true; } if (contrato.MotivoRenta == EMotivoRenta.UNIDAD_EXTRA) { xrchkUnidadExtra.Checked = true; } xrlblLeyendaCargosCombustible.Html = leyendaCargoCombustible; xrlblLeyendaBitacoraViaje.Html = leyendaBitacora; if (contrato.BitacoraViajeConductor == true) { xrchkBitacora.Checked = true; } SeguroBO seguro = (SeguroBO)tramites.Find(t => t.Tipo == ETipoTramite.SEGURO); if (seguro != null) { string aseguradoraTelefono = string.Empty; aseguradoraTelefono = !String.IsNullOrEmpty(seguro.Aseguradora) ? seguro.Aseguradora : string.Empty; aseguradoraTelefono = !String.IsNullOrEmpty(seguro.Contacto) ? (!String.IsNullOrEmpty(aseguradoraTelefono) ? aseguradoraTelefono + " - " + seguro.Contacto : aseguradoraTelefono) : aseguradoraTelefono; xrtblCellCompaniaAseguradora.Text = !String.IsNullOrEmpty(aseguradoraTelefono) ? aseguradoraTelefono : String.Empty; xrlblNumeroPoliza.Text = seguro.NumeroPoliza ?? String.Empty; xrlblCompania.Text = seguro.Aseguradora ?? String.Empty; } LineaContratoRDBO lineaTemp = contrato.ObtenerLineaContrato(); if (lineaTemp.Equipo.ActivoFijo.CostoSinIva == null) { leyendaSeguro = leyendaSeguro.Replace("{MONTODEDUCIBLE}", "__________"); } else { Decimal?montoDeducibleCalcuado = 0; montoDeducibleCalcuado = lineaTemp.Equipo.ActivoFijo.CostoSinIva; var unidad = (UnidadBO)lineaTemp.Equipo; if (unidad.EquiposAliados.Count > 0) { montoDeducibleCalcuado = unidad.EquiposAliados.Aggregate(montoDeducibleCalcuado, (monto, equipoAliado) => equipoAliado.ActivoFijo != null ? equipoAliado.ActivoFijo.CostoSinIva != null ? monto + equipoAliado.ActivoFijo.CostoSinIva : monto : monto); } //SC0021 formato de decimales leyendaSeguro = leyendaSeguro.Replace("{MONTODEDUCIBLE}", String.Format("{0:#,##0.00##}", contrato.CalcularMontoDeducible((Decimal)montoDeducibleCalcuado).Value)); } xrlblLeyendaSeguro.Html = leyendaSeguro; xrlblFirmaUnidadOperativa.Text = matriz.UnidadOperativa.Nombre; xrlblRepresentanteUnidadOperativa.Text = unidadOperativaConfiguracion.Representante; xrlblTelefonoUnidadOperativa.Text = telefonoUO; xrlblDireccionUnidadOperativa.Text = direccionUO; if (contrato.Cliente.EsFisico == null || contrato.Cliente.EsFisico == true) { RepresentanteLegalBO representante; if (firmantes.Item2 == null) { representante = new RepresentanteLegalBO(); } else { representante = (RepresentanteLegalBO)firmantes.Item2[0]; } string cliente = representante.Nombre; cliente = !String.IsNullOrEmpty(representante.Telefono) ? cliente + "/n" + representante.Telefono : cliente; cliente = !String.IsNullOrEmpty(representante.Direccion) ? cliente + "/n" + representante.Direccion : cliente; xrlblDatosClienteMoral.Text = cliente; xrSubreport3.Visible = false; } if (contrato.Cliente.EsFisico == false) { xrlblDatosClienteMoral.BorderWidth = 0; string clienteMoral = contrato.Cliente.Nombre; var direccion = contrato.Cliente.Direcciones.Find(p => p.Primaria != null && p.Primaria.Value); if (direccion != null) { if (!String.IsNullOrWhiteSpace(direccion.Telefono) && !String.IsNullOrEmpty(direccion.Telefono)) { clienteMoral = clienteMoral + "\n" + direccion.Telefono; } } clienteMoral = clienteMoral + "\n" + contrato.Cliente.Direccion; xrlblDatosClienteMoral.Text = clienteMoral; if (firmantes.Item2 != null) { firmantes.Item2.ForEach(r => r.Telefono = null); xrSubreport3.ReportSource.DataSource = firmantes.Item2.ConvertAll(r => (RepresentanteLegalBO)r); } else { xrSubreport3.Visible = false; } } #endregion #region Seccion Derecha xrlblFecha.Text = contrato.FechaContrato != null ? contrato.FechaContrato.Value.ToShortDateString() : String.Empty; xrlblFechaPromesaDevolucion.Text = contrato.FechaPromesaDevolucion != null ? contrato.FechaPromesaDevolucion.Value.ToShortDateString() : String.Empty; xrlblModelo.Text = lineaTemp.Equipo.Modelo.Nombre ?? String.Empty; xrtblCellNumeroEconomico.Text = ((UnidadBO)lineaTemp.Equipo).NumeroEconomico ?? String.Empty; xrtblCellNumeroSerie.Text = lineaTemp.Equipo.NumeroSerie ?? String.Empty; xrtblCellNumeroPlaca.Text = numeroPlaca; //SC0021 formato de decimales xrtblCellPBC.Text = ((UnidadBO)lineaTemp.Equipo).CaracteristicasUnidad.PBCMaximoRecomendado != null ? String.Format("{0:#,##0.00##}", ((UnidadBO)lineaTemp.Equipo).CaracteristicasUnidad.PBCMaximoRecomendado) : String.Empty; xrlblTipo.Text = lineaTemp.Equipo.TipoEquipoServicio.Nombre ?? String.Empty; xrSubreport1.ReportSource.DataSource = ((UnidadBO)linea.Equipo).EquiposAliados; //xrlblModeloEquipoAliado.DataBindings.Add(new XRBinding("Text", (((UnidadBO)linea.Equipo).EquiposAliados), "Modelo.Nombre")); //xrlblSerieEquipoAliado.DataBindings.Add(new XRBinding("Text", (((UnidadBO)linea.Equipo).EquiposAliados), "NumeroSerie")); if (lineaTemp.Equipo.EquipoID != null) { xrtblCellFechaDevolucion.Text = contrato.ObtenerFechaDevolucion((UnidadBO)lineaTemp.Equipo) != null ? contrato.ObtenerFechaDevolucion((UnidadBO)lineaTemp.Equipo) .Value.ToString() : String.Empty; xrtblCellFechaSalida.Text = contrato.ObtenerFechaEntrega((UnidadBO)lineaTemp.Equipo) != null ? contrato.ObtenerFechaEntrega((UnidadBO)lineaTemp.Equipo) .Value.ToString() : String.Empty; xrtblCellKmTotal.Text = contrato.CalcularKilometrajeRecorrido((UnidadBO)lineaTemp.Equipo) != null ? String.Format("{0:#,##0}", contrato.CalcularKilometrajeRecorrido((UnidadBO)lineaTemp.Equipo)) : String.Empty; xrlblCargoKilometro.Text = ((TarifaContratoRDBO)lineaTemp.Cobrable).RangoTarifas.First().CargoKm != null ? "$ " + String.Format("{0:#,##0.00##}", ((TarifaContratoRDBO)lineaTemp.Cobrable).RangoTarifas.First().CargoKm) : "$"; xrtblCellTotalEquipoAliado.Text = contrato.CalcularHorasConsumidas((UnidadBO)lineaTemp.Equipo) != null ? String.Format("{0:#,##0}", contrato.CalcularHorasConsumidas((UnidadBO)lineaTemp.Equipo)) : String.Empty; } else { xrtblCellFechaDevolucion.Text = String.Empty; xrtblCellFechaSalida.Text = String.Empty; xrtblCellKmTotal.Text = String.Empty; xrlblCargoKilometro.Text = "$"; xrtblCellTotalEquipoAliado.Text = String.Empty; } xrtblCellDias.Text = contrato.CalcularDiasTranscurridosRenta() != null ? String.Format("{0:#,##0}", contrato.CalcularDiasTranscurridosRenta()) : String.Empty; xrtblCellHoras.Text = contrato.CalcularHorasTranscurridasRenta() != null ? String.Format("{0:#,##0.00##}", contrato.CalcularHorasTranscurridasRenta()) : String.Empty; if (contrato.LectorKilometraje == ELectorKilometraje.HUBODOMETRO) { xrchkHubodometro.Checked = true; } if (contrato.LectorKilometraje == ELectorKilometraje.ODOMETRO) { xrchkOdometro.Checked = true; } ListadoVerificacionBO listadoEntrada = lineaTemp.ListadosVerificacion.Find(l => l.Tipo == ETipoListadoVerificacion.RECEPCION); if (listadoEntrada == null) { xrtblCellKmEntrada.Text = String.Empty; xrtblCellHrEntrada.Text = String.Empty; } else { xrtblCellKmEntrada.Text = listadoEntrada.Kilometraje != null ? String.Format("{0:#,##0}", listadoEntrada.Kilometraje) : String.Empty; xrtblCellHrEntrada.Text = listadoEntrada.Horometro != null ? String.Format("{0:#,##0}", listadoEntrada.Horometro) : String.Empty; } ListadoVerificacionBO listadoSalida = lineaTemp.ListadosVerificacion.Find(l => l.Tipo == ETipoListadoVerificacion.ENTREGA); if (listadoSalida == null) { xrtblCellKmSalida.Text = String.Empty; xrtblCellHrSalida.Text = String.Empty; } else { xrtblCellKmSalida.Text = listadoSalida.Kilometraje != null ? String.Format("{0:#,##0}", listadoSalida.Kilometraje) : String.Empty; xrtblCellHrSalida.Text = listadoSalida.Horometro != null ? String.Format("{0:#,##0}", listadoSalida.Horometro) : String.Empty; } //SC0021 formato de decimales var tarifaContrato = lineaTemp.Cobrable != null ? lineaTemp.Cobrable as TarifaContratoRDBO : new TarifaContratoRDBO(); xrlblTarifaDiaria.Text = tarifaContrato.TarifaDiaria != null ? "$ " + String.Format("{0:#,##0.00##}", tarifaContrato.TarifaDiaria) : "$"; xrlblTarifaHora.Text = tarifaContrato.RangoTarifas != null && tarifaContrato.RangoTarifas.Any() && tarifaContrato.RangoTarifas.First().CargoHr != null ? "$ " + String.Format("{0:#,##0.00##}", tarifaContrato.RangoTarifas.First().CargoHr) : "$"; if (unidadOperativaConfiguracion.PrecioUnidadCombustible == null) { xrtblCellLitro.Text = ""; } xrtblCellPrecioLitro.Text = unidadOperativaConfiguracion.PrecioUnidadCombustible != null ? "$ " + String.Format("{0:#,##0.00##}", unidadOperativaConfiguracion.PrecioUnidadCombustible) : "$"; string descripcion = string.Empty; if (contrato.FormaPago != null) { FieldInfo fi = contrato.FormaPago.GetType().GetField(contrato.FormaPago.ToString()); DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false); if (attributes != null && attributes.Length > 0) { descripcion = attributes[0].Description; } else { descripcion = contrato.FormaPago.ToString(); } } if (contrato.TipoConfirmacion != null) { FieldInfo fi = contrato.TipoConfirmacion.GetType().GetField(contrato.TipoConfirmacion.ToString()); DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false); if (attributes != null && attributes.Length > 0) { descripcion = !String.IsNullOrEmpty(descripcion) ? descripcion + " - " + attributes[0].Description : attributes[0].Description; } else { descripcion = !String.IsNullOrEmpty(descripcion) ? descripcion + " - " + contrato.TipoConfirmacion.ToString() : contrato.TipoConfirmacion.ToString(); } } this.xrtblCellCreditoAprobadoPor.Text = !string.IsNullOrEmpty(contrato.AutorizadorTipoConfirmacion) && !string.IsNullOrWhiteSpace(contrato.AutorizadorTipoConfirmacion) ? contrato.AutorizadorTipoConfirmacion.Trim().ToUpper() : string.Empty; xrtblCellTipoConfirmacion.Text = descripcion; if (contrato.FormaPago != null) { xrchkDeposito.Checked = true; if (lineaTemp.Equipo.ActivoFijo.CostoSinIva == null) { xrtblCellDepositoRecibido.Text = "$"; } else { Decimal?montoDeducibleCalcuado = 0; montoDeducibleCalcuado = lineaTemp.Equipo.ActivoFijo.CostoSinIva; var unidad = (UnidadBO)lineaTemp.Equipo; if (unidad.EquiposAliados.Count > 0) { montoDeducibleCalcuado = unidad.EquiposAliados.Aggregate(montoDeducibleCalcuado, (monto, equipoAliado) => equipoAliado.ActivoFijo != null ? equipoAliado.ActivoFijo.CostoSinIva != null ? monto + equipoAliado.ActivoFijo.CostoSinIva : monto : monto); } //SC0021 formato de decimales xrtblCellDepositoRecibido.Text = contrato.CalcularMontoDeposito((Decimal)montoDeducibleCalcuado) != null ? "$" + String.Format("{0:#,##0.00##}", contrato.CalcularMontoDeposito((Decimal)montoDeducibleCalcuado)) : "$"; } } if (contrato.TipoConfirmacion != null && contrato.TipoConfirmacion == ETipoConfirmacion.ORDEN_DE_COMPRA) { xrchkDeposito.Checked = false; xrtblCellDepositoRecibido.Text = "$0.00"; } xrtblCellPreparadoPor.Text = usuarioCreacion.Nombre ?? String.Empty; xrtblCellCompletadoPor.Text = usuarioCierre.Nombre ?? String.Empty; #region CU011 – Imprimir Cierre de Contrato de Renta Diaria //se obtiene los datos de finalizacion del contrato object finalizacion = contrato.ObtenerFinalizacionContratoRD(); CierreContratoRDBO cierreContrato = null; if (finalizacion != null && typeof(CierreContratoRDBO) == finalizacion.GetType() && lineaTemp != null) { cierreContrato = (CierreContratoRDBO)finalizacion; } if (cierreContrato != null) { // se realizan los calculos decimal?importeRenta = contrato.CalcularDiasTranscurridosRenta() * ((TarifaContratoRDBO)lineaTemp.Cobrable).TarifaDiaria; decimal?importeKmAdicional = contrato.CalcularMontoPorKilometrosExcedidos((UnidadBO)lineaTemp.Equipo); decimal?importeHrAdicional = contrato.CalcularMontoPorHorasExcedidas((UnidadBO)lineaTemp.Equipo); decimal?subtotalTarifa = importeRenta + importeKmAdicional + importeHrAdicional; int? litrosUnidad = contrato.CalcularDiferenciaCombustible(); decimal?importeLitros = contrato.CalcularMontoPorCombustible(unidadOperativaConfiguracion.PrecioUnidadCombustible); decimal?subtotalCargos = unidadOperativaConfiguracion.PrecioUnidadCombustible.HasValue ? contrato.CalcularSubTotalCargos(unidadOperativaConfiguracion.PrecioUnidadCombustible.Value) : null; decimal?importeSinIva = subtotalTarifa + subtotalCargos; decimal?importeDelIva = (importeSinIva * (contrato.Sucursal.Impuesto != null ? contrato.Sucursal.Impuesto.PorcentajeImpuesto : null)) / 100; decimal?cargoNeto = importeSinIva + importeDelIva; //decimal? montoDeposito = contrato.CalcularMontoDeposito(lineaTemp.Equipo.ActivoFijo.CostoSinIva.Value); decimal?totalPagar = cargoNeto; // se asignan valores a los campos del reporte xrtblCellTarifaDiaria.Text = importeRenta != null ? "$ " + String.Format("{0:#,##0.00##}", importeRenta) : string.Empty; xrtblCellCargoKilometro.Text = importeKmAdicional != null ? "$ " + String.Format("{0:#,##0.00##}", importeKmAdicional) : string.Empty; xrtblCellTarifaHora.Text = importeHrAdicional != null ? "$ " + String.Format("{0:#,##0.00##}", importeHrAdicional) : string.Empty; xrtblCellSubtotalTarifa.Text = subtotalTarifa != null ? "$ " + String.Format("{0:#,##0.00##}", subtotalTarifa) : string.Empty; xrtblCellLitros.Text = litrosUnidad != null?String.Format("{0:#,##0.00##}", litrosUnidad) : string.Empty; xrtblCellImporteLitros.Text = importeLitros != null ? "$ " + String.Format("{0:#,##0.00##}", importeLitros) : string.Empty; xrtblCellCargoAbuso.Text = cierreContrato.CargoAbusoOperacion != null ? "$ " + String.Format("{0:#,##0.00##}", cierreContrato.CargoAbusoOperacion) : string.Empty; xrtblCellCargoBasura.Text = cierreContrato.CargoDisposicionBasura != null ? "$ " + String.Format("{0:#,##0.00##}", cierreContrato.CargoDisposicionBasura) : string.Empty; xrtblCellSubtotalCargos.Text = subtotalCargos != null ? "$ " + String.Format("{0:#,##0.00##}", subtotalCargos) : string.Empty; xrtblCellPorcentajeIva.Text = contrato.Sucursal.Impuesto.PorcentajeImpuesto.HasValue ? contrato.Sucursal.Impuesto.PorcentajeImpuesto.Value.ToString() + " %" : string.Empty; xrtblCellCargoNeto.Text = cargoNeto != null ? "$ " + String.Format("{0:#,##0.00##}", cargoNeto) : string.Empty; xrtblCellRembolso.Text = cierreContrato.ImporteReembolso != null ? "$ " + String.Format("{0:#,##0.00##}", cierreContrato.ImporteReembolso) : string.Empty; xrtblCellTotalPagar.Text = totalPagar != null ? "$ " + String.Format("{0:#,##0.00##}", totalPagar) : string.Empty; xrtblCellRembolsoRecibidoPor.Text = cierreContrato.PersonaRecibeReembolso; xrtblCellImporteIVA.Text = importeDelIva != null ? "$ " + String.Format("{0:#,##0.00##}", importeDelIva) : string.Empty; } #endregion #endregion #region Pie de Reporte xrlblLeyendaArrendatarios.Html = leyendaArrendatarios; xrlblLeyendaOperacion.Html = leyendaOperacion; xrlblLeyendaInspeccion.Html = leyendaInspeccion; xrlblNumeroCheckList.Text = contrato.CalcularNumeroListadoVerificacion() ?? String.Empty; #endregion #endregion } catch (Exception ex) { throw new Exception("ContratoRentaDiariaRPT.ImprimirReporte:Error al intentar generar el reporte." + ex.Message); } }
/// <summary> /// Despliega en pantalla la información del contrato recuperado /// </summary> /// <param name="obj">Objeto que </param> private void DatoAInterfazUsuario(object obj) { var bo = (ContratoManttoBO)obj; #region Contrato nuevo if (ReferenceEquals(obj, null)) { bo = new ContratoManttoBO { Avales = new List <AvalBO>(), Cliente = new CuentaClienteIdealeaseBO { Cliente = new ClienteBO() }, DatosAdicionalesAnexo = new List <DatoAdicionalAnexoBO>(), Divisa = new DivisaBO { MonedaDestino = new MonedaBO() }, DocumentosAdjuntos = new List <ArchivoBO>(), RepresentantesLegales = new List <PersonaBO>(), LineasContrato = new List <ILineaContrato>(), ObligadosSolidarios = new List <PersonaBO>(), Sucursal = new SucursalBO { UnidadOperativa = new UnidadOperativaBO() } } } ; #endregion #region Instancias de propiedades if (object.ReferenceEquals(bo.Avales, null)) { bo.Avales = new List <AvalBO>(); } if (object.ReferenceEquals(bo.Cliente, null)) { bo.Cliente = new CuentaClienteIdealeaseBO { Cliente = new ClienteBO() } } ; if (object.ReferenceEquals(bo.DatosAdicionalesAnexo, null)) { bo.DatosAdicionalesAnexo = new List <DatoAdicionalAnexoBO>(); } if (object.ReferenceEquals(bo.Divisa, null)) { bo.Divisa = new DivisaBO { MonedaDestino = new MonedaBO() } } ; if (object.ReferenceEquals(bo.DocumentosAdjuntos, null)) { bo.DocumentosAdjuntos = new List <ArchivoBO>(); } if (object.ReferenceEquals(bo.LineasContrato, null)) { bo.LineasContrato = new List <ILineaContrato>(); } if (object.ReferenceEquals(bo.RepresentantesLegales, null)) { bo.RepresentantesLegales = new List <PersonaBO>(); } if (object.ReferenceEquals(bo.ObligadosSolidarios, null)) { bo.ObligadosSolidarios = new List <PersonaBO>(); } if (object.ReferenceEquals(bo.Sucursal, null)) { bo.Sucursal = new SucursalBO { UnidadOperativa = new UnidadOperativaBO() } } ; #endregion #region Datos Generales this.vista.TipoContrato = bo.Tipo.HasValue ? (int?)((int)bo.Tipo.Value) : null; this.vista.ContratoID = bo.ContratoID.HasValue ? bo.ContratoID : null; this.vista.NumeroContrato = !string.IsNullOrEmpty(bo.NumeroContrato) && !string.IsNullOrWhiteSpace(bo.NumeroContrato) ? bo.NumeroContrato.Trim().ToUpper() : string.Empty; this.vista.EstatusContrato = bo.Estatus.HasValue ? (int?)((int)bo.Estatus.Value) : null; this.vista.FechaContrato = bo.FechaContrato.HasValue ? bo.FechaContrato : null; this.vista.SucursalID = bo.Sucursal.Id.HasValue ? bo.Sucursal.Id : null; this.vista.SucursalNombre = !string.IsNullOrEmpty(bo.Sucursal.Nombre) && !string.IsNullOrWhiteSpace(bo.Sucursal.Nombre) ? bo.Sucursal.Nombre.Trim().ToUpper() : string.Empty; this.vista.RepresentanteEmpresa = !string.IsNullOrEmpty(bo.Representante) && !string.IsNullOrWhiteSpace(bo.Representante) ? bo.Representante.Trim().ToUpper() : string.Empty; this.vista.DivisaID = !string.IsNullOrEmpty(bo.Divisa.MonedaDestino.Codigo) && !string.IsNullOrWhiteSpace(bo.Divisa.MonedaDestino.Codigo) ? bo.Divisa.MonedaDestino.Codigo.ToUpper().Trim() : string.Empty; this.vista.EstatusContrato = bo.Estatus.HasValue ? (int?)((int)bo.Estatus.Value) : null; #endregion #region Datos Cliente this.vista.ClienteID = bo.Cliente.Cliente != null && bo.Cliente.Cliente.Id.HasValue ? bo.Cliente.Cliente.Id : null; this.vista.CuentaClienteID = bo.Cliente.Id.HasValue ? bo.Cliente.Id : null; this.vista.CuentaClienteTipoID = bo.Cliente.TipoCuenta.HasValue ? (int?)((int)bo.Cliente.TipoCuenta) : null; this.vista.CuentaClienteNombre = !string.IsNullOrEmpty(bo.Cliente.Nombre) && !string.IsNullOrWhiteSpace(bo.Cliente.Nombre) ? bo.Cliente.Nombre.Trim().ToUpper() : string.Empty; this.vista.CuentaClienteFisica = bo.Cliente.EsFisico.HasValue ? bo.Cliente.EsFisico : null; //Se ejecuta explicitamente la selección de la cuenta del cliente this.presentadorDatos.SeleccionarCuentaCliente(bo.Cliente); #region Direccion var direccion = new DireccionClienteBO { Ubicacion = new UbicacionBO { Ciudad = new CiudadBO(), Estado = new EstadoBO(), Municipio = new MunicipioBO(), Pais = new PaisBO() } }; if (bo.Cliente.Direcciones != null && bo.Cliente.Direcciones.Count > 0) { direccion = bo.Cliente.Direcciones[0]; if (direccion.Ubicacion == null) { direccion.Ubicacion = new UbicacionBO { Ciudad = new CiudadBO(), Estado = new EstadoBO(), Municipio = new MunicipioBO(), Pais = new PaisBO() } } ; if (direccion.Ubicacion.Ciudad == null) { direccion.Ubicacion.Ciudad = new CiudadBO(); } if (direccion.Ubicacion.Estado == null) { direccion.Ubicacion.Estado = new EstadoBO(); } if (direccion.Ubicacion.Municipio == null) { direccion.Ubicacion.Municipio = new MunicipioBO(); } if (direccion.Ubicacion.Pais == null) { direccion.Ubicacion.Pais = new PaisBO(); } } this.vista.DireccionClienteID = direccion.Id.HasValue ? (int?)((int)direccion.Id) : null; this.vista.ClienteDireccionCompleta = !string.IsNullOrEmpty(direccion.Direccion) && !string.IsNullOrWhiteSpace(direccion.Direccion) ? direccion.Direccion.Trim().ToUpper() : string.Empty; this.vista.ClienteDireccionCalle = !string.IsNullOrEmpty(direccion.Calle) && !string.IsNullOrWhiteSpace(direccion.Calle) ? direccion.Calle.Trim().ToUpper() : string.Empty; this.vista.ClienteDireccionColonia = !string.IsNullOrEmpty(direccion.Colonia) && !string.IsNullOrWhiteSpace(direccion.Colonia) ? direccion.Colonia.Trim().ToUpper() : string.Empty; this.vista.ClienteDireccionCiudad = !string.IsNullOrEmpty(direccion.Ubicacion.Ciudad.Codigo) && !string.IsNullOrWhiteSpace(direccion.Ubicacion.Ciudad.Codigo) ? direccion.Ubicacion.Ciudad.Codigo : string.Empty; this.vista.ClienteDireccionEstado = !string.IsNullOrEmpty(direccion.Ubicacion.Estado.Codigo) && !string.IsNullOrWhiteSpace(direccion.Ubicacion.Estado.Codigo) ? direccion.Ubicacion.Estado.Codigo : string.Empty; this.vista.ClienteDireccionMunicipio = !string.IsNullOrEmpty(direccion.Ubicacion.Municipio.Codigo) && !string.IsNullOrWhiteSpace(direccion.Ubicacion.Municipio.Codigo) ? direccion.Ubicacion.Municipio.Codigo : string.Empty; this.vista.ClienteDireccionPais = !string.IsNullOrEmpty(direccion.Ubicacion.Pais.Codigo) && !string.IsNullOrWhiteSpace(direccion.Ubicacion.Pais.Codigo) ? direccion.Ubicacion.Pais.Codigo : string.Empty; this.vista.ClienteDireccionCodigoPostal = !string.IsNullOrEmpty(direccion.CodigoPostal) && !string.IsNullOrWhiteSpace(direccion.CodigoPostal) ? direccion.CodigoPostal : string.Empty; #endregion //Se asignan los representantes legales seleccionados this.vista.RepresentatesLegales = bo.RepresentantesLegales.ConvertAll(x => (object)x); this.vista.SoloRepresentantes = bo.SoloRepresentantes.HasValue ? bo.SoloRepresentantes : null; //se asignan los obligados solidarios seleccionados this.vista.ObligadosSolidarios = bo.ObligadosSolidarios.ConvertAll(x => (object)x); this.vista.ObligadosComoAvales = bo.ObligadosComoAvales.HasValue ? bo.ObligadosComoAvales : null; //Se asignan los avlaes seleccionados this.vista.Avales = bo.Avales.ConvertAll(x => (object)x); #endregion #region Condiciones de renta this.vista.Plazo = bo.Plazo.HasValue ? bo.Plazo : null; this.vista.FechaInicioContrato = bo.FechaInicioContrato.HasValue ? bo.FechaInicioContrato : null; this.vista.FechaTerminacionContrato = bo.CalcularFechaTerminacionContrato(); this.vista.DepositoGarantia = bo.DepositoGarantia.HasValue ? bo.DepositoGarantia : null; this.vista.ComisionApertura = bo.ComisionApertura.HasValue ? bo.ComisionApertura : null; this.vista.IncluyeLavado = bo.IncluyeLavado.HasValue ? (int?)((int)bo.IncluyeLavado.Value) : null; this.vista.IncluyeLlantas = bo.IncluyeLlantas.HasValue ? (int?)((int)bo.IncluyeLlantas.Value) : null; this.vista.IncluyePinturaRotulación = bo.IncluyePinturaRotulacion.HasValue ? (int?)((int)bo.IncluyePinturaRotulacion.Value) : null; this.vista.IncluyeSeguro = bo.IncluyeSeguro.HasValue ? (int?)((int)bo.IncluyeSeguro.Value) : null; #endregion #region Otros this.vista.DireccionAlmacenaje = !string.IsNullOrEmpty(bo.DireccionAlmacenaje) && !string.IsNullOrWhiteSpace(bo.DireccionAlmacenaje) ? bo.DireccionAlmacenaje.Trim().ToUpper() : string.Empty; this.vista.UbicacionTaller = !string.IsNullOrEmpty(bo.UbicacionTaller) && !string.IsNullOrWhiteSpace(bo.UbicacionTaller) ? bo.UbicacionTaller.Trim().ToUpper() : string.Empty; this.vista.Observaciones = !string.IsNullOrEmpty(bo.Observaciones) && !string.IsNullOrWhiteSpace(bo.Observaciones) ? bo.Observaciones.Trim().ToUpper() : string.Empty; #endregion #region Unidades this.vista.LineasContrato = bo.LineasContrato.ConvertAll(x => (object)x); #endregion #region Datos adicionales this.vista.DatosAdicionales = bo.DatosAdicionalesAnexo.ConvertAll(x => (object)x); #endregion //Documentos asociados al contrato if (this.presentadorDocumentos.Vista.TiposArchivo == null) { this.presentadorDocumentos.Vista.TiposArchivo = new List <TipoArchivoBO>(); } this.presentadorDocumentos.CargarListaArchivos(bo.DocumentosAdjuntos, this.presentadorDocumentos.Vista.TiposArchivo); //Valores para la barra de herramientas this.presentadorHerramientas.DatosAInterfazUsuario(bo); }
/// <summary> /// Obtiene la información porporcionada por el ususario en la base de datos y la transforma en un contrato /// </summary> /// <returns>Contrato genenerado por los datos</returns> private object InterfazUsuarioADato() { #region Creacion BO's var bo = new ContratoManttoBO(); bo.Avales = new List <AvalBO>(); bo.CierreContrato = new CierreContratoManttoBO(); 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>(); #endregion #region Información General if (this.vista.ContratoID.HasValue) { bo.ContratoID = this.vista.ContratoID.Value; } if (this.vista.TipoContrato.HasValue) { bo.Tipo = (ETipoContrato)this.vista.TipoContrato.Value; } if (!string.IsNullOrEmpty(this.vista.NumeroContrato) && !string.IsNullOrWhiteSpace(this.vista.NumeroContrato)) { bo.NumeroContrato = this.vista.NumeroContrato.Trim().ToUpper(); } if (this.vista.EstatusContrato.HasValue) { bo.Estatus = (EEstatusContrato)this.vista.EstatusContrato.Value; } if (this.vista.FechaContrato.HasValue) { bo.FechaContrato = this.vista.FechaContrato.Value; } if (this.vista.SucursalID.HasValue) { bo.Sucursal.Id = this.vista.SucursalID.Value; } if (!String.IsNullOrEmpty(this.vista.SucursalNombre)) { bo.Sucursal.Nombre = this.vista.SucursalNombre; } if (this.vista.UnidadOperativaID.HasValue) { bo.Sucursal.UnidadOperativa.Id = this.vista.UnidadOperativaID.Value; } if (!String.IsNullOrEmpty(this.vista.UnidadOperativaNombre)) { bo.Sucursal.UnidadOperativa.Nombre = this.vista.UnidadOperativaNombre; } if (!string.IsNullOrEmpty(this.vista.RepresentanteEmpresa) && !string.IsNullOrWhiteSpace(this.vista.RepresentanteEmpresa)) { bo.Representante = this.vista.RepresentanteEmpresa.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.DivisaID) && !string.IsNullOrWhiteSpace(this.vista.DivisaID)) { bo.Divisa.MonedaDestino.Codigo = this.vista.DivisaID; } #endregion #region Informacion Cliente if (this.vista.CuentaClienteID.HasValue) { bo.Cliente.Id = this.vista.CuentaClienteID.Value; } if (!string.IsNullOrEmpty(this.vista.CuentaClienteNombre) && !string.IsNullOrWhiteSpace(this.vista.CuentaClienteNombre)) { bo.Cliente.Nombre = this.vista.CuentaClienteNombre; } if (this.vista.SoloRepresentantes.HasValue) { bo.SoloRepresentantes = this.vista.SoloRepresentantes.Value; } if (this.vista.RepresentatesLegales != null && this.vista.RepresentatesLegales.Count > 0) { bo.RepresentantesLegales = this.vista.RepresentatesLegales.ConvertAll(x => (PersonaBO)x); } if (this.vista.ObligadosSolidarios != null && this.vista.ObligadosSolidarios.Count > 0) { bo.ObligadosSolidarios = this.vista.ObligadosSolidarios.ConvertAll(x => (PersonaBO)x); } if (this.vista.ObligadosComoAvales.HasValue) { bo.ObligadosComoAvales = this.vista.ObligadosComoAvales.Value; } if (this.vista.Avales != null && this.vista.Avales.Count > 0) { bo.Avales = this.vista.Avales.ConvertAll(x => (AvalBO)x); } if (bo.ObligadosComoAvales != null && bo.ObligadosComoAvales == true) { if (this.vista.ObligadosSolidarios != null) { bo.Avales = this.vista.ObligadosSolidarios.ConvertAll(x => this.ObligadoAAval((ObligadoSolidarioBO)x)); } } if (this.vista.UnidadOperativaID.HasValue) { bo.Cliente.UnidadOperativa.Id = this.vista.UnidadOperativaID.Value; } #region Dirección del cliente var direccion = new DireccionClienteBO(); direccion.Ubicacion = new UbicacionBO { Ciudad = new CiudadBO(), Estado = new EstadoBO(), Municipio = new MunicipioBO(), Pais = new PaisBO() }; if (this.vista.DireccionClienteID.HasValue) { direccion.Id = this.vista.DireccionClienteID.Value; } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionCalle) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionCalle)) { direccion.Calle = this.vista.ClienteDireccionCalle.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionCiudad) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionCiudad)) { direccion.Ubicacion.Ciudad.Codigo = this.vista.ClienteDireccionCiudad.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionCodigoPostal) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionCodigoPostal)) { direccion.CodigoPostal = this.vista.ClienteDireccionCodigoPostal.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionColonia) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionColonia)) { direccion.Colonia = this.vista.ClienteDireccionColonia.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionEstado) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionEstado)) { direccion.Ubicacion.Estado.Codigo = this.vista.ClienteDireccionEstado.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionMunicipio) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionMunicipio)) { direccion.Ubicacion.Municipio.Codigo = this.vista.ClienteDireccionMunicipio; } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionPais) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionPais)) { direccion.Ubicacion.Pais.Codigo = this.vista.ClienteDireccionPais; } bo.Cliente.RemoverDirecciones(); bo.Cliente.Agregar(direccion); #endregion #endregion #region Condiciones de Renta if (this.vista.Plazo.HasValue) { bo.Plazo = this.vista.Plazo.Value; } if (this.vista.FechaInicioContrato.HasValue) { bo.FechaInicioContrato = this.vista.FechaInicioContrato.Value; } if (this.vista.DepositoGarantia.HasValue) { bo.DepositoGarantia = this.vista.DepositoGarantia.Value; } if (this.vista.ComisionApertura.HasValue) { bo.ComisionApertura = this.vista.ComisionApertura.Value; } if (this.vista.IncluyeLavado.HasValue) { bo.IncluyeLavado = (ETipoInclusion)this.vista.IncluyeLavado.Value; } if (this.vista.IncluyeLlantas.HasValue) { bo.IncluyeLlantas = (ETipoInclusion)this.vista.IncluyeLlantas.Value; } if (this.vista.IncluyePinturaRotulación.HasValue) { bo.IncluyePinturaRotulacion = (ETipoInclusion)this.vista.IncluyePinturaRotulación.Value; } if (this.vista.IncluyeSeguro.HasValue) { bo.IncluyeSeguro = (ETipoInclusion)this.vista.IncluyeSeguro; } #endregion #region Otros if (!string.IsNullOrEmpty(this.vista.UbicacionTaller) && !string.IsNullOrWhiteSpace(this.vista.UbicacionTaller)) { bo.UbicacionTaller = this.vista.UbicacionTaller.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.DireccionAlmacenaje) && !string.IsNullOrWhiteSpace(this.vista.DireccionAlmacenaje)) { bo.DireccionAlmacenaje = this.vista.DireccionAlmacenaje.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.Observaciones) && !string.IsNullOrWhiteSpace(this.vista.Observaciones)) { bo.Observaciones = this.vista.Observaciones.Trim().ToUpper(); } #endregion #region Datos Adicionales if (this.vista.DatosAdicionales != null && this.vista.DatosAdicionales.Count > 0) { bo.DatosAdicionalesAnexo = this.vista.DatosAdicionales.ConvertAll(x => (DatoAdicionalAnexoBO)x); } #endregion #region Unidades if (this.vista.LineasContrato != null && this.vista.LineasContrato.Count > 0) { bo.LineasContrato = this.vista.LineasContrato.ConvertAll(x => (ILineaContrato)x); } #endregion #region Documentos adjuntos List <ArchivoBO> adjuntos = presentadorDocumentos.Vista.ObtenerArchivos() ?? new List <ArchivoBO>(); foreach (ArchivoBO adjunto in adjuntos) { if (bo.Tipo != null && bo.Tipo == ETipoContrato.CM) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoMantenimiento; } if (bo.Tipo != null && bo.Tipo == ETipoContrato.SD) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoServicioDedicado; } adjunto.Auditoria = new AuditoriaBO { FC = this.vista.FC, UC = this.vista.UC, FUA = DateTime.Now, UUA = this.vista.UsuarioID.Value }; } bo.DocumentosAdjuntos = adjuntos; #endregion bo.UC = this.vista.UC; bo.FC = this.vista.FC; bo.UUA = this.vista.UsuarioID.Value; bo.FUA = DateTime.Now; return(bo); }
private void ImprimirReporte(Dictionary <string, object> datos, XmlDocument documento) { try { var contrato = datos.ContainsKey("ContratoPSLBO") ? (ContratoPSLBO)datos["ContratoPSLBO"] : null; var representante = (ConfiguracionUnidadOperativaBO)datos["RepresentanteEmpresa"]; DireccionSucursalBO dirSucursal = (DireccionSucursalBO)datos["DireccionSucursal"]; DireccionClienteBO direccion = contrato.Cliente.Direcciones[0]; #region Ciudad y Estado SUCURSAL string strCiudadEdoSuc = string.Empty; if (dirSucursal.Ubicacion != null) { if (dirSucursal.Ubicacion.Ciudad != null) { strCiudadEdoSuc += ", " + dirSucursal.Ubicacion.Ciudad.Codigo; } if (dirSucursal.Ubicacion.Estado != null) { strCiudadEdoSuc += ", " + dirSucursal.Ubicacion.Estado.Codigo; } if (!string.IsNullOrWhiteSpace(strCiudadEdoSuc)) { strCiudadEdoSuc = strCiudadEdoSuc.Substring(2); } } #endregion /Ciudad y Estado Sucursal #region Fecha if (contrato != null && contrato.FechaContrato != null) { this.xrtDia.Text = contrato.FechaInicioArrendamiento.Value.Day.ToString(); this.xrtMes.Text = contrato.FechaInicioArrendamiento.Value.Month.ToString(); this.xrtAnio.Text = contrato.FechaInicioArrendamiento.Value.Year.ToString(); } #endregion #region Empresa this.lblEmpresa.Text = ""; this.lblRepresentante.Text = ""; this.xrArrendadoraRepPor.Text = ""; this.xrArrendadoraRepPor2.Text = ""; this.lblEmpresa.Text = contrato.Sucursal.UnidadOperativa.Empresa.Nombre; if (representante != null) { this.lblRepresentante.Text = representante.Representante; this.xrArrendadoraRepPor.Text += "REPRESENTADA POR: " + representante.Representante; this.xrArrendadoraRepPor2.Text += "REPRESENTADA POR: " + representante.Representante; } List <DireccionSucursalBO> listaDireccion = contrato.Sucursal.DireccionesSucursal; this.lblDireccionEmpresa.Text = dirSucursal.Calle; this.lblCodigoPostal.Text = dirSucursal.CodigoPostal; this.lblMunicipioCiudadEstadoEmpresa.Text = ""; string direccionempresa = ""; if (dirSucursal.Ubicacion != null && dirSucursal.Ubicacion.Municipio != null) { direccionempresa = dirSucursal.Ubicacion.Municipio.Codigo; } if (dirSucursal.Ubicacion != null && dirSucursal.Ubicacion.Ciudad != null) { direccionempresa += ", " + dirSucursal.Ubicacion.Ciudad.Codigo; } if (dirSucursal.Ubicacion != null && dirSucursal.Ubicacion.Estado != null) { direccionempresa += ", " + dirSucursal.Ubicacion.Estado.Codigo; } this.lblMunicipioCiudadEstadoEmpresa.Text = direccionempresa; this.lblDomicilioFiscalEmpresa.Text = ""; this.lblRegistroFederalContribuyenteEmpresa.Text = contrato.Sucursal.UnidadOperativa.Empresa.RFC; #endregion #region [Variables para reemplazar en la plantilla] string ciudadCliente = string.Empty; string ciudadObligadoSolidarioAbal = string.Empty; string ciudadDepositario = string.Empty; #endregion #region Arrendatario List <DireccionClienteBO> listaclienteinfo = contrato.Cliente.Direcciones.ConvertAll(s => (DireccionClienteBO)s); DireccionClienteBO clienteinfo = new DireccionClienteBO(); foreach (DireccionClienteBO dircliente in listaclienteinfo) { if (dircliente.Primaria.HasValue && dircliente.Primaria.Value) { clienteinfo = dircliente; } } string ciudadestadomuni = string.Empty; if (clienteinfo != null && clienteinfo.Ubicacion != null && clienteinfo.Ubicacion.Ciudad != null) { ciudadCliente = clienteinfo.Ubicacion.Ciudad.Codigo; ciudadestadomuni = clienteinfo.Ubicacion.Ciudad.Codigo; } if (clienteinfo != null && clienteinfo.Ubicacion != null && clienteinfo.Ubicacion.Estado != null) { ciudadestadomuni += ", " + clienteinfo.Ubicacion.Estado.Codigo; } if (clienteinfo != null && clienteinfo.Ubicacion != null && clienteinfo.Ubicacion.Municipio != null) { ciudadestadomuni += ", " + clienteinfo.Ubicacion.Municipio.Codigo; } this.lblNombreRazonSocialArrendatario.Text = contrato.Cliente.Nombre; this.lblDireccionArrendatario.Text = contrato.Cliente.Direccion; this.lblCodigoPostalArrendatario.Text = clienteinfo.CodigoPostal; this.lblMunicipioCiudadEstadoArrendatario.Text = ciudadestadomuni; this.lblDomicilioFiscalArrendatario.Text = clienteinfo.Direccion; this.lblRFCArrendatario.Text = ""; if (contrato.Cliente != null && contrato.Cliente.Cliente != null) { this.lblRFCArrendatario.Text = contrato.Cliente.Cliente.RFC; } #endregion #region Datos de identificación this.lblNombreCompletoRepresentante.Text = ""; this.xrArrendatarioRepPor.Text = ""; this.xrArrendatarioRepPor2.Text = ""; this.lblRegistroFederalContribuyentesRepresentante.Text = ""; this.lblDomicilioRepresentante.Text = ""; //obligado solidario y aval this.lblNombreSolidarioYAval.Text = ""; this.lblDireccionSolidarioYAval.Text = ""; this.lblCodigoPostalSolidarioYAval.Text = ""; this.lblMunicipioCiudadEstadoSolidarioYAval.Text = ""; this.lblRegistroFederalContribuyenteolidarioYAval.Text = ""; string dirmunicipioobligado = string.Empty; string municiudadestadosol = string.Empty; string repLeg = string.Empty; if (contrato.RepresentantesLegales.Count > 0) { RepresentanteLegalBO RepresentantesLegales = contrato.RepresentantesLegales.ConvertAll(s => (RepresentanteLegalBO)s).FirstOrDefault(); if (RepresentantesLegales != null) { this.lblNombreCompletoRepresentante.Text = RepresentantesLegales.Nombre; this.xrArrendatarioRepPor.Text = "REPRESENTADA POR: " + RepresentantesLegales.Nombre; this.xrArrendatarioRepPor2.Text = "REPRESENTADA POR: " + RepresentantesLegales.Nombre; this.lblRegistroFederalContribuyentesRepresentante.Text = RepresentantesLegales.RFC; repLeg = RepresentantesLegales.Nombre; //Se busca la dirección del representante if (RepresentantesLegales.DireccionPersona.Ubicacion != null && RepresentantesLegales.DireccionPersona.Ubicacion.Municipio != null) { municiudadestadosol = RepresentantesLegales.DireccionPersona.Ubicacion.Municipio.Codigo; } if (RepresentantesLegales.DireccionPersona.Ubicacion != null && RepresentantesLegales.DireccionPersona.Ubicacion.Ciudad != null) { municiudadestadosol += ", " + RepresentantesLegales.DireccionPersona.Ubicacion.Ciudad.Codigo; ciudadObligadoSolidarioAbal = RepresentantesLegales.DireccionPersona.Ubicacion.Ciudad.Codigo; } if (RepresentantesLegales.DireccionPersona.Ubicacion != null && RepresentantesLegales.DireccionPersona.Ubicacion.Estado != null) { municiudadestadosol += ", " + RepresentantesLegales.DireccionPersona.Ubicacion.Estado.Codigo; } //Se validará si se cambiará this.lblDomicilioRepresentante.Text = RepresentantesLegales.Direccion; //Cuando todos los representantes legales son avales se if (contrato.SoloRepresentantes.GetValueOrDefault() == true) { this.lblNombreSolidarioYAval.Text = RepresentantesLegales.Nombre; //Se validará si se cambiará this.lblDireccionSolidarioYAval.Text = RepresentantesLegales.Direccion; this.lblCodigoPostalSolidarioYAval.Text = RepresentantesLegales.DireccionPersona.CodigoPostal; this.lblMunicipioCiudadEstadoSolidarioYAval.Text = municiudadestadosol; this.lblRegistroFederalContribuyenteolidarioYAval.Text = RepresentantesLegales.RFC; } } } #endregion #region Obligado Solidario Y aval this.xrObligadoSolidarioRepPor.Text = ""; this.xrObligadoSolidarioRepPor2.Text = ""; dirmunicipioobligado = string.Empty; municiudadestadosol = string.Empty; AvalBO avalbo = contrato.Avales != null && contrato.Avales.Count > 0 ? contrato.Avales.ConvertAll(s => (AvalBO)s)[0] : null; if (avalbo != null) { this.lblNombreSolidarioYAval.Text = avalbo.Nombre; this.lblDireccionSolidarioYAval.Text = avalbo.Direccion; this.lblCodigoPostalSolidarioYAval.Text = avalbo.DireccionPersona.CodigoPostal; if (avalbo.DireccionPersona.Ubicacion != null && avalbo.DireccionPersona.Ubicacion.Municipio != null) { municiudadestadosol = avalbo.DireccionPersona.Ubicacion.Municipio.Codigo; } if (avalbo.DireccionPersona.Ubicacion != null && avalbo.DireccionPersona.Ubicacion.Ciudad != null) { municiudadestadosol += ", " + avalbo.DireccionPersona.Ubicacion.Ciudad.Codigo; ciudadObligadoSolidarioAbal = avalbo.DireccionPersona.Ubicacion.Ciudad.Codigo; } if (avalbo.DireccionPersona.Ubicacion != null && avalbo.DireccionPersona.Ubicacion.Estado != null) { municiudadestadosol += ", " + avalbo.DireccionPersona.Ubicacion.Estado.Codigo; } this.lblMunicipioCiudadEstadoSolidarioYAval.Text = municiudadestadosol; this.lblRegistroFederalContribuyenteolidarioYAval.Text = avalbo.RFC; } #endregion #region Depositario string depositarioSolidario = ""; this.lblNombresApellidosMaternoPaternoDepositario.Text = ""; this.lblMunicipioCiudadEstadoDepositario.Text = ""; this.lblCodigoPostalDepositario.Text = ""; this.lblRegistroFederalContribuyentesDepositario.Text = ""; this.lblDepositarioDireccion.Text = ""; List <RepresentanteLegalBO> listaPersonaDepositario = contrato.RepresentantesLegales.ConvertAll(a => (RepresentanteLegalBO)a); foreach (RepresentanteLegalBO personadepositario in listaPersonaDepositario) { if (personadepositario.EsDepositario.HasValue && personadepositario.EsDepositario.Value) { if (personadepositario.DireccionPersona != null && personadepositario.DireccionPersona.Ubicacion != null && personadepositario.DireccionPersona.Ubicacion.Municipio != null) { dirmunicipioobligado = personadepositario.DireccionPersona.Ubicacion.Municipio.Codigo; } if (personadepositario.DireccionPersona != null && personadepositario.DireccionPersona.Ubicacion != null && personadepositario.DireccionPersona.Ubicacion.Ciudad != null) { dirmunicipioobligado += ", " + personadepositario.DireccionPersona.Ubicacion.Ciudad.Codigo; ciudadDepositario = personadepositario.DireccionPersona.Ubicacion.Ciudad.Codigo; } if (personadepositario.DireccionPersona != null && personadepositario.DireccionPersona.Ubicacion != null && personadepositario.DireccionPersona.Ubicacion.Estado != null) { dirmunicipioobligado += ", " + personadepositario.DireccionPersona.Ubicacion.Estado.Codigo; } depositarioSolidario = personadepositario.Nombre; this.lblNombresApellidosMaternoPaternoDepositario.Text = depositarioSolidario; this.lblMunicipioCiudadEstadoDepositario.Text = dirmunicipioobligado; this.lblCodigoPostalDepositario.Text = personadepositario.DireccionPersona != null ? personadepositario.DireccionPersona.CodigoPostal : ""; this.lblMunicipioCiudadEstadoSolidarioYAval.Text = dirmunicipioobligado; this.lblRegistroFederalContribuyentesDepositario.Text = personadepositario.RFC; this.lblDepositarioDireccion.Text = personadepositario.Direccion; break; } } #endregion #region Aceptacion y firmas XmlNodeList AceptacionyFirmas = documento.GetElementsByTagName("AceptacionYFirmas"); if (AceptacionyFirmas.Count < 1) { throw new Exception("el formato del archivo XML es incorrecto"); } this.xrRichText3.Html = AceptacionyFirmas[0].InnerText.Replace("{CIUDAD_CLIENTE}", strCiudadEdoSuc).Replace("{CIUDAD_OBLIGADOR_SOLIDARIO_AVAL}", strCiudadEdoSuc).Replace("{CIUDAD_DEPOSITARIO}", strCiudadEdoSuc); #endregion #region Firmas AvalBO aval = contrato.Avales.Count > 0 ? contrato.Avales.ConvertAll(s => (AvalBO)s)[0] : null; this.xrlNombreEmpresa.Text = contrato.Sucursal.UnidadOperativa.Empresa.Nombre; this.xrRichArrendatario2.Html = "<div style=\"text-align: center;\"><a style=\"font-family:Times New Roman; font-size:10px;\">" + Nombre_Razon + contrato.Cliente.Nombre + "</a></div>"; this.xrRichObligado2.Html = "<div style=\"text-align: center;\"><a style=\"font-family:Times New Roman; font-size:10px;\">" + Nombre_Razon + this.lblNombreSolidarioYAval.Text + "</a></div>"; this.xrRichDepositario2.Html = "<div style=\"text-align: center;\"><a style=\"font-family:Times New Roman; font-size:10px;\">" + Nombre + depositarioSolidario + " , por su propio y personal derecho.</a></div>"; this.xrObligadoSolidarioRepPor.Text = "REPRESENTADA POR: "; if (!string.IsNullOrEmpty(repLeg)) { this.xrObligadoSolidarioRepPor.Text += repLeg; } #endregion #region Contrato //Información de las Declaraciones XmlNodeList contratoCuerpo = documento.GetElementsByTagName("Declaraciones"); if (contratoCuerpo.Count < 1) { throw new Exception("el formato del archivo XML es incorrecto"); } //Información del contrato XmlNodeList antesTable = documento.GetElementsByTagName("Informacion"); if (antesTable.Count < 1) { throw new Exception("el formato del archivo XML es incorrecto"); } //Obtener la tabla de Generación o Construcción XmlNodeList TablaConstruccion = documento.GetElementsByTagName(ETipoEmpresa.Generacion == (ETipoEmpresa)contrato.Sucursal.UnidadOperativa.Id ? "Generacion" : ETipoEmpresa.Construccion == (ETipoEmpresa)contrato.Sucursal.UnidadOperativa.Id ? "Construccion" : "Equinova"); if (TablaConstruccion.Count < 1) { throw new Exception("el formato del archivo XML es incorrecto"); } //InformacionDespuesTablas XmlNodeList despuesTablas = documento.GetElementsByTagName("InformacionDespuesTablas"); if (despuesTablas.Count < 1) { throw new Exception("el formato del archivo XML es incorrecto"); } this.xrRichPrimero.Html = "<div style=\"margin: 5px 5px 5px 5px;\">" + contratoCuerpo[0].InnerText + antesTable[0].InnerText + TablaConstruccion[0].InnerText + despuesTablas[0].InnerText + "</div>"; #region Firmas Contrato this.xrlNombreEmpresaContrato.Text = contrato.Sucursal.UnidadOperativa.Empresa.Nombre; this.xrRichArrendatario.Html = "<div style=\"text-align: center;\"><a style=\"font-family:Times New Roman; font-size:10px;\">" + Nombre_Razon + contrato.Cliente.Nombre + "</a></div>"; this.xrRichObligado.Html = "<div style=\"text-align: center;\"><a style=\"font-family:Times New Roman; font-size:10px;\">" + Nombre_Razon + this.lblNombreSolidarioYAval.Text + "</a></div>"; this.xrObligadoSolidarioRepPor2.Text = "REPRESENTADA POR: "; if (!string.IsNullOrEmpty(repLeg)) { this.xrObligadoSolidarioRepPor2.Text += repLeg; } this.xrRichDepositario.Html = "<div style=\"text-align: center;\"><a style=\"font-family:Times New Roman; font-size:10px;\">" + Nombre + depositarioSolidario + " , por su propio y personal derecho.</a></div>"; #endregion #endregion } catch (Exception ex) { throw new Exception(".ImpirmirReporte: Error al imprimir el reporte. " + ex.Message); } }
/// <summary> /// Obtiene los datos de la Vista /// </summary> /// <returns></returns> private object InterfazUsuarioADato() { ContratoManttoBO bo = new ContratoManttoBO(); bo.Cliente = new CuentaClienteIdealeaseBO(); bo.Cliente.UnidadOperativa = new UnidadOperativaBO(); bo.Divisa = new DivisaBO(); bo.Divisa.MonedaDestino = new MonedaBO(); bo.Sucursal = new SucursalBO(); bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); bo.LineasContrato = new List <ILineaContrato>(); //Información General if (vista.TipoContratoID != null) { bo.Tipo = (ETipoContrato)Enum.Parse(typeof(ETipoContrato), vista.TipoContratoID.ToString()); } if (vista.SucursalID != null) { bo.Sucursal.Id = vista.SucursalID; } if (vista.SucursalNombre != null) { bo.Sucursal.Nombre = vista.SucursalNombre; } if (vista.UnidadOperativaID != null) { bo.Sucursal.UnidadOperativa.Id = vista.UnidadOperativaID; bo.Cliente.UnidadOperativa.Id = vista.UnidadOperativaID; } if (!String.IsNullOrEmpty(vista.UnidadOperativaNombre)) { bo.Sucursal.UnidadOperativa.Nombre = vista.UnidadOperativaNombre; } bo.Representante = vista.RepresentanteEmpresa; if (vista.CodigoMoneda != null) { bo.Divisa.MonedaDestino.Codigo = vista.CodigoMoneda; } if (vista.FechaContrato != null) { bo.FechaContrato = vista.FechaContrato; } //Datos del Cliente if (vista.CuentaClienteID != null) { bo.Cliente.Id = vista.CuentaClienteID; } if (!string.IsNullOrEmpty(vista.CuentaClienteNombre) && !string.IsNullOrWhiteSpace(vista.CuentaClienteNombre)) { bo.Cliente.Nombre = vista.CuentaClienteNombre; } if (vista.RepresentantesLegales != null) { bo.RepresentantesLegales = vista.RepresentantesLegales.ConvertAll(s => (PersonaBO)s); } if (vista.ObligadosSolidarios != null) { bo.ObligadosSolidarios = vista.ObligadosSolidarios.ConvertAll(s => (PersonaBO)s); } bo.SoloRepresentantes = vista.SoloRepresentantes; bo.ObligadosComoAvales = vista.ObligadosComoAvales; if (vista.Avales != null) { bo.Avales = vista.Avales; } if (bo.ObligadosComoAvales != null && bo.ObligadosComoAvales == true) { if (vista.ObligadosSolidarios != null) { bo.Avales = vista.ObligadosSolidarios.ConvertAll(s => ObligadoAAval(s)); } } #region Dirección del Cliente DireccionClienteBO direccion = new DireccionClienteBO { Id = vista.DireccionClienteID, Ubicacion = new UbicacionBO { Pais = new PaisBO { Codigo = vista.ClienteDireccionPais }, Municipio = new MunicipioBO { Codigo = vista.ClienteDireccionMunicipio }, Estado = new EstadoBO { Codigo = vista.ClienteDireccionEstado }, Ciudad = new CiudadBO { Codigo = vista.ClienteDireccionCiudad } }, CodigoPostal = vista.ClienteDireccionCodigoPostal, Calle = vista.ClienteDireccionCalle, Colonia = vista.ClienteDireccionColonia }; bo.Cliente.RemoverDirecciones(); bo.Cliente.Agregar(direccion); #endregion bo.Plazo = vista.Plazo; bo.FechaInicioContrato = vista.FechaInicioContrato; if (vista.LineasContrato != null) { bo.LineasContrato = vista.LineasContrato.ConvertAll(s => (ILineaContrato)s); #region RI0006 foreach (var linea in bo.LineasContrato) { linea.LineaContratoID = null; } #endregion } bo.UbicacionTaller = vista.UbicacionTaller; bo.DepositoGarantia = vista.DepositoGarantia; bo.ComisionApertura = vista.ComisionApertura; if (vista.IncluyeSeguroID != null) { bo.IncluyeSeguro = (ETipoInclusion)Enum.Parse(typeof(ETipoInclusion), vista.IncluyeSeguroID.ToString()); } if (vista.IncluyeLavadoID != null) { bo.IncluyeLavado = (ETipoInclusion)Enum.Parse(typeof(ETipoInclusion), vista.IncluyeLavadoID.ToString()); } if (vista.IncluyePinturaRotulacionID != null) { bo.IncluyePinturaRotulacion = (ETipoInclusion)Enum.Parse(typeof(ETipoInclusion), vista.IncluyePinturaRotulacionID.ToString()); } if (vista.IncluyeLlantasID != null) { bo.IncluyeLlantas = (ETipoInclusion)Enum.Parse(typeof(ETipoInclusion), vista.IncluyeLlantasID.ToString()); } bo.DireccionAlmacenaje = vista.DireccionAlmacenaje; if (vista.DatosAdicionales != null) { bo.DatosAdicionalesAnexo = vista.DatosAdicionales; } #region Archivos Adjuntos List <ArchivoBO> adjuntos = presentadorDocumentos.Vista.ObtenerArchivos() ?? new List <ArchivoBO>(); foreach (ArchivoBO adjunto in adjuntos) { if (bo.Tipo != null && bo.Tipo == ETipoContrato.CM) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoMantenimiento; } if (bo.Tipo != null && bo.Tipo == ETipoContrato.SD) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoServicioDedicado; } adjunto.Auditoria = new AuditoriaBO { FC = vista.FC, UC = vista.UC, FUA = vista.FUA, UUA = vista.UUA }; } bo.DocumentosAdjuntos = adjuntos; #endregion if (vista.Observaciones != null) { bo.Observaciones = vista.Observaciones; } if (vista.EstatusID != null) { bo.Estatus = (EEstatusContrato)Enum.Parse(typeof(EEstatusContrato), vista.EstatusID.ToString()); } if (vista.FC != null) { bo.FC = vista.FC; } if (vista.UC != null) { bo.UC = vista.UC; } if (vista.FUA != null) { bo.FUA = vista.FUA; } if (vista.UUA != null) { bo.UUA = vista.UUA; } return(bo); }
private void ImprimirReporte(Dictionary <string, object> datos) { try { var contrato = (ContratoPSLBO)datos["ContratoPSLBO"]; #region Carta Depositaria string obligadosolidario = string.Empty; AvalBO avalbo = contrato.Avales != null && contrato.Avales.Count > 0 ? contrato.Avales.ConvertAll(s => (AvalBO)s)[0] : null; if (avalbo != null) { obligadosolidario = avalbo.Nombre; } #region Información del Depositario this.xrNombreApellidosDepositario.Text = ""; this.xrDomicilioDepositario.Text = ""; var depositario = (contrato.RepresentantesLegales.ConvertAll(a => (RepresentanteLegalBO)a)).Where(x => x.EsDepositario.GetValueOrDefault() == true).FirstOrDefault(); if (depositario == null) { depositario = new RepresentanteLegalBO(); } if (depositario != null) { this.xrNombreApellidosDepositario.Text = depositario.Nombre; this.xrDomicilioDepositario.Text = depositario.Direccion; } #endregion this.xrAnexoCartaDepositaria.Text = "Anexo que se suscribe por EL DEPOSITARIO y que forma parte integrante del “CONTRATO DE ARRENDAMIENTO DE BIENES MUEBLES” suscrito entre LA ARRENDADORA " + contrato.Sucursal.UnidadOperativa.Empresa.Nombre + ", EL ARRENDATARIO " + contrato.Cliente.Nombre + ", el OBLIGADO SOLIDARIO Y AVAL " + obligadosolidario + " y el DEPOSITARIO " + depositario.Nombre ?? string.Empty + "."; this.xrtDiaCartaDepositaria.Text = ""; this.xrtMesCartaDepositaria.Text = ""; this.xrtAnioCartaDepositaria.Text = ""; if (contrato.FechaInicioActual != null) { this.xrtDiaCartaDepositaria.Text = contrato.FechaInicioActual.Value.Day.ToString(); this.xrtMesCartaDepositaria.Text = contrato.FechaInicioActual.Value.Month.ToString(); this.xrtAnioCartaDepositaria.Text = contrato.FechaInicioActual.Value.Year.ToString(); } List <LineaContratoPSLBO> listaContrato = contrato.LineasContrato.ConvertAll(s => (LineaContratoPSLBO)s); string listaunidades = string.Empty; foreach (LineaContratoPSLBO lineascnt in listaContrato) { if (listaunidades != "") { listaunidades = listaunidades + ", "; } if (lineascnt.Equipo != null && lineascnt.Equipo.TipoEquipoServicio != null && lineascnt.Equipo.Modelo != null) { listaunidades += lineascnt.Equipo.TipoEquipoServicio.Nombre + "- " + lineascnt.Equipo.Modelo.Nombre; } } this.xrDescripcionBienesMueblesCartaDepositaria.Text = listaunidades; this.xrUbicacionEntregaBienCartaDepositaria.Text = contrato.DestinoAreaOperacion; #region [Dirección cliente] List <DireccionClienteBO> listaclienteinfo = contrato.Cliente.Direcciones.ConvertAll(s => (DireccionClienteBO)s); DireccionClienteBO clienteinfo = new DireccionClienteBO(); foreach (DireccionClienteBO dircliente in listaclienteinfo) { if (dircliente.Primaria.HasValue && dircliente.Primaria.Value) { clienteinfo = dircliente; } } string municipiocliente = string.Empty; string estadocliente = string.Empty; if (clienteinfo != null && clienteinfo.Ubicacion != null && clienteinfo.Ubicacion.Estado != null) { estadocliente = clienteinfo.Ubicacion.Estado.Codigo; } if (clienteinfo != null && clienteinfo.Ubicacion != null && clienteinfo.Ubicacion.Municipio != null) { municipiocliente = clienteinfo.Ubicacion.Municipio.Codigo; } #endregion string direccionsucursal = string.Empty; if (contrato.Sucursal != null && contrato.Sucursal.DireccionesSucursal != null && contrato.Sucursal.DireccionesSucursal.Count > 0) { direccionsucursal = contrato.Sucursal.DireccionesSucursal[0].Nombre; } this.xrSuscritoCartaDepositaria.Text = "Suscrito en el municipio de " + municipiocliente + ", Estado de " + estadocliente + ", México; en la fecha de " + ((DateTime)contrato.FechaInicioActual).ToShortDateString() + "."; this.xrNombreDepostarioFirma.Text = string.Format("{0}{1}", "NOMBRE: ", depositario.Nombre); #endregion } catch (Exception ex) { throw new Exception(".ImprimirReporte: Error al imprimir el reporte. " + ex.Message); } }
/// <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(); bo.Cliente.UnidadOperativa = new UnidadOperativaBO(); bo.Divisa = new DivisaBO(); bo.Divisa.MonedaDestino = new MonedaBO(); bo.Sucursal = new SucursalBO(); bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); bo.LineasContrato = new List <ILineaContrato>(); bo.Operador = new OperadorBO(); bo.Operador.Direccion = new DireccionPersonaBO(); bo.Operador.Direccion.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; bo.Tipo = ETipoContrato.ROC;//Se establece el tipo como ROC. 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; } 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; } #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 Campos de ROC bo.MontoTotalArrendamiento = this.vista.MontoTotalArrendamiento; bo.FechaPagoRenta = this.vista.FechaPagoRenta; bo.Plazo = this.vista.Plazo; bo.InversionInicial = this.vista.InversionInicial; #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; bo.LineasContrato.Add(lineaBO); } //bo.LineasContrato = this.vista.LineasContrato.ConvertAll(s => (ILineaContrato)s); #endregion #region Archivos Adjuntos List <ArchivoBO> adjuntos = presentadorDocumentos.Vista.ObtenerArchivos() ?? new List <ArchivoBO>(); foreach (ArchivoBO adjunto in adjuntos) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoROC; 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); }
/// <summary> /// Obtiene los datos de la Vista /// </summary> /// <returns></returns> private object InterfazUsuarioADato() { UnidadOperativaBO unidadOperativa = new UnidadOperativaBO(); if (this.vista.UnidadOperativaID != null) { unidadOperativa.Id = this.vista.UnidadOperativaID; } if (this.vista.UnidadOperativaNombre != null) { unidadOperativa.Nombre = vista.UnidadOperativaNombre; } ContratoRDBO bo = new ContratoRDBO(); bo.Cliente = new CuentaClienteIdealeaseBO(); bo.Cliente.Cliente = new ClienteBO(); bo.Cliente.UnidadOperativa = new UnidadOperativaBO(); bo.Divisa = new DivisaBO(); bo.Divisa.MonedaDestino = new MonedaBO(); bo.Sucursal = new SucursalBO(); bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); bo.LineasContrato = new List <ILineaContrato>(); bo.Operador = new OperadorBO(); bo.Operador.Direccion = new DireccionPersonaBO(); bo.Operador.Direccion.Ubicacion = new UbicacionBO() { Ciudad = new CiudadBO(), Estado = new EstadoBO(), Municipio = new MunicipioBO(), Pais = new PaisBO() }; bo.Operador.Licencia = new LicenciaBO(); bo.Tipo = ETipoContrato.RD; if (this.vista.SucursalID != null) { bo.Sucursal.Id = this.vista.SucursalID; } if (this.vista.SucursalNombre != null) { bo.Sucursal.Nombre = this.vista.SucursalNombre; } 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 = this.vista.ClienteRFC ?? this.vista.ClienteRFC; bo.Cliente.Cliente.Numero = this.vista.CuentaClienteNumeroCuenta ?? this.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, Primaria = true }; bo.Cliente.RemoverDirecciones(); bo.Cliente.Agregar(direccion); #endregion #region Operador if (this.vista.OperadorID != null) { bo.Operador.OperadorID = this.vista.OperadorID; } if (this.vista.OperadorAniosExperiencia != null) { bo.Operador.AñosExperiencia = this.vista.OperadorAniosExperiencia; } if (this.vista.OperadorFechaNacimiento != null) { bo.Operador.FechaNacimiento = this.vista.OperadorFechaNacimiento; } if (!string.IsNullOrEmpty(this.vista.OperadorDireccionCalle)) { bo.Operador.Direccion.Calle = this.vista.OperadorDireccionCalle; } if (!string.IsNullOrEmpty(this.vista.OperadorDireccionCiudad)) { bo.Operador.Direccion.Ubicacion.Ciudad.Nombre = this.vista.OperadorDireccionCiudad; } if (!string.IsNullOrEmpty(this.vista.OperadorDireccionEstado)) { bo.Operador.Direccion.Ubicacion.Estado.Nombre = this.vista.OperadorDireccionEstado; } if (!string.IsNullOrEmpty(this.vista.OperadorDireccionCP)) { bo.Operador.Direccion.CodigoPostal = this.vista.OperadorDireccionCP; } if (!string.IsNullOrEmpty(this.vista.OperadorLicenciaEstado)) { bo.Operador.Licencia.Estado = this.vista.OperadorLicenciaEstado; } if (this.vista.OperadorLicenciaFechaExpiracion != null) { bo.Operador.Licencia.FechaExpiracion = this.vista.OperadorLicenciaFechaExpiracion; } if (!string.IsNullOrEmpty(this.vista.OperadorLicenciaNumero)) { bo.Operador.Licencia.Numero = this.vista.OperadorLicenciaNumero; } if (this.vista.OperadorLicenciaTipoID != null) { bo.Operador.Licencia.Tipo = (ETipoLicencia)Enum.Parse(typeof(ETipoLicencia), this.vista.OperadorLicenciaTipoID.ToString()); } if (!string.IsNullOrEmpty(this.vista.OperadorNombre)) { bo.Operador.Nombre = this.vista.OperadorNombre; } #endregion if (this.vista.FechaContrato != null) { bo.FechaContrato = this.vista.FechaContrato; } if (this.vista.FechaPromesaDevolucion != null) { bo.FechaPromesaDevolucion = this.vista.FechaPromesaDevolucion; } 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.BitacoraViajeConductor != null) { bo.BitacoraViajeConductor = this.vista.BitacoraViajeConductor; } if (this.vista.DestinoAreaOperacion != null) { bo.DestinoAreaOperacion = this.vista.DestinoAreaOperacion; } if (this.vista.LectorKilometrajeID != null) { bo.LectorKilometraje = (ELectorKilometraje)Enum.Parse(typeof(ELectorKilometraje), this.vista.LectorKilometrajeID.ToString()); } if (this.vista.MercanciaTransportar != null) { bo.MercanciaTransportar = this.vista.MercanciaTransportar; } if (this.vista.MotivoRentaID != null) { bo.MotivoRenta = (EMotivoRenta)Enum.Parse(typeof(EMotivoRenta), this.vista.MotivoRentaID.ToString()); } if (this.vista.PorcentajeDeducible != null) { bo.PorcentajeDeducible = this.vista.PorcentajeDeducible; } 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; } #region BEP1401.SC0026 if (this.vista.DiasFacturar != null) { bo.DiasFacturar = this.vista.DiasFacturar; } #endregion 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; } #region Linea de Contrato LineaContratoRDBO lineaBO = new LineaContratoRDBO() { Activo = true }; if (this.vista.EquipoID != null) { if (lineaBO.Equipo == null) { lineaBO.Equipo = new UnidadBO(); } lineaBO.Equipo.EquipoID = this.vista.EquipoID; } if (this.vista.UnidadID != null) { if (lineaBO.Equipo == null) { lineaBO.Equipo = new UnidadBO(); } ((UnidadBO)lineaBO.Equipo).UnidadID = this.vista.UnidadID; } if (!string.IsNullOrWhiteSpace(this.vista.ClaveProductoServicio)) { if (lineaBO.ProductoServicio == null) { lineaBO.ProductoServicio = new ProductoServicioBO(); } lineaBO.ProductoServicio.Id = this.vista.ProductoServicioId; lineaBO.ProductoServicio.NombreCorto = this.vista.ClaveProductoServicio; lineaBO.ProductoServicio.Nombre = this.vista.DescripcionProductoServicio; } if (this.vista.TipoTarifaID != null) { lineaBO.TipoTarifa = (ETipoTarifa)Enum.Parse(typeof(ETipoTarifa), this.vista.TipoTarifaID.ToString()); } lineaBO.Cobrable = new TarifaContratoRDBO() { RangoTarifas = new List <RangoTarifaRDBO>() { new RangoTarifaRDBO() }, TarifasEquipoAliado = new List <TarifaContratoRDEquipoAliadoBO>() }; if (string.IsNullOrEmpty(this.vista.TarifaDescripcion)) { ((TarifaContratoRDBO)lineaBO.Cobrable).Descripcion = this.vista.TarifaDescripcion; } if (this.vista.CapacidadCarga != null) { ((TarifaContratoRDBO)lineaBO.Cobrable).CapacidadCarga = this.vista.CapacidadCarga; } if (this.vista.TarifaDiaria != null) { ((TarifaContratoRDBO)lineaBO.Cobrable).TarifaDiaria = this.vista.TarifaDiaria; } if (this.vista.KmsLibres != null) { ((TarifaContratoRDBO)lineaBO.Cobrable).KmsLibres = this.vista.KmsLibres; ((TarifaContratoRDBO)lineaBO.Cobrable).RangoTarifas.First().KmRangoInicial = this.vista.KmsLibres + 1; } if (this.vista.TarifaKmAdicional != null) { ((TarifaContratoRDBO)lineaBO.Cobrable).RangoTarifas.First().CargoKm = this.vista.TarifaKmAdicional; } if (this.vista.HrsLibres != null) { ((TarifaContratoRDBO)lineaBO.Cobrable).HrsLibres = this.vista.HrsLibres; ((TarifaContratoRDBO)lineaBO.Cobrable).RangoTarifas.First().HrRangoInicial = this.vista.HrsLibres + 1; } if (this.vista.TarifaHrAdicional != null) { ((TarifaContratoRDBO)lineaBO.Cobrable).RangoTarifas.First().CargoHr = this.vista.TarifaHrAdicional; } if (!String.IsNullOrEmpty(this.vista.NumeroEconomico)) { if (lineaBO.Equipo == null) { lineaBO.Equipo = new UnidadBO(); } ((UnidadBO)lineaBO.Equipo).NumeroEconomico = this.vista.NumeroEconomico; } bo.LineasContrato.Add(lineaBO); #endregion #region Archivos Adjuntos List <ArchivoBO> adjuntos = presentadorDocumentos.Vista.ObtenerArchivos() ?? new List <ArchivoBO>(); foreach (ArchivoBO adjunto in adjuntos) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoRD; 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); }
/// <summary> /// Obtiene un Contrato a partir de los datos de la vista /// </summary> /// <returns></returns> public ContratoFSLBO InterfazUsuarioADatos() { try { var contrato = new ContratoFSLBO { ContratoID = null, #region Cuenta Bancaria //Banco = informacionPagoPRE.Vista.CuentaBancariaSeleccionada, #endregion Cliente = new CuentaClienteIdealeaseBO { Id = clienteContratoPRE.Vista.CuentaClienteID, Nombre = clienteContratoPRE.Vista.NombreCuentaCliente, Cliente = new ClienteBO { Id = clienteContratoPRE.Vista.ClienteID, Fisica = clienteContratoPRE.Vista.EsFisico }, UnidadOperativa = new UnidadOperativaBO { Id = vista.UnidadOperativa.Id, Nombre = vista.UnidadOperativa.Nombre} }, FechaContrato = informacionGeneralPRE.Vista.FechaContrato, FechaInicioContrato = informacionPagoPRE.Vista.FechaInicioContrato, Divisa = new DivisaBO { MonedaDestino = informacionGeneralPRE.Vista.MonedaSeleccionada }, DiasPago = informacionPagoPRE.Vista.DiasPago, IncluyeLavado = datosRentaPRE.Vista.IncluyeLavadoSeleccionado, IncluyeLlantas = datosRentaPRE.Vista.IncluyeLlantasSeleccionado, IncluyePinturaRotulacion = datosRentaPRE.Vista.IncluyePinturaSeleccionado, IncluyeSeguro = datosRentaPRE.Vista.IncluyeSeguroSeleccionado, FrecuenciaSeguro = datosRentaPRE.Vista.FrecuenciaSeguro, PorcentajeSeguro = datosRentaPRE.Vista.PorcentajeSeguro, LineasContrato = datosRentaPRE.Vista.LineasContrato.ConvertAll(s => (ILineaContrato)s), ObligadosSolidarios = clienteContratoPRE.Vista.ObligadosSolidariosContrato.ConvertAll(s => (PersonaBO)s), Plazo = datosRentaPRE.Vista.PlazoMeses, Representante = informacionGeneralPRE.Vista.Representante, RepresentantesLegales = clienteContratoPRE.Vista.RepresentantesLegalesContrato.ConvertAll(s => (PersonaBO)s), Sucursal = informacionGeneralPRE.Vista.SucursalSeleccionada, Tipo = ETipoContrato.FSL, UbicacionTaller = datosRentaPRE.Vista.UbicacionTaller, SoloRepresentantes = clienteContratoPRE.Vista.SoloRepresentantes, PorcentajePenalizacion = informacionGeneralPRE.Vista.PorcentajePenalizacion }; contrato.ObligadosComoAvales = clienteContratoPRE.Vista.ObligadosComoAvales; if (clienteContratoPRE.Vista.AvalesSeleccionados != null) contrato.Avales = clienteContratoPRE.Vista.AvalesSeleccionados; if (contrato.ObligadosComoAvales != null && contrato.ObligadosComoAvales == true) { if (clienteContratoPRE.Vista.ObligadosSolidariosContrato != null) contrato.Avales = clienteContratoPRE.Vista.ObligadosSolidariosContrato.ConvertAll(s => clienteContratoPRE.ObligadoAAval(s)); } List<ArchivoBO> adjuntos = documentosPRE.Vista.ObtenerArchivos() ?? new List<ArchivoBO>(); foreach (ArchivoBO adjuntoContratoBo in adjuntos) { adjuntoContratoBo.TipoAdjunto = ETipoAdjunto.ContratoFSL; } contrato.DocumentosAdjuntos = adjuntos; // Se Agregan datos de Auditoria contrato.FC = vista.FC; contrato.UC = vista.UC; contrato.FUA = vista.FUA; contrato.UUA = vista.UUA; contrato.Estatus = EEstatusContrato.Borrador; // Se agrega la Auditoria de cada uno de los documentos adjuntos foreach (ArchivoBO adjunto in contrato.DocumentosAdjuntos) { if (adjunto.Id == null) { adjunto.Auditoria = new AuditoriaBO { FC = contrato.FUA, UC = contrato.UUA, FUA = contrato.FUA, UUA = contrato.UUA }; } else { adjunto.Auditoria.FUA = contrato.FUA; adjunto.Auditoria.UUA = contrato.UUA; } } #region SC0001 DireccionClienteBO direccion = new DireccionClienteBO { Id = clienteContratoPRE.Vista.DireccionClienteID, Ubicacion = new UbicacionBO { Pais = new PaisBO {Codigo = clienteContratoPRE.Vista.Pais}, Municipio = new MunicipioBO {Codigo = clienteContratoPRE.Vista.Municipio}, Estado = new EstadoBO {Codigo = clienteContratoPRE.Vista.Estado}, Ciudad = new CiudadBO {Codigo = clienteContratoPRE.Vista.Ciudad} }, CodigoPostal = clienteContratoPRE.Vista.CodigoPostal, Calle = clienteContratoPRE.Vista.Calle, Colonia = clienteContratoPRE.Vista.Colonia }; contrato.Cliente.RemoverDirecciones(); contrato.Cliente.Agregar(direccion); #endregion #region SC0007 // Datos Adicionales List<DatoAdicionalAnexoBO> Lista = new List<DatoAdicionalAnexoBO>(); int iterador = 1; foreach (DatoAdicionalAnexoBO datoAdicional in datosAdicionalesPRE.Vista.DatosAdicionales) { datoAdicional.DatoAdicionalID = iterador++; Lista.Add(datoAdicional); } contrato.DatosAdicionalesAnexo = Lista; if (contrato.Cliente.EsFisico != true) { // Para personas Morales List<PersonaBO> Depositarios = contrato.RepresentantesLegales.FindAll(persona => ((RepresentanteLegalBO)persona).EsDepositario == true); if (Depositarios.Count == 0) // No tiene Depositarios { // No esta activo "Solo Representantes" if (contrato.SoloRepresentantes != true && contrato.RepresentantesLegales != null && contrato.RepresentantesLegales.Count > 0) foreach (PersonaBO persona in contrato.RepresentantesLegales) { RepresentanteLegalBO representante = (RepresentanteLegalBO)persona; representante.EsDepositario = true; } else if (contrato.SoloRepresentantes == true && contrato.RepresentantesLegales != null && contrato.RepresentantesLegales.Count > 0) foreach (PersonaBO persona in contrato.RepresentantesLegales) { RepresentanteLegalBO representante = (RepresentanteLegalBO)persona; representante.EsDepositario = false; } } else { if (contrato.SoloRepresentantes == true && contrato.RepresentantesLegales != null && contrato.RepresentantesLegales.Count > 0) foreach (PersonaBO persona in contrato.RepresentantesLegales) { RepresentanteLegalBO representante = (RepresentanteLegalBO)persona; representante.EsDepositario = false; } } } #endregion #region RI0008 foreach (var linea in contrato.LineasContrato) { linea.LineaContratoID = null; } #endregion contrato.InpcContrato = vista.InpcContrato; if (contrato.InpcContrato != null) { if (contrato.InpcContrato.Auditoria == null) contrato.InpcContrato.Auditoria = new AuditoriaBO(); contrato.InpcContrato.Auditoria.UC = contrato.UC; contrato.InpcContrato.Auditoria.FC = contrato.FC; contrato.InpcContrato.Auditoria.UUA = contrato.UUA; contrato.InpcContrato.Auditoria.FUA = contrato.FUA; } return contrato; } catch (Exception ex) { throw new Exception(nombreClase + ".InterfazUsuarioADatos: " + ex.Message); } }
/// <summary> /// Obtiene un Contrato a partir de los datos de la vista /// </summary> /// <returns></returns> public ContratoFSLBO InterfazUsuarioADatos() { try { var contrato = new ContratoFSLBO { ContratoID = vista.ContratoID, #region Cuenta Bancaria //Banco = informacionPagoPRE.Vista.CuentaBancariaSeleccionada, #endregion Cuenta Bancaria Cliente = new CuentaClienteIdealeaseBO { Id = clienteContratoPRE.Vista.CuentaClienteID, Cliente = new ClienteBO { Id = clienteContratoPRE.Vista.ClienteID, Fisica = clienteContratoPRE.Vista.EsFisico }, UnidadOperativa = new UnidadOperativaBO { Id = vista.UnidadOperativaContratoID } }, FechaContrato = informacionGeneralPRE.Vista.FechaContrato, FechaInicioContrato = informacionPagoPRE.Vista.FechaInicioContrato, Divisa = new DivisaBO { MonedaDestino = informacionGeneralPRE.Vista.MonedaSeleccionada }, DiasPago = informacionPagoPRE.Vista.DiasPago, IncluyeLavado = datosRentaPRE.Vista.IncluyeLavadoSeleccionado, IncluyeLlantas = datosRentaPRE.Vista.IncluyeLlantasSeleccionado, IncluyePinturaRotulacion = datosRentaPRE.Vista.IncluyePinturaSeleccionado, IncluyeSeguro = datosRentaPRE.Vista.IncluyeSeguroSeleccionado, LineasContrato = datosRentaPRE.Vista.LineasContrato.ConvertAll(s => (ILineaContrato)s), ObligadosSolidarios = clienteContratoPRE.Vista.ObligadosSolidariosContrato.ConvertAll(s => (PersonaBO)s), Plazo = datosRentaPRE.Vista.PlazoMeses, Representante = informacionGeneralPRE.Vista.Representante, RepresentantesLegales = clienteContratoPRE.Vista.RepresentantesLegalesContrato.ConvertAll(s => (PersonaBO)s), Sucursal = informacionGeneralPRE.Vista.SucursalSeleccionada, Tipo = ETipoContrato.FSL, UbicacionTaller = datosRentaPRE.Vista.UbicacionTaller, SoloRepresentantes = clienteContratoPRE.Vista.SoloRepresentantes, PorcentajePenalizacion = informacionGeneralPRE.Vista.PorcentajePenalizacion, }; // Se Agregan datos de Auditoria contrato.FUA = vista.FUA; contrato.UUA = vista.UUA; contrato.Estatus = EEstatusContrato.EnCurso; DireccionClienteBO direccion = new DireccionClienteBO { Id = clienteContratoPRE.Vista.DireccionClienteID, Ubicacion = new UbicacionBO { Pais = new PaisBO { Codigo = clienteContratoPRE.Vista.Pais }, Municipio = new MunicipioBO { Codigo = clienteContratoPRE.Vista.Municipio }, Estado = new EstadoBO { Codigo = clienteContratoPRE.Vista.Estado }, Ciudad = new CiudadBO { Codigo = clienteContratoPRE.Vista.Ciudad } }, CodigoPostal = clienteContratoPRE.Vista.CodigoPostal, Calle = clienteContratoPRE.Vista.Calle, Colonia = clienteContratoPRE.Vista.Colonia }; contrato.Cliente.RemoverDirecciones(); contrato.Cliente.Agregar(direccion); // Datos Adicionales if (contrato.Cliente.EsFisico != true) // Para personas Morales { List <PersonaBO> Depositarios = contrato.RepresentantesLegales.FindAll(persona => ((RepresentanteLegalBO)persona).EsDepositario == true); if (Depositarios.Count == 0) // No tiene Depositarios { // No esta activo "Solo Representantes" if (contrato.SoloRepresentantes != true && contrato.RepresentantesLegales != null && contrato.RepresentantesLegales.Count > 0) { foreach (PersonaBO persona in contrato.RepresentantesLegales) { RepresentanteLegalBO representante = (RepresentanteLegalBO)persona; representante.EsDepositario = true; } } else if (contrato.SoloRepresentantes == true && contrato.RepresentantesLegales != null && contrato.RepresentantesLegales.Count > 0) { foreach (PersonaBO persona in contrato.RepresentantesLegales) { RepresentanteLegalBO representante = (RepresentanteLegalBO)persona; representante.EsDepositario = false; } } } else { if (contrato.SoloRepresentantes == true && contrato.RepresentantesLegales != null && contrato.RepresentantesLegales.Count > 0) { foreach (PersonaBO persona in contrato.RepresentantesLegales) { RepresentanteLegalBO representante = (RepresentanteLegalBO)persona; representante.EsDepositario = false; } } } } contrato.CierreContrato = vista.DatosCierre; contrato.CierreContrato.Usuario = new UsuarioBO { Id = vista.UUA }; return(contrato); } catch (Exception ex) { throw new Exception(nombreClase + ".InterfazUsuarioADatos: " + ex.Message); } }