/// <summary>
        /// Calcula y Despliega la direccion de la sucursal
        /// </summary>
        public void DesplegarDireccionEmpresa()
        {
            try
            {
                var sucursal = new SucursalBO {
                    Matriz = true, UnidadOperativa = vista.UnidadOperativa
                };


                List <SucursalBO> lstCatalogo = Facade.SDNI.BR.FacadeBR.ConsultarSucursal(dataContext, sucursal);
                if (lstCatalogo.Count > 0)
                {
                    sucursal = lstCatalogo.Find(suc => suc.Matriz == true);
                    var dirSucursal = new DireccionSucursalBO {
                        Primaria = true
                    };

                    sucursal.Agregar(dirSucursal);

                    lstCatalogo = Facade.SDNI.BR.FacadeBR.ConsultarSucursalCompleto(dataContext, sucursal);

                    if (lstCatalogo.Count > 0 &&
                        (lstCatalogo[0].DireccionesSucursal != null && lstCatalogo[0].DireccionesSucursal.Count > 0))
                    {
                        vista.DomicilioEmpresa = lstCatalogo[0].DireccionesSucursal[0].Calle;
                        return;
                    }
                }

                vista.DomicilioEmpresa = string.Empty;
            }
            catch (Exception ex)
            {
                vista.MostrarMensaje("Inconsistencias al presentar la información.", ETipoMensajeIU.ERROR, NombreClase + ".DesplegarDireccionSucursal: " + ex.Message);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Despliega en la vista la inforamciónd e la unidad que se haya recuperado
        /// </summary>
        /// <param name="unidadBase">Unidad que se desea visualizar</param>
        private void DatoAInterfazUsuario(ElementoFlotaBOF unidadBase)
        {
            var elemento = unidadBase;

            #region Datos Elemento
            #region Nuevo elemento
            if (elemento == null)
            {
                elemento.Unidad = new UnidadBO
                {
                    Cliente  = new ClienteBO(),
                    Sucursal = new SucursalBO {
                        UnidadOperativa = new UnidadOperativaBO()
                    },
                    Modelo = new ModeloBO {
                        Marca = new MarcaBO()
                    },
                    ActivoFijo            = new ActivoFijoBO(),
                    CaracteristicasUnidad = new CaracteristicasUnidadBO(),
                    EquiposAliados        = new List <EquipoAliadoBO>(),
                    TipoEquipoServicio    = new TipoUnidadBO(),
                };
                elemento.Tramites = new List <TramiteBO>();
                elemento.Contrato = new ContratoProxyBO {
                    Cliente = new CuentaClienteIdealeaseBO()
                };
            }
            #endregion

            #region Instanciar Propiedades
            if (elemento.Unidad == null)
            {
                elemento.Unidad = new UnidadBO
                {
                    Cliente  = new ClienteBO(),
                    Sucursal = new SucursalBO {
                        UnidadOperativa = new UnidadOperativaBO()
                    },
                    Modelo = new ModeloBO {
                        Marca = new MarcaBO()
                    },
                    ActivoFijo            = new ActivoFijoBO(),
                    CaracteristicasUnidad = new CaracteristicasUnidadBO(),
                    EquiposAliados        = new List <EquipoAliadoBO>(),
                    TipoEquipoServicio    = new TipoUnidadBO(),
                };
            }
            if (elemento.Unidad.Cliente == null)
            {
                elemento.Unidad.Cliente = new ClienteBO();
            }
            if (elemento.Unidad.Sucursal == null)
            {
                elemento.Unidad.Sucursal = new SucursalBO {
                    UnidadOperativa = new UnidadOperativaBO()
                }
            }
            ;
            if (elemento.Unidad.Sucursal.UnidadOperativa == null)
            {
                elemento.Unidad.Sucursal.UnidadOperativa = new UnidadOperativaBO();
            }
            if (elemento.Unidad.Modelo == null)
            {
                elemento.Unidad.Modelo = new ModeloBO {
                    Marca = new MarcaBO()
                }
            }
            ;
            if (elemento.Unidad.Modelo.Marca == null)
            {
                elemento.Unidad.Modelo.Marca = new MarcaBO();
            }
            if (elemento.Unidad.ActivoFijo == null)
            {
                elemento.Unidad.ActivoFijo = new ActivoFijoBO();
            }
            if (elemento.Unidad.CaracteristicasUnidad == null)
            {
                elemento.Unidad.CaracteristicasUnidad = new CaracteristicasUnidadBO();
            }
            if (elemento.Unidad.EquiposAliados == null)
            {
                elemento.Unidad.EquiposAliados = new List <EquipoAliadoBO>();
            }
            if (elemento.Unidad.TipoEquipoServicio == null)
            {
                elemento.Unidad.TipoEquipoServicio = new TipoUnidadBO();
            }
            if (elemento.Tramites == null)
            {
                elemento.Tramites = new List <TramiteBO>();
            }
            if (elemento.Contrato == null)
            {
                elemento.Contrato = new ContratoProxyBO {
                    Cliente = new CuentaClienteIdealeaseBO()
                }
            }
            ;
            if (elemento.Contrato.Cliente == null)
            {
                elemento.Contrato.Cliente = new CuentaClienteIdealeaseBO();
            }
            #endregion

            #region Información de la Unidad en barra
            this.vista.EstaDisponible    = elemento.EstaDisponible;
            this.vista.EstaEnContrato    = elemento.EstaEnRenta;
            this.vista.TieneEquipoAliado = elemento.TieneEquipoAliado;

            #region Tramites
            PlacaEstatalBO tPlacaEstatal = (PlacaEstatalBO)elemento.Tramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_ESTATAL);
            PlacaFederalBO tPlacaFederal = (PlacaFederalBO)elemento.Tramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_FEDERAL);

            this.vista.NumeroPlaca = tPlacaFederal != null
                                         ? tPlacaFederal.Numero
                                         : (tPlacaEstatal != null ? tPlacaEstatal.Numero : null);
            #endregion
            #endregion
            #endregion

            #region Datos Unidad
            var bo = unidadBase.Unidad;
            #region Unidad Nueva
            if (ReferenceEquals(bo, null))
            {
                bo = new UnidadBO
                {
                    ActivoFijo     = new ActivoFijoBO(),
                    EquiposAliados = new List <EquipoAliadoBO>(),
                    Modelo         = new ModeloBO {
                        Marca = new MarcaBO()
                    },
                    Sucursal = new SucursalBO {
                        UnidadOperativa = new UnidadOperativaBO()
                    },
                    TipoEquipoServicio = new TipoUnidadBO()
                };
            }
            #endregion

            #region Instancias de propiedades
            if (bo.TipoEquipoServicio == null)
            {
                bo.TipoEquipoServicio = new TipoUnidadBO();
            }
            if (bo.ActivoFijo == null)
            {
                bo.ActivoFijo = new ActivoFijoBO();
            }
            if (bo.EquiposAliados == null)
            {
                bo.EquiposAliados = new List <EquipoAliadoBO>();
            }
            if (bo.Modelo == null)
            {
                bo.Modelo = new ModeloBO {
                    Marca = new MarcaBO()
                }
            }
            ;
            if (bo.Sucursal == null)
            {
                bo.Sucursal = new SucursalBO {
                    UnidadOperativa = new UnidadOperativaBO()
                }
            }
            ;
            #endregion

            #region DetalleUnidad
            this.vista.UnidadID          = bo.UnidadID;
            this.vista.NumeroSerie       = bo.NumeroSerie;
            this.vista.ClaveActivoOracle = bo.ClaveActivoOracle;
            this.vista.LiderID           = bo.IDLider;
            this.vista.NumeroEconomico   = bo.NumeroEconomico;
            this.vista.TipoUnidadNombre  = bo.TipoEquipoServicio.Nombre;
            this.vista.ModeloNombre      = bo.Modelo.Nombre;
            this.vista.Anio         = bo.Anio;
            this.vista.FechaCompra  = bo.ActivoFijo.FechaFacturaCompra;
            this.vista.MontoFactura = bo.ActivoFijo.CostoSinIva;
            this.vista.FolioFactura = string.Empty;
            #endregion

            #region Info Sucursal
            bool completa = false;
            this.vista.SucursalActualID     = bo.Sucursal.Id;
            this.vista.SucursalActualNombre = bo.Sucursal.Nombre;

            #region Empresa
            var empresa = new EmpresaBO();
            if (bo.Sucursal.UnidadOperativa != null)
            {
                this.vista.EmpresaActualID = bo.Sucursal.UnidadOperativa.Id;


                if (bo.Sucursal.UnidadOperativa.Empresa == null)
                {
                    #region Unidad Operativa
                    //Obtener información de la Unidad Operativa
                    List <UnidadOperativaBO> lstUO = FacadeBR.ConsultarUnidadOperativaCompleto(this.dctx,
                                                                                               new UnidadOperativaBO()
                    {
                        Id =
                            this.vista
                            .UnidadOperativaID
                    });
                    if (lstUO.Count <= 0)
                    {
                        throw new Exception(
                                  "No se encontró la información completa de la unidad operativa sobre la que trabaja.");
                    }
                    //Establecer la información de la Unidad Operativa
                    if (lstUO[0].Empresa != null)
                    {
                        empresa = lstUO[0].Empresa;
                    }
                    #endregion

                    this.vista.EmpresaActualNombre = empresa.Nombre;
                }
                else
                {
                    if (!string.IsNullOrEmpty(bo.Sucursal.UnidadOperativa.Empresa.Nombre) && !string.IsNullOrWhiteSpace(bo.Sucursal.UnidadOperativa.Empresa.Nombre))
                    {
                        this.vista.EmpresaActualNombre = bo.Sucursal.UnidadOperativa.Empresa.Nombre;
                    }
                    else
                    {
                        #region Unidad Operativa
                        //Obtener información de la Unidad Operativa
                        List <UnidadOperativaBO> lstUO = FacadeBR.ConsultarUnidadOperativaCompleto(this.dctx,
                                                                                                   new UnidadOperativaBO()
                        {
                            Id =
                                this.vista
                                .UnidadOperativaID
                        });
                        if (lstUO.Count <= 0)
                        {
                            throw new Exception(
                                      "No se encontró la información completa de la unidad operativa sobre la que trabaja.");
                        }
                        //Establecer la información de la Unidad Operativa
                        if (lstUO[0].Empresa != null)
                        {
                            empresa = lstUO[0].Empresa;
                        }

                        #endregion
                        this.vista.EmpresaActualNombre = empresa.Nombre;
                    }
                }
            }

            #endregion

            #region Domicilio Sucursal
            if (bo.Sucursal.DireccionesSucursal != null)
            {
                if (bo.Sucursal.DireccionesSucursal.Count > 0)
                {
                    var direccionActual = bo.Sucursal.DireccionesSucursal.Find(p => p.Primaria != null && p.Primaria == true);
                    if (direccionActual != null)
                    {
                        string dir = "";
                        if (!string.IsNullOrEmpty(direccionActual.Calle))
                        {
                            dir += (direccionActual.Calle + " ");
                        }
                        if (!string.IsNullOrEmpty(direccionActual.Colonia))
                        {
                            dir += (direccionActual.Colonia + " ");
                        }
                        if (!string.IsNullOrEmpty(direccionActual.CodigoPostal))
                        {
                            dir += (direccionActual.CodigoPostal + " ");
                        }
                        if (direccionActual.Ubicacion != null)
                        {
                            if (direccionActual.Ubicacion.Municipio != null && !string.IsNullOrEmpty(direccionActual.Ubicacion.Municipio.Nombre))
                            {
                                dir += (direccionActual.Ubicacion.Municipio.Nombre + " ");
                            }
                            if (direccionActual.Ubicacion.Ciudad != null && !string.IsNullOrEmpty(direccionActual.Ubicacion.Ciudad.Nombre))
                            {
                                dir += (direccionActual.Ubicacion.Ciudad.Nombre + " ");
                            }
                            if (direccionActual.Ubicacion.Estado != null && !string.IsNullOrEmpty(direccionActual.Ubicacion.Estado.Nombre))
                            {
                                dir += (direccionActual.Ubicacion.Estado.Nombre + " ");
                            }
                            if (direccionActual.Ubicacion.Pais != null && !string.IsNullOrEmpty(direccionActual.Ubicacion.Pais.Nombre))
                            {
                                dir += (direccionActual.Ubicacion.Pais.Nombre + " ");
                            }
                        }

                        if (dir != null && dir.Trim().CompareTo("") != 0)
                        {
                            this.vista.DomicilioSucursalActual = dir;
                            completa = true;
                        }
                        else
                        {
                            this.vista.DomicilioSucursalActual = null;
                        }
                    }
                    else
                    {
                        this.vista.DomicilioSucursalActual = null;
                    }
                }
                else
                {
                    this.vista.DomicilioSucursalActual = null;
                }
            }
            #endregion

            #region Consultar Completo para obtener la Dirección
            if (bo.Sucursal != null && bo.Sucursal.Id != null && !completa)
            {
                List <SucursalBO> lst = FacadeBR.ConsultarSucursalCompleto(this.dctx, bo.Sucursal);

                DireccionSucursalBO direccion = null;
                if (lst.Count > 0 && lst[0].DireccionesSucursal != null)
                {
                    direccion = lst[0].DireccionesSucursal.Find(p => p.Primaria != null && p.Primaria == true);
                }

                if (direccion != null)
                {
                    string dir = "";
                    if (!string.IsNullOrEmpty(direccion.Calle))
                    {
                        dir += (direccion.Calle + " ");
                    }
                    if (!string.IsNullOrEmpty(direccion.Colonia))
                    {
                        dir += (direccion.Colonia + " ");
                    }
                    if (!string.IsNullOrEmpty(direccion.CodigoPostal))
                    {
                        dir += (direccion.CodigoPostal + " ");
                    }
                    if (direccion.Ubicacion != null)
                    {
                        if (direccion.Ubicacion.Municipio != null && !string.IsNullOrEmpty(direccion.Ubicacion.Municipio.Nombre))
                        {
                            dir += (direccion.Ubicacion.Municipio.Nombre + " ");
                        }
                        if (direccion.Ubicacion.Ciudad != null && !string.IsNullOrEmpty(direccion.Ubicacion.Ciudad.Nombre))
                        {
                            dir += (direccion.Ubicacion.Ciudad.Nombre + " ");
                        }
                        if (direccion.Ubicacion.Estado != null && !string.IsNullOrEmpty(direccion.Ubicacion.Estado.Nombre))
                        {
                            dir += (direccion.Ubicacion.Estado.Nombre + " ");
                        }
                        if (direccion.Ubicacion.Pais != null && !string.IsNullOrEmpty(direccion.Ubicacion.Pais.Nombre))
                        {
                            dir += (direccion.Ubicacion.Pais.Nombre + " ");
                        }
                    }

                    if (dir != null && dir.Trim().CompareTo("") != 0)
                    {
                        this.vista.DomicilioSucursalActual = dir;
                        completa = true;
                    }
                    else
                    {
                        this.vista.DomicilioSucursalActual = null;
                    }
                }
                else
                {
                    this.vista.DomicilioSucursalActual = null;
                }
            }
            else if (!completa)
            {
                this.vista.DomicilioSucursalActual = null;
            }
            #endregion

            #endregion
            #endregion
        }
Esempio n. 3
0
        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>
        /// Selecciona la sucursal destino
        /// </summary>
        /// <param name="sucursal">Sucursal que se desea seleccionar</param>
        public void SeleccionarSucursal(SucursalBO sucursal)
        {
            #region Instancia de propiedades
            if (sucursal == null)
            {
                sucursal = new SucursalBO();
            }
            if (sucursal.UnidadOperativa == null)
            {
                sucursal.UnidadOperativa = new UnidadOperativaBO();
            }
            if (sucursal.UnidadOperativa.Empresa == null)
            {
                sucursal.UnidadOperativa.Empresa = new EmpresaBO();
            }
            #endregion

            #region Dato a Interfaz de Usuario
            if (sucursal != null && sucursal.Nombre != null)
            {
                this.vista.NombreSucursalDestino = sucursal.Nombre;
            }
            else
            {
                this.vista.NombreSucursalDestino = null;
            }

            if (sucursal != null && sucursal.Id != null)
            {
                this.vista.SucursalDestinoID = sucursal.Id;
            }
            else
            {
                this.vista.SucursalDestinoID = null;
            }

            if (sucursal.UnidadOperativa != null)
            {
                if (sucursal.UnidadOperativa.Empresa != null)
                {
                    if (!string.IsNullOrEmpty(sucursal.UnidadOperativa.Empresa.Nombre) &&
                        !string.IsNullOrWhiteSpace(sucursal.UnidadOperativa.Empresa.Nombre))
                    {
                        this.vista.EmpresaDestinoNombre = sucursal.UnidadOperativa.Empresa.Nombre.Trim().ToUpper();
                    }
                    else
                    {
                        this.vista.EmpresaDestinoNombre = string.Empty;
                    }
                }
            }

            #endregion

            #region Consultar Completo para obtener la Dirección
            var empresa = new EmpresaBO();
            if (sucursal != null && sucursal.Id != null)
            {
                List <SucursalBO> lst = FacadeBR.ConsultarSucursalCompleto(this.dctx, sucursal);

                #region Empresa
                if (lst.Count > 0)
                {
                    var sucTemp = (SucursalBO)lst[0];
                    if (sucTemp.UnidadOperativa != null)
                    {
                        if (sucTemp.UnidadOperativa.Empresa != null)
                        {
                            if (!string.IsNullOrEmpty(sucTemp.UnidadOperativa.Empresa.Nombre) && !string.IsNullOrWhiteSpace(sucTemp.UnidadOperativa.Empresa.Nombre))
                            {
                                this.vista.EmpresaDestinoNombre = sucTemp.UnidadOperativa.Empresa.Nombre.Trim().ToUpper();
                            }
                            else
                            {
                                #region Unidad Operativa
                                //Obtener información de la Unidad Operativa
                                List <UnidadOperativaBO> lstUO = FacadeBR.ConsultarUnidadOperativaCompleto(this.dctx,
                                                                                                           new UnidadOperativaBO()
                                {
                                    Id =
                                        this.vista
                                        .UnidadOperativaID
                                });
                                if (lstUO.Count <= 0)
                                {
                                    throw new Exception(
                                              "No se encontró la información completa de la unidad operativa sobre la que trabaja.");
                                }
                                //Establecer la información de la Unidad Operativa
                                if (lstUO[0].Empresa != null)
                                {
                                    empresa = lstUO[0].Empresa;
                                }
                                #endregion
                                this.vista.EmpresaDestinoNombre = empresa.Nombre;
                            }
                        }
                        else
                        {
                            #region Unidad Operativa
                            //Obtener información de la Unidad Operativa
                            List <UnidadOperativaBO> lstUO = FacadeBR.ConsultarUnidadOperativaCompleto(this.dctx,
                                                                                                       new UnidadOperativaBO()
                            {
                                Id =
                                    this.vista
                                    .UnidadOperativaID
                            });
                            if (lstUO.Count <= 0)
                            {
                                throw new Exception(
                                          "No se encontró la información completa de la unidad operativa sobre la que trabaja.");
                            }
                            //Establecer la información de la Unidad Operativa
                            if (lstUO[0].Empresa != null)
                            {
                                empresa = lstUO[0].Empresa;
                            }
                            #endregion
                            this.vista.EmpresaDestinoNombre = empresa.Nombre;
                        }
                    }
                }
                #endregion

                #region Direcciones
                DireccionSucursalBO direccion = null;
                if (lst.Count > 0 && lst[0].DireccionesSucursal != null)
                {
                    direccion = lst[0].DireccionesSucursal.Find(p => p.Primaria != null && p.Primaria == true);
                }

                if (direccion != null)
                {
                    string dir = "";
                    if (!string.IsNullOrEmpty(direccion.Calle))
                    {
                        dir += (direccion.Calle + " ");
                    }
                    if (!string.IsNullOrEmpty(direccion.Colonia))
                    {
                        dir += (direccion.Colonia + " ");
                    }
                    if (!string.IsNullOrEmpty(direccion.CodigoPostal))
                    {
                        dir += (direccion.CodigoPostal + " ");
                    }
                    if (direccion.Ubicacion != null)
                    {
                        if (direccion.Ubicacion.Municipio != null && !string.IsNullOrEmpty(direccion.Ubicacion.Municipio.Nombre))
                        {
                            dir += (direccion.Ubicacion.Municipio.Nombre + " ");
                        }
                        if (direccion.Ubicacion.Ciudad != null && !string.IsNullOrEmpty(direccion.Ubicacion.Ciudad.Nombre))
                        {
                            dir += (direccion.Ubicacion.Ciudad.Nombre + " ");
                        }
                        if (direccion.Ubicacion.Estado != null && !string.IsNullOrEmpty(direccion.Ubicacion.Estado.Nombre))
                        {
                            dir += (direccion.Ubicacion.Estado.Nombre + " ");
                        }
                        if (direccion.Ubicacion.Pais != null && !string.IsNullOrEmpty(direccion.Ubicacion.Pais.Nombre))
                        {
                            dir += (direccion.Ubicacion.Pais.Nombre + " ");
                        }
                    }

                    if (dir != null && dir.Trim().CompareTo("") != 0)
                    {
                        this.vista.DomicilioSucursalDestino = dir;
                    }
                    else
                    {
                        this.vista.DomicilioSucursalDestino = null;
                    }
                }
                else
                {
                    this.vista.DomicilioSucursalDestino = null;
                }
                #endregion
            }
            else
            {
                this.vista.DomicilioSucursalDestino = null;
            }
            #endregion
        }