public void QuitarRepresentanteLegal(RepresentanteLegalBO representante)
 {
     try
     {
         if (representante != null)
         {
             if (this.vista.RepresentantesLegales.Contains(representante))
             {
                 List <RepresentanteLegalBO> representantes = new List <RepresentanteLegalBO>(this.vista.RepresentantesLegales);
                 representantes.Remove(representante);
                 this.vista.RepresentantesLegales = representantes;
                 this.vista.ActualizarRepresentantesLegales();
             }
             else
             {
                 throw new Exception("El Representante Legal proporcionado no se encuentra en la lista");
             }
         }
         else
         {
             throw new Exception("Se requiere un Representante Legal válido para la operación");
         }
     }
     catch (Exception ex)
     {
         this.vista.MostrarMensaje("Inconsistencias al intentar quitar un Representante Legal de la lista", ETipoMensajeIU.ERROR, nombreClase + ".QuitarRepresentanteLegal: " + ex.Message);
     }
 }
        public void AgregarRepresentanteAval()
        {
            if (this.vista.RepresentanteAvalSeleccionadoID == null)
            {
                this.vista.MostrarMensaje("Es necesario seleccionar un representante para el aval.", ETipoMensajeIU.INFORMACION, null);
                return;
            }

            try
            {
                if (this.vista.RepresentantesAvalSeleccionados == null)
                {
                    this.vista.RepresentantesAvalSeleccionados = new List <RepresentanteLegalBO>();
                }

                List <RepresentanteLegalBO> seleccionados = this.vista.RepresentantesAvalSeleccionados;

                //Obtengo el representante de la lista de totales
                RepresentanteLegalBO bo = new RepresentanteLegalBO(this.vista.RepresentantesAvalTotales.Find(p => p.Id == this.vista.RepresentanteAvalSeleccionadoID));
                if (bo == null)
                {
                    throw new Exception("No se encontró el representante seleccionado.");
                }

                seleccionados.Add(bo);

                this.vista.RepresentantesAvalSeleccionados = seleccionados;
            }
            catch (Exception ex)
            {
                throw new Exception(NombreClase + ".AgregarRepresentanteAval: " + ex.Message);
            }
        }
        public void AgregarRepresentanteLegalObligado(bool?validarEscritura = false)
        {
            string s;

            if (String.IsNullOrEmpty(s = presentadorRepresentantesObligado.ValidarCampos(true, validarEscritura)))
            {
                List <RepresentanteLegalBO> representantes = new List <RepresentanteLegalBO>(vistaObligado.RepresentantesLegales);
                RepresentanteLegalBO        representante  = this.presentadorRepresentantesObligado.ObtenerRepresentanteLegal();
                representante.Auditoria = new AuditoriaBO
                {
                    FC  = this.vista.FC,
                    UC  = this.vista.UC,
                    FUA = this.vista.FUA,
                    UUA = this.vista.UUA
                };
                representante.Activo = true;
                representantes.Add(representante);
                vistaObligado.RepresentantesLegales = representantes;
                vistaObligado.ActualizarRepresentantesLegales();
                presentadorRepresentantesObligado.PrepararNuevo();
                vista.MostrarMensaje("El representante legal se ha agregado correctamente", ETipoMensajeIU.EXITO);
                MostrarRegistro();
            }
            else
            {
                vista.MostrarMensaje("Los siguientes datos del representante son requeridas " + s.Substring(2), ETipoMensajeIU.ADVERTENCIA);
            }
        }
        private void ActualizarDatosRepresentanteLegal(int?id)
        {
            if (id == null)
            {
                throw new Exception("Se esperaba un identificador del Representante Legal");
            }
            RepresentanteLegalBO boTemp = this.vista.Representantes.Find(o => o.Id == id);

            if (boTemp == null)
            {
                throw new Exception("No se encontró al Representante Legal en las lista");
            }

            RepresentanteLegalBO boA = (RepresentanteLegalBO)this.presentadorRepresentante.ObtenerRepresentanteLegal();

            foreach (RepresentanteLegalBO r in this.vista.Representantes)
            {
                if (r.Id == boA.Id)
                {
                    r.Nombre = boA.Nombre;
                    r.DireccionPersona.Calle = boA.DireccionPersona.Calle;
                    r.Telefono      = boA.Telefono;
                    r.EsDepositario = boA.EsDepositario;
                    r.ActaConstitutiva.NumeroEscritura  = boA.ActaConstitutiva.NumeroEscritura;
                    r.ActaConstitutiva.FechaEscritura   = boA.ActaConstitutiva.FechaEscritura;
                    r.ActaConstitutiva.NombreNotario    = boA.ActaConstitutiva.NombreNotario;
                    r.ActaConstitutiva.NumeroNotaria    = boA.ActaConstitutiva.NumeroNotaria;
                    r.ActaConstitutiva.LocalidadNotaria = boA.ActaConstitutiva.LocalidadNotaria;
                    r.ActaConstitutiva.NumeroRPPC       = boA.ActaConstitutiva.NumeroRPPC;
                    r.ActaConstitutiva.FechaRPPC        = boA.ActaConstitutiva.FechaRPPC;
                    r.ActaConstitutiva.LocalidadRPPC    = boA.ActaConstitutiva.LocalidadRPPC;
                    r.RFC = boA.RFC;
                }
            }
        }
 /// <summary>
 /// Remueve un Representante Legal del Contrato
 /// </summary>
 /// <param name="representante">Representante Lega a Remover del Contrato</param>
 public void RemoverRepresentanteLegalContrato(RepresentanteLegalBO representante)
 {
     try
     {
         if (representante != null && representante.Id != null)
         {
             if (vista.RepresentantesLegalesContrato.Find(obl => representante.Id == obl.Id) != null)
             {
                 var Representantes = new List <RepresentanteLegalBO>(vista.RepresentantesLegalesContrato);
                 Representantes.Remove(representante);
                 vista.RepresentantesLegalesContrato = Representantes;
             }
             else
             {
                 throw new Exception("El Representante Legal proporcionado no se encuentra asignado al contrato.");
             }
         }
         else
         {
             throw new Exception("Se requiere de un Representante Legal seleccionado valido para realizar la operación.");
         }
     }
     catch (Exception ex)
     {
         vista.MostrarMensaje("Inconsistencias al intertar remover un Representante Legal del Contrato", ETipoMensajeIU.ERROR, NombreClase + ".RemoverRepresentanteLegalContrato: " + ex.Message);
     }
 }
        public void AgregarRepresentanteLegal()
        {
            string s;

            if (String.IsNullOrEmpty(s = this.presentadorRepresentante.ValidarCampos()))
            {
                List <RepresentanteLegalBO> representantes = new List <RepresentanteLegalBO>(this.vista.Representantes);
                RepresentanteLegalBO        representante  = this.presentadorRepresentante.ObtenerRepresentanteLegal();
                representante.Auditoria = new AuditoriaBO
                {
                    FC  = vista.FC,
                    UC  = vista.UC,
                    FUA = vista.FUA,
                    UUA = vista.UUA
                };
                representante.Activo = true;
                representantes.Add(representante);
                vista.Representantes = representantes;
                presentadorRepresentante.PrepararNuevo();
                vista.ActualizarRepresentantesLegales();
            }
            else
            {
                vista.MostrarMensaje("Los siguientes datos del representante no pueden estar vacíos " + s.Substring(2), ETipoMensajeIU.ADVERTENCIA);
            }
        }
        public void AgregarRepresentanteLegal(bool?validarrfc = true, bool?validarEscritura = true)
        {
            string s;

            if (String.IsNullOrEmpty(s = presentadorRepresentante.ValidarCampos(validarrfc, validarEscritura)))
            {
                List <RepresentanteLegalBO> representantes = new List <RepresentanteLegalBO>(vista.RepresentantesLegales);
                RepresentanteLegalBO        representante  = presentadorRepresentante.ObtenerRepresentanteLegal();
                representante.Auditoria = new AuditoriaBO
                {
                    FC  = vista.FC,
                    UC  = vista.UC,
                    FUA = vista.FUA,
                    UUA = vista.UUA
                };
                representante.Activo = true;
                representantes.Add(representante);
                vista.RepresentantesLegales = representantes;
                presentadorRepresentante.PrepararNuevo();
                vista.ActualizarRepresentantesLegales();
            }
            else
            {
                vista.MostrarMensaje("Los siguientes datos del representante son requeridas " + s.Substring(2), ETipoMensajeIU.ADVERTENCIA);
            }
        }
 public void QuitarRepresentanteLegal(RepresentanteLegalBO representante)
 {
     try
     {
         if (representante != null)
         {
             if (representante.Id != null)
             {
                 RepresentanteLegalBO bo = this.vista.Representantes.Find(r => r.Id == representante.Id);
                 if (bo != null)
                 {
                     List <RepresentanteLegalBO> boActivos   = vista.Representantes;
                     List <RepresentanteLegalBO> boInactivos = vista.RepresentantesInactivos;
                     boActivos.Remove(bo);
                     bo.Activo        = false;
                     bo.Auditoria.FUA = vista.FUA;
                     bo.Auditoria.UUA = vista.UUA;
                     boInactivos.Add(bo);
                     vista.Representantes          = boActivos;
                     vista.RepresentantesInactivos = boInactivos;
                     vista.ActualizarRepresentantesLegales();
                 }
                 else
                 {
                     throw new Exception("El Representante Legal proporcionado no se encuentra en la lista");
                 }
             }
             else
             {
                 if (this.vista.Representantes.Contains(representante))
                 {
                     List <RepresentanteLegalBO> representantes = new List <RepresentanteLegalBO>(this.vista.Representantes);
                     representantes.Remove(representante);
                     this.vista.Representantes = representantes;
                     this.vista.ActualizarRepresentantesLegales();
                 }
                 else
                 {
                     throw new Exception("El Representante Legal proporcionado no se encuentra en la lista");
                 }
             }
         }
         else
         {
             throw new Exception("Se requiere un Representante Legal válido para la operación");
         }
     }
     catch (Exception ex)
     {
         this.vista.MostrarMensaje("Inconsistencias al intentar quitar el Representante Legal de la lista", ETipoMensajeIU.ERROR, nombreClase + ".QuitarRepresentanteLegal: " + ex.Message);
     }
 }
 public void EditarRepresentanteLegal(RepresentanteLegalBO bo)
 {
     try
     {
         this.presentadorObligado.PrepararNuevo();
         this.HabilitarEdicionRepresentante();
         this.DatoAInterfazRepresentante(bo);
     }
     catch (Exception ex)
     {
         this.MostrarMensaje("Error al editar un Representante", ETipoMensajeIU.ERROR, nombreClase + ".EditarObligadoSolidario" + ex.Message);
     }
 }
Example #10
0
        protected void grdRepresentantesLegales_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            string eCommandNameUpper = e.CommandName.ToUpper();

            if (eCommandNameUpper == "PAGE" || eCommandNameUpper == "SORT")
            {
                return;
            }
            int index = Convert.ToInt32(e.CommandArgument);
            RepresentanteLegalBO representante = this.RepresentantesLegales[index];

            presentador.QuitarRepresentanteLegal(representante);
            ActualizarRepresentantesLegales();
        }
Example #11
0
        public void QuitarRepresentanteLegal(RepresentanteLegalBO representante)
        {
            if (representante != null)
            {
                if (representante.Id != null)
                {
                    vista.RepresentantesInactivos.Add(representante);
                }

                vista.RepresentantesLegales.Remove(representante);
            }
            else
            {
                throw new Exception("Se requiere un Representante Legal válido para la operación");
            }
        }
Example #12
0
        public RepresentanteLegalBO ObtenerRepresentanteLegal()
        {
            RepresentanteLegalBO representante = new RepresentanteLegalBO();

            representante.DireccionPersona       = new DireccionPersonaBO();
            representante.Nombre                 = vista.Nombre;
            representante.DireccionPersona.Calle = vista.Direccion;
            representante.Telefono               = vista.Telefono;
            representante.EsDepositario          = vista.Depositario;
            representante.Id                = vista.RepresentanteID;
            representante.Activo            = true;
            representante.ActaConstitutiva  = vista.ActaConstitutiva;
            representante.UnidadOperativaID = vista.UnidadOperatiaId;
            representante.EsDepositario     = vista.Depositario;
            representante.RFC               = vista.RFC;
            return(representante);
        }
Example #13
0
        public void MostrarDatosRepresentanteLegal(RepresentanteLegalBO representante)
        {
            if (representante == null)
            {
                PrepararNuevo();
                return;
            }

            vista.Nombre           = representante.Nombre;
            vista.Direccion        = representante.DireccionPersona.Calle;
            vista.Telefono         = representante.Telefono;
            vista.Depositario      = representante.EsDepositario;
            vista.RepresentanteID  = representante.Id;
            vista.ActaConstitutiva = representante.ActaConstitutiva;
            vista.RFC = representante.RFC;
            vista.HabilitarCampos(true);
        }
        public void ActualizarRepresentanteLegal()
        {
            string s;

            try
            {
                if (String.IsNullOrEmpty(s = this.presentadorRepresentante.ValidarCampos()))
                {
                    RepresentanteLegalBO bo = this.presentadorRepresentante.ObtenerRepresentanteLegal();
                    this.ActualizarDatosRepresentanteLegal(bo.Id);
                    this.presentadorRepresentante.PrepararNuevo();
                    this.HabilitarAgregarRepresentante();
                    this.ActualizarVistaRepresentantesLegales();
                }
                else
                {
                    this.MostrarMensaje("Se requiere los siguientes campos del Representante Legal: " + s.Substring(2), ETipoMensajeIU.INFORMACION);
                }
            }
            catch (Exception ex)
            {
                MostrarMensaje("Error al Actualizar los datos de un Representante Legal", ETipoMensajeIU.ERROR, this.nombreClase + ".ActualizarRepresentanteLegal:" + ex.Message);
            }
        }
Example #15
0
        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);
            }
        }
 private void DatoAInterfazRepresentante(RepresentanteLegalBO representante)
 {
     presentadorRepresentante.MostrarDatosRepresentanteLegal(representante);
 }
        /// <summary>
        /// Agrega un Representante Legal al Contrato al Contrato
        /// </summary>
        /// <param name="representante">Representante Lega a agregar</param>
        public void AgregarRepresentanteLegalContrato(RepresentanteLegalBO representante)
        {
            try
            {
                if (representante != null && representante.Id != null)
                {
                    if (vista.RepresentantesLegalesContrato.Find(obl => representante.Id == obl.Id) == null)
                    {
                        var Representantes = new List <RepresentanteLegalBO>(vista.RepresentantesLegalesContrato);

                        var cliente = new CuentaClienteIdealeaseBO
                        {
                            Id      = vista.CuentaClienteID,
                            Cliente =
                                new ClienteBO
                            {
                                Id = vista.ClienteID
                            }
                        };

                        var cciBR = new CuentaClienteIdealeaseBR();
                        representante = cciBR.ConsultarRepresentantesLegales(dataContext, new RepresentanteLegalBO {
                            Id = representante.Id
                        }, cliente
                                                                             )
                                        .Find(rep => rep.Id == representante.Id);

                        // Si es Depositario
                        if (representante.EsDepositario == true)
                        {
                            // Reestablece el valor de es depositario en los representantes legales.
                            foreach (var item in vista.ListadoRepresentantesLegales)
                            {
                                var replegal = Representantes.Find(rep => rep.Id == item.Id);

                                if (replegal != null)
                                {
                                    replegal.EsDepositario = item.EsDepositario;
                                }
                            }
                        }


                        Representantes.Add(representante);

                        vista.RepresentantesLegalesContrato = Representantes;
                    }
                    else
                    {
                        vista.MostrarMensaje("El Representante Legal seleccionado ya se encuentra asignado al contrato.", ETipoMensajeIU.ADVERTENCIA);
                    }
                }
                else
                {
                    vista.MostrarMensaje("Se requiere de un Representante Legal seleccionado valido para agregar al contrato.", ETipoMensajeIU.ADVERTENCIA);
                }
            }
            catch (Exception ex)
            {
                vista.MostrarMensaje("Inconsistencias al intertar agregar un Representante Legal al Contrato", ETipoMensajeIU.ERROR, NombreClase + ".AgregarRepresentanteLegalContrato: " + ex.Message);
            }
        }
        /// <summary>
        /// Genera el reporte para el check list
        /// </summary>
        /// <param name="datos">Datos del check list</param>
        private void ImprimirReporte(Dictionary <string, object> datos)
        {
            try {
                var contrato = (ContratoPSLBO)datos["ContratoPSLBO"];
                if (contrato == null)
                {
                    throw new Exception("No se encontró información para imprimir el contrato");
                }

                #region #Anexo
                int numeroAnexo = 1;
                if (datos.ContainsKey("NumeroAnexo"))
                {
                    numeroAnexo = (int)datos["NumeroAnexo"];
                }
                this.xrlblAnexo.Text = "ANEXO " + GetRomanNumber(numeroAnexo);
                #endregion

                #region Fecha
                this.xrtDia.Text  = "";
                this.xrtMes.Text  = "";
                this.xrtAnio.Text = "";
                if (contrato.FechaInicioActual != null)
                {
                    this.xrtDia.Text  = contrato.FechaInicioActual.Value.Day.ToString();
                    this.xrtMes.Text  = contrato.FechaInicioActual.Value.Month.ToString();
                    this.xrtAnio.Text = contrato.FechaInicioActual.Value.Year.ToString();
                }
                #endregion

                #region Obtener Porcentaje de Impuesto
                decimal porcentajeImp = 0;
                if (contrato.Sucursal != null && contrato.Sucursal.Impuesto != null && contrato.Sucursal.Impuesto.PorcentajeImpuesto != null)
                {
                    porcentajeImp = (decimal)contrato.Sucursal.Impuesto.PorcentajeImpuesto / 100;
                }
                #endregion

                #region Datos de identificación
                List <LineaContratoPSLBO>      listaContrato = contrato.LineasContrato.ConvertAll(s => (LineaContratoPSLBO)s);
                ConfiguracionUnidadOperativaBO configEmpresa = datos.ContainsKey("RepresentanteEmpresa") ? (ConfiguracionUnidadOperativaBO)datos["RepresentanteEmpresa"] : new ConfiguracionUnidadOperativaBO();
                decimal?      importeCadaRenta   = null;
                List <string> listaunidades      = new List <string>();
                decimal?      montoTotalContrato = 0;
                decimal?      montoTotalUnidad   = 0;
                decimal?      importeSeguro      = 0;
                #region PeriodoTarifario
                BPMO.Basicos.BO.MonedaBO moneda = new BPMO.Basicos.BO.MonedaBO();
                if (datos.ContainsKey("Moneda"))
                {
                    moneda = (BPMO.Basicos.BO.MonedaBO)datos["Moneda"];
                }
                decimal?           tarifaCalculada = 0;
                DiaPeriodoTarifaBO periodoTarifa   = new DiaPeriodoTarifaBO();
                if (datos.ContainsKey("PeriodoTarifa"))
                {
                    periodoTarifa = (DiaPeriodoTarifaBO)datos["PeriodoTarifa"];
                }
                int?iniSemana = periodoTarifa.InicioPeriodoSemana;
                int?iniMes    = periodoTarifa.InicioPeriodoMes;
                int diasRenta = ((int)contrato.DiasRenta(true));
                #endregion
                foreach (LineaContratoPSLBO lineascnt in listaContrato.Where(lc => lc.Activo == true))
                {
                    if (lineascnt.Equipo != null && lineascnt.Equipo.TipoEquipoServicio != null && lineascnt.Equipo.Modelo != null)
                    {
                        listaunidades.Add(lineascnt.Equipo.TipoEquipoServicio.Nombre + "- " + lineascnt.Equipo.Modelo.Nombre);
                    }

                    if (((TarifaContratoPSLBO)lineascnt.Cobrable).TarifaCobradaEnPago != null)
                    {
                        importeCadaRenta = ((TarifaContratoPSLBO)lineascnt.Cobrable).TarifaCobradaEnPago.GetValueOrDefault();
                    }

                    #region Tarifa
                    if (((TarifaContratoPSLBO)lineascnt.Cobrable).TarifaConDescuento != null && ((TarifaContratoPSLBO)lineascnt.Cobrable).TarifaConDescuento > 0)
                    {
                        tarifaCalculada = ((TarifaContratoPSLBO)lineascnt.Cobrable).TarifaConDescuento;
                    }
                    else
                    {
                        tarifaCalculada = ((TarifaContratoPSLBO)lineascnt.Cobrable).Tarifa != null ? ((TarifaContratoPSLBO)lineascnt.Cobrable).Tarifa : 0;
                    }
                    if (tarifaCalculada > 0)
                    {
                        switch (((TarifaContratoPSLBO)lineascnt.Cobrable).PeriodoTarifa)
                        {
                        case EPeriodosTarifa.Dia:
                            montoTotalUnidad = Math.Round((decimal)(tarifaCalculada * diasRenta), 2);
                            break;

                        case EPeriodosTarifa.Semana:
                            montoTotalUnidad = Math.Round((decimal)(tarifaCalculada / periodoTarifa.DiasDuracionSemana * diasRenta), 2);
                            break;

                        case EPeriodosTarifa.Mes:
                            montoTotalUnidad = Math.Round((decimal)(tarifaCalculada / periodoTarifa.DiasDuracionMes * diasRenta), 2);
                            break;
                        }
                    }
                    importeSeguro = (montoTotalUnidad * (((TarifaContratoPSLBO)lineascnt.Cobrable).PorcentajeSeguro != null ? ((TarifaContratoPSLBO)lineascnt.Cobrable).PorcentajeSeguro : 0) / 100);
                    decimal?subTotalUnidad = montoTotalUnidad + ((TarifaContratoPSLBO)lineascnt.Cobrable).Maniobra.GetValueOrDefault() + importeSeguro;
                    montoTotalContrato += subTotalUnidad;
                    #endregion
                }

                this.lblValorBien.Text      = "";
                this.xrListadoUnidades.Text = "";

                if (listaunidades.Count > 0)
                {
                    this.xrListadoUnidades.Text = string.Join("\n", listaunidades);
                }

                this.lblUsoBien.Text          = contrato.MercanciaTransportar;
                this.lblUbicacionEntrega.Text = contrato.DestinoAreaOperacion;

                var lineacontrato = contrato.LineasContrato.ConvertAll(s => (LineaContratoPSLBO)s);
                this.lblArrendador.Text   = string.Empty;
                this.xrArrendador.Text    = MontoArrendamiento(listaContrato) ? "X" : string.Empty;
                this.xrArrendatario.Text  = this.xrArrendador.Text == string.Empty ? "X" : string.Empty;
                this.lblArrendatario.Text = string.Empty;

                this.xrArrendadoraRepPor.Text  = "";
                this.xrArrendatarioRepPor.Text = "";
                this.xrObligadoRepPor.Text     = "";

                if (configEmpresa != null)
                {
                    this.xrArrendadoraRepPor.Text += "REPRESENTADA POR: " + configEmpresa.Representante;
                }

                if (contrato.RepresentantesLegales.Count > 0)
                {
                    RepresentanteLegalBO RepresentantesLegales = contrato.RepresentantesLegales.ConvertAll(s => (RepresentanteLegalBO)s).FirstOrDefault();
                    if (RepresentantesLegales != null)
                    {
                        this.xrArrendatarioRepPor.Text = "REPRESENTADA POR: " + RepresentantesLegales.Nombre;
                        this.xrObligadoRepPor.Text     = "REPRESENTADA POR: " + RepresentantesLegales.Nombre;
                    }
                }
                #endregion

                #region Monto de Contrato
                montoTotalContrato = (montoTotalContrato != null ? montoTotalContrato : 0);
                string montoLetras = new BPMO.SDNI.Comun.BR.ConvertirALetrasBR().ConvertirMoneda((decimal)montoTotalContrato, moneda.ComplementoNombreLegal, moneda.NombreLegal);

                this.lblMontoTotalContrato.Text = "$" + Convert.ToDouble(montoTotalContrato).ToString("N2") + " \r\n (" + montoLetras.ToUpper() + ") ";

                this.lblFechaInicioTermino.Text = "INICIO: " + (contrato.FechaInicioActual != null ? contrato.FechaInicioActual.Value.ToShortDateString() : "") + " \r\n" + "TERMINACIÓN: " +
                                                  (contrato.FechaPromesaActual != null ? ((DateTime)contrato.FechaPromesaActual).ToShortDateString() : "") + " \r\n"
                                                  + "(En caso de ser indefinida la fecha de terminación. será la fecha de devolución del BIEN, haciendo constar mediante la firma de la carta check list de recepción)";

                #endregion

                #region Firmas
                List <AvalBO> listaAval   = contrato.Avales.ConvertAll(s => (AvalBO)s);
                var           depositario = (contrato.RepresentantesLegales.ConvertAll(s => (RepresentanteLegalBO)s)).Where(x => x.EsDepositario.GetValueOrDefault() == true).FirstOrDefault();
                this.xrlNombreEmpresa.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 + ((listaAval != null && listaAval.Count > 0) ? listaAval[0].Nombre : "") + "</a></div>";

                this.xrRichDepositario.Html = "<div style=\"text-align: center;\"><a style=\"font-family:Times New Roman; font-size:10px;\">" + Nombre + (depositario != null ? depositario.Nombre : "") + " , por su propio y personal derecho." + "</a></div>";
                #endregion
            } catch (Exception ex) {
                throw new Exception(".ImprimirReporte: Error al imprimir el reporte. " + ex.Message);
            }
        }
        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 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);
            }
        }
Example #21
0
        /// <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);
            }
        }
        private void ImprimirReporte(Dictionary <string, object> datos)
        {
            try {
                var contrato = (ContratoPSLBO)datos["ContratoPSLBO"];

                string obligadoSolidario = null;
                if (contrato.RepresentantesLegales.Count > 0)
                {
                    RepresentanteLegalBO RepresentantesLegales = contrato.RepresentantesLegales.ConvertAll(s => (RepresentanteLegalBO)s)[0];
                    if (RepresentantesLegales != null)
                    {
                        //Cuando todos los representantes legales son avales se
                        if (contrato.SoloRepresentantes.GetValueOrDefault() == true)
                        {
                            obligadoSolidario = RepresentantesLegales.Nombre;
                        }
                    }
                }

                AvalBO avalbo = contrato.Avales != null && contrato.Avales.Count > 0 ? contrato.Avales.ConvertAll(s => (AvalBO)s)[0] : null;
                if (avalbo != null)
                {
                    obligadoSolidario = avalbo.Nombre;
                }

                string depositario = null;
                List <RepresentanteLegalBO> listaPersonaDepositario = contrato.RepresentantesLegales.ConvertAll(a => (RepresentanteLegalBO)a);
                foreach (RepresentanteLegalBO personadepositario in listaPersonaDepositario)
                {
                    if (personadepositario.EsDepositario.HasValue && personadepositario.EsDepositario.Value)
                    {
                        depositario = personadepositario.Nombre;

                        break;
                    }
                }

                #region encabezado
                string barraAux = "                   ";
                string parrafo1 = "<p style='font-size:12px; text-align:justify; font-family: 'Times New Roman', Times, serif;'><b>ADDENDUM</b> INTEGRANTE DEL “CONTRATO DE ARRENDAMIENTO DE BIENES MUEBLES” QUE SE SUSCRIBIÓ ENTRE LA ARRENDADORA <u> ";
                parrafo1 += " " + contrato.Sucursal.UnidadOperativa.Empresa.Nombre + " </u> EL ARRENDATARIO <u> " + contrato.Cliente.Nombre + " </u> EL OBLIGADO SOLIDARIO Y AVAL <u> " + (obligadoSolidario != null ? obligadoSolidario : barraAux);
                parrafo1 += " </u> Y EL DEPOSITARIO <u> " + (depositario != null ? depositario : "") + " </u>, EN FECHA:</p>";

                this.xrlParrafo1.Html = parrafo1;

                #endregion
                #region Fecha
                this.xrtDia.Text = contrato.FechaContrato.Value != null?contrato.FechaContrato.Value.Day.ToString() : "";

                this.xrtMes.Text = contrato.FechaContrato.Value != null?contrato.FechaContrato.Value.Month.ToString() : "";

                this.xrtAnio.Text = contrato.FechaContrato.Value != null?contrato.FechaContrato.Value.Year.ToString() : "";

                #endregion
                #region Bienes

                string listaUnidades = string.Empty;
                for (int i = 0; i < contrato.LineasContrato.Count; i++)
                {
                    if (i == contrato.LineasContrato.Count - 1)
                    {
                        if (contrato.LineasContrato[i].Equipo != null && contrato.LineasContrato[i].Equipo.TipoEquipoServicio != null && contrato.LineasContrato[i].Equipo.Modelo != null)
                        {
                            listaUnidades += contrato.LineasContrato[i].Equipo.TipoEquipoServicio.Nombre + "- " + contrato.LineasContrato[i].Equipo.Modelo.Nombre + ".";
                        }
                    }
                    else
                    {
                        if (contrato.LineasContrato[i].Equipo != null && contrato.LineasContrato[i].Equipo.TipoEquipoServicio != null && contrato.LineasContrato[i].Equipo.Modelo != null)
                        {
                            listaUnidades += contrato.LineasContrato[i].Equipo.TipoEquipoServicio.Nombre + "- " + contrato.LineasContrato[i].Equipo.Modelo.Nombre + ", ";
                        }
                    }
                }

                this.xrlDescripcionBienes.Text = listaUnidades;
                #endregion
                #region tabla
                this.xrlFechaElaboracion.Text = this.convierteAfechaSinHora(contrato.FechaContrato);

                this.xrlMontoTotalArrendamientoMasImpuestoValorAgregado.Text = "";
                this.xrlFechaInicio.Text = this.convierteAfechaSinHora(contrato.FechaInicioActual);
                this.xrlVau.Text         = "";

                this.xrlFechaPagoRenta.Text   = "";
                this.xrlPlazo.Text            = "";
                this.xrlFechaTerminacion.Text = this.convierteAfechaSinHora(contrato.FechaPromesaActual);
                this.xrlInverionInicial.Text  = "";
                #endregion

                #region Firmas
                string empresaFirma           = "<p margin:0px; style='text-align: center; font-size:11px; font-family: 'Times New Roman', Times, serif;'>" + contrato.Sucursal.UnidadOperativa.Empresa.Nombre + " , S.A. DE C.V. </p>";
                string obligadoSolidarioFirma = "<p  margin:0px; style='text-align: center; font-size:11px; font-family: 'Times New Roman', Times, serif;'> <b>NOMBRE O RAZÓN SOCIAL :</b> " + (obligadoSolidario != null ? obligadoSolidario : "") + " </p>";
                string depositarioFirma       = "<p margin:0px; style='text-align: center; font-size:11px; font-family: 'Times New Roman', Times, serif;'> <b>NOMBRE :</b> " + (depositario != null ? depositario : "") + ", por su propio y personal derecho</p>";
                string cliente = "<p margin:0px; style='text-align: center; font-size:11px; font-family: 'Times New Roman', Times, serif;'> <b>NOMBRE O RAZÓN SOCIAL :</b> " + contrato.Cliente.Nombre + " </p>";

                this.xrrtNombreEmpresaFirma.Html     = empresaFirma;
                this.xrrtObligadoSolidarioFirma.Html = obligadoSolidarioFirma;
                this.xrrtArrendatarioFirma.Html      = cliente;
                this.xrrtDepositarioFirma.Html       = depositarioFirma;


                #endregion
            } catch (Exception e) {
            }
        }
Example #23
0
        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);
            }
        }
Example #24
0
 public void MostrarDetalleRepresentante(RepresentanteLegalBO representante)
 {
     this.presentadorRepresentante.PrepararNuevo();
     this.presentadorRepresentante.MostrarDatosRepresentanteLegal(representante);
     this.vistaRepresentante.HabilitarCampos(false, false);
 }
 public void MostrarDatosRepresentante(RepresentanteLegalBO representante)
 {
     presentador.MostrarDatosRepresentanteLegal(representante);
 }