public void CargarDatosAdscripcion() { try { this.ddlUnidadOperativa.Items.Clear(); var grupoUnidadOperativa = this.Adscripciones.GroupBy(ad => ad.UnidadOperativa.Id); foreach (var unidadID in grupoUnidadOperativa) { if (unidadID.Key == null) { continue; } UnidadOperativaBO unidadBO = this.Adscripciones.FirstOrDefault(ad => ad.UnidadOperativa.Id == unidadID.Key.Value).UnidadOperativa; if (unidadBO.Id != null && !string.IsNullOrWhiteSpace(unidadBO.Nombre)) { ListItem unidadItem = new ListItem(unidadBO.Nombre, unidadBO.Id.ToString()); this.ddlUnidadOperativa.Items.Add(unidadItem); } } } catch (Exception) { this.MostrarMensaje("Error al cargar listas de adscripciones", ETipoMensajeIU.ERROR, "Es posible que algunas unidades operativas no sean validas," + "por favor contacte al administrador del sistema"); } }
/// <summary> /// Despliega el nombre de la Empresa /// </summary> private void DesplegarEmpresa() { try { string nombreEmpresa = string.Empty; if (this.vista.UnidadOperativa == null || this.vista.UnidadOperativa.Empresa == null || string.IsNullOrWhiteSpace(this.vista.UnidadOperativa.Empresa.Nombre)) { //Obtener información de la Unidad Operativa UnidadOperativaBO UO = FacadeBR.ConsultarUnidadOperativaCompleto(this.dataContext, new UnidadOperativaBO() { Id = this.vista.UnidadOperativa.Id }).FirstOrDefault(); if (UO == null || UO.Empresa == null) { throw new Exception("No se encontró la información completa de la unidad operativa sobre la que trabaja."); } nombreEmpresa = UO.Empresa.Nombre; } else { nombreEmpresa = this.vista.UnidadOperativa.Empresa.Nombre; } this.vista.NombreEmpresa = this.vista.UnidadOperativa.Empresa.Nombre; } catch (Exception ex) { vista.MostrarMensaje("Inconsistencias al presentar la información de la empresa.", ETipoMensajeIU.ERROR, NombreClase + ".DesplegarEmpresa: " + ex.Message); } }
private UnidadOperativaBO ObtenerUnidadOperativa(int?UnidadOperativaID) { UnidadOperativaBO unidadOperativa = new UnidadOperativaBO() { Id = UnidadOperativaID }; return(FacadeBR.ConsultarUnidadOperativa(dataContext, unidadOperativa).FirstOrDefault()); }
/// <summary> /// Consulta las sucursales asignadas al usuario por unidad operativa /// </summary> /// <param name="usuario">Usuario al que estan asignadas las sucursales</param> /// <param name="unidadOperativa">Unidad Operativa a la cual pertenecen las sucursales</param> /// <returns></returns> private List <SucursalBO> ConsultarSucursales(UsuarioBO usuario, UnidadOperativaBO unidadOperativa) { try { var seguridad = new SeguridadBO(Guid.Empty, usuario, new AdscripcionBO { UnidadOperativa = unidadOperativa }); List <SucursalBO> resultado = FacadeBR.ConsultarSucursalesSeguridad(dataContext, seguridad) ?? new List <SucursalBO>(); return(resultado); } catch (Exception ex) { throw new Exception(nombreClase + ".ConsultarSucursales: Inconsistencias al consultar la lista de Sucursales del usuario." + ex.Message); } }
/// <summary> /// Despiega el nombre de la Empresa /// </summary> private void DesplegarEmpresa() { try { // Obtener la Unidad Operativa Completa List <UnidadOperativaBO> unidadesOperativas = Facade.SDNI.BR.FacadeBR.ConsultarUnidadOperativa(dataContext, vista.UnidadOperativa);//SC_0051 UnidadOperativaBO unidadOperativaBO = unidadesOperativas.Find( unidOperativa => vista.UnidadOperativa.Id == unidOperativa.Id); if (unidadOperativaBO != null) { if (unidadOperativaBO.Empresa != null) { //Consultamos el nombre de la empresa var resultEmps = FacadeBR.ConsultarEmpresa(this.dataContext, unidadOperativaBO.Empresa); if (resultEmps.Count > 0) { unidadOperativaBO.Empresa = resultEmps[0]; } if (!string.IsNullOrEmpty(unidadOperativaBO.Empresa.Nombre)) { vista.NombreEmpresa = unidadOperativaBO.Empresa.Nombre; } if (unidadOperativaBO.Empresa.Id != null) { vista.EmpresaID = unidadOperativaBO.Empresa.Id; } if (unidadOperativaBO.Empresa.Nombre != null && !string.IsNullOrEmpty(unidadOperativaBO.Empresa.Nombre.Trim())) { vista.NombreEmpresa = unidadOperativaBO.Empresa.Nombre; } } } } catch (Exception ex) { vista.MostrarMensaje("Inconsistencias al presentar la información de la empresa.", ETipoMensajeIU.ERROR, NombreClase + ".DesplegarEmpresa: " + ex.Message); } }
/// <summary> /// Obtiene los datos de la Vista /// </summary> /// <returns></returns> private object InterfazUsuarioADato() { UnidadOperativaBO unidadOperativa = new UnidadOperativaBO(); unidadOperativa.Empresa = new EmpresaBO(); if (this.vista.UnidadOperativaID != null) { unidadOperativa.Id = this.vista.UnidadOperativaID; } if (this.vista.UnidadOperativaNombre != null) { unidadOperativa.Nombre = vista.UnidadOperativaNombre; } if (this.presentadorDatosContrato.Vista.NombreEmpresa != null) { unidadOperativa.Empresa.Nombre = this.presentadorDatosContrato.Vista.NombreEmpresa; } ContratoPSLBO bo = new ContratoPSLBO(); bo.Cliente = new CuentaClienteIdealeaseBO(); bo.Cliente.UnidadOperativa = new UnidadOperativaBO(); bo.Divisa = new DivisaBO(); bo.Divisa.MonedaDestino = new MonedaBO(); bo.Sucursal = new SucursalBO(); bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); bo.LineasContrato = new List <ILineaContrato>(); bo.Operador = new OperadorBO(); bo.Operador.Direccion = new DireccionPersonaBO(); bo.Operador.Direccion.Ubicacion = new UbicacionBO() { Ciudad = new CiudadBO(), Estado = new EstadoBO(), Municipio = new MunicipioBO(), Pais = new PaisBO() }; bo.Operador.Licencia = new LicenciaBO(); bo.TasaInteres = this.presentadorDatosContrato.Vista.TasaInteres; //Configuración de días a cobrar bo.IncluyeSD = this.vista.IncluyeSD; bo.Tipo = ETipoContrato.ROC;//Se establece el tipo como ROC. if (this.vista.SucursalSeleccionada != null) { bo.Sucursal.Id = this.vista.SucursalSeleccionada.Id; bo.Sucursal.Nombre = this.vista.SucursalSeleccionada.Nombre; } bo.Sucursal.UnidadOperativa = unidadOperativa; bo.Cliente.UnidadOperativa = unidadOperativa; if (this.vista.CuentaClienteID != null) { bo.Cliente.Id = this.vista.CuentaClienteID; } if (vista.CuentaClienteNombre != null) { bo.Cliente.Nombre = vista.CuentaClienteNombre; } if (this.vista.CodigoMoneda != null) { bo.Divisa.MonedaDestino.Codigo = this.vista.CodigoMoneda; } if (this.vista.RepresentantesLegales != null) { bo.RepresentantesLegales = this.vista.RepresentantesLegales.ConvertAll(s => (PersonaBO)s); } bo.SoloRepresentantes = vista.SoloRepresentantes; bo.Avales = vista.Avales; #region Dirección del Cliente DireccionClienteBO direccion = new DireccionClienteBO { Ubicacion = new UbicacionBO { Pais = new PaisBO { Codigo = this.vista.ClienteDireccionPais }, Municipio = new MunicipioBO { Codigo = this.vista.ClienteDireccionMunicipio }, Estado = new EstadoBO { Codigo = this.vista.ClienteDireccionEstado }, Ciudad = new CiudadBO { Codigo = this.vista.ClienteDireccionCiudad } }, CodigoPostal = this.vista.ClienteDireccionCodigoPostal, Calle = this.vista.ClienteDireccionCalle, Colonia = this.vista.ClienteDireccionColonia, Id = this.vista.ClienteDireccionId }; bo.Cliente.RemoverDirecciones(); bo.Cliente.Agregar(direccion); #endregion if (this.vista.FechaContrato != null) { bo.FechaContrato = this.vista.FechaContrato; } if (this.vista.FechaInicioActual != null) { bo.FechaInicioActual = this.vista.FechaInicioActual; bo.FechaInicioArrendamiento = this.vista.FechaInicioActual; } if (this.vista.FechaPromesaActual != null) { bo.FechaPromesaActual = this.vista.FechaPromesaActual; bo.FechaPromesaDevolucion = this.vista.FechaPromesaActual; } if (this.vista.FormaPagoID != null) { bo.FormaPago = (EFormaPago)Enum.Parse(typeof(EFormaPago), this.vista.FormaPagoID.ToString()); } if (this.vista.FrecuenciaFacturacionID != null) { bo.FrecuenciaFacturacion = (EFrecuencia)Enum.Parse(typeof(EFrecuencia), this.vista.FrecuenciaFacturacionID.ToString()); } if (this.vista.AutorizadorTipoConfirmacion != null) { bo.AutorizadorTipoConfirmacion = this.vista.AutorizadorTipoConfirmacion; } if (this.vista.AutorizadorOrdenCompra != null) { bo.AutorizadorOrdenCompra = this.vista.AutorizadorOrdenCompra; } if (this.vista.DestinoAreaOperacion != null) { bo.DestinoAreaOperacion = this.vista.DestinoAreaOperacion; } if (this.vista.MercanciaTransportar != null) { bo.MercanciaTransportar = this.vista.MercanciaTransportar; } if (this.vista.TipoConfirmacionID != null) { bo.TipoConfirmacion = (ETipoConfirmacion)Enum.Parse(typeof(ETipoConfirmacion), this.vista.TipoConfirmacionID.ToString()); } if (this.vista.Observaciones != null) { bo.Observaciones = this.vista.Observaciones; } if (this.vista.DiasFacturar != null) { bo.DiasFacturar = this.vista.DiasFacturar; } if (this.vista.EstatusID != null) { bo.Estatus = (EEstatusContrato)Enum.Parse(typeof(EEstatusContrato), this.vista.EstatusID.ToString()); } if (this.vista.FC != null) { bo.FC = this.vista.FC; } if (this.vista.UC != null) { bo.UC = this.vista.UC; } if (this.vista.FUA != null) { bo.FUA = this.vista.FUA; } if (this.vista.UUA != null) { bo.UUA = this.vista.UUA; } if (!string.IsNullOrWhiteSpace(this.vista.ClaveProductoServicio)) { if (bo.ProductoServicio == null) { bo.ProductoServicio = new ProductoServicioBO(); } bo.ProductoServicio.Id = this.vista.ProductoServicioId; bo.ProductoServicio.NombreCorto = this.vista.ClaveProductoServicio; bo.ProductoServicio.Nombre = this.vista.DescripcionProductoServicio; } #region ConfiguracionUO.PorcentajeSeguro decimal? porcentajeSeguro = 0; ModuloBR configBR = new ModuloBR(); ConfiguracionUnidadOperativaBO configBO = new ConfiguracionUnidadOperativaBO() { UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativaID } }; List <ConfiguracionUnidadOperativaBO> listConfigUO = new List <ConfiguracionUnidadOperativaBO>(); listConfigUO = configBR.ConsultarConfiguracionUnidadOperativa(dctx, configBO, this.vista.ModuloID); if (listConfigUO != null && listConfigUO.Count > 0) { porcentajeSeguro = listConfigUO[0].PorcentajeSeguro != null ? listConfigUO[0].PorcentajeSeguro : 0; } #endregion #region Campos de ROC bo.MontoTotalArrendamiento = this.vista.MontoTotalArrendamiento; bo.FechaPagoRenta = this.vista.FechaPagoRenta; bo.Plazo = this.vista.Plazo; bo.InversionInicial = this.vista.InversionInicial; #endregion #region Linea de Contrato LineaContratoPSLBO lineaBO = null; foreach (LineaContratoPSLBO linea in this.vista.LineasContrato) { lineaBO = new LineaContratoPSLBO(); lineaBO.Equipo = (UnidadBO)linea.Equipo; lineaBO.TipoTarifa = linea.TipoTarifa; lineaBO.Cobrable = new TarifaContratoPSLBO { PeriodoTarifa = ((TarifaContratoPSLBO)linea.Cobrable).PeriodoTarifa, Tarifa = ((TarifaContratoPSLBO)linea.Cobrable).Tarifa, TarifaHrAdicional = ((TarifaContratoPSLBO)linea.Cobrable).TarifaHrAdicional, TarifaTurno = ((TarifaContratoPSLBO)linea.Cobrable).TarifaTurno, Maniobra = ((TarifaContratoPSLBO)linea.Cobrable).Maniobra, TarifaPSLID = ((TarifaContratoPSLBO)linea.Cobrable).TarifaPSLID, DuracionDiasPeriodo = ((TarifaContratoPSLBO)linea.Cobrable).DuracionDiasPeriodo, MaximoHrsTurno = ((TarifaContratoPSLBO)linea.Cobrable).MaximoHrsTurno, Activo = true, PorcentajeDescuento = ((TarifaContratoPSLBO)linea.Cobrable).PorcentajeDescuento, PorcentajeDescuentoMaximo = ((TarifaContratoPSLBO)linea.Cobrable).PorcentajeDescuentoMaximo, EtiquetaDescuento = ((TarifaContratoPSLBO)linea.Cobrable).EtiquetaDescuento, TarifaConDescuento = ((TarifaContratoPSLBO)linea.Cobrable).TarifaConDescuento, PorcentajeSeguro = porcentajeSeguro }; lineaBO.Activo = linea.Activo; lineaBO.Devuelta = linea.Devuelta; lineaBO.LineaOrigenIntercambioID = linea.LineaOrigenIntercambioID; bo.LineasContrato.Add(lineaBO); } //bo.LineasContrato = this.vista.LineasContrato.ConvertAll(s => (ILineaContrato)s); #endregion #region Archivos Adjuntos List <ArchivoBO> adjuntos = presentadorDocumentos.Vista.ObtenerArchivos() ?? new List <ArchivoBO>(); foreach (ArchivoBO adjunto in adjuntos) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoROC; adjunto.Auditoria = new AuditoriaBO { FC = this.vista.FC, UC = this.vista.UC, FUA = this.vista.FUA, UUA = this.vista.UUA }; } bo.DocumentosAdjuntos = adjuntos; #endregion return(bo); }
/// <summary> /// Realiza la impresión del Historico de Pagos para una referencia de Contrato Seleccionada /// </summary> public void ImprimirPagos() { try { var numeroContrato = Vista.NumeroContrato; // Validar la Informacion de la Referencia de Contrato Seleccionada var msg = ValidarDatos(numeroContrato); if (!string.IsNullOrEmpty(msg)) { Vista.MostrarMensaje(msg, ETipoMensajeIU.ADVERTENCIA); return; } // Validar la existencia de folio del contrato var contratoBR = new ContratoBR(); var contratos = contratoBR.Consultar(dataContext, new ContratoProxyBO { NumeroContrato = numeroContrato.ToUpper() }); if (!contratos.Any()) { Vista.MostrarMensaje("No existe un Contrato con el Folio proporcionado.", ETipoMensajeIU.ADVERTENCIA); return; } var referencia = contratos.First(); var usuario = new UsuarioBO { Id = Vista.UsuarioId }; var unidadOperativa = new UnidadOperativaBO { Id = Vista.UnidadOperativaId }; var sucursales = ConsultarSucursales(usuario, unidadOperativa); // Validar que el contrato pertenezca a una sucursal del usuario if (sucursales.All(x => x.Id != referencia.Sucursal.Id)) { Vista.MostrarMensaje("El Folio del Contrato proporcionado pertence a una sucursal no asignada al usuario.", ETipoMensajeIU.ADVERTENCIA); return; } // Validar la existencia de Pagos del Contrato int conteo = 0; ReferenciaContratoBO referenciaContrato = new ReferenciaContratoBO { ReferenciaContratoID = referencia.ContratoID, UnidadOperativa = unidadOperativa }; switch (referencia.Tipo) { case ETipoContrato.RO: case ETipoContrato.RE: case ETipoContrato.ROC: PagoContratoPSLBOF pagoPsl = new PagoContratoPSLBOF() { ReferenciaContrato = referenciaContrato, Sucursales = sucursales }; PagoContratoPSLBR pagosPslBR = new PagoContratoPSLBR(); conteo = pagosPslBR.ContarPagos(dataContext, pagoPsl); break; default: PagoUnidadContratoBOF pago = new PagoUnidadContratoBOF { ReferenciaContrato = referenciaContrato, Sucursales = sucursales }; PagoUnidadContratoBR pagosBR = new PagoUnidadContratoBR(); conteo = pagosBR.ContarPagos(dataContext, pago); break; } if (conteo == 0) { Vista.MostrarMensaje("El contrato no cuenta con pagos generados.", ETipoMensajeIU.ADVERTENCIA); return; } //Obtener Datos de Reporte var adscripcion = new AdscripcionBO { UnidadOperativa = unidadOperativa }; var seguridad = new SeguridadBO(Guid.Empty, usuario, adscripcion); var imprmirPagosBR = new ImprimirPagosBR(); var datosReporte = imprmirPagosBR.ObtenerDatosHistoricoPagos(dataContext, referenciaContrato, unidadOperativa, seguridad, this.Vista.URLLogoEmpresa); Vista.EstablecerPaqueteNavegacionImprimir(codigoImprimirHistorico, datosReporte); Vista.IrAImprimirHistorico(); } catch (Exception ex) { var strMetodo = new StackFrame().GetMethod().Name; var strMsg = string.Format("{0}.{1}: {2}", nombreClase, strMetodo, ex.Message); Vista.MostrarMensaje("Inconsistencias al Desplegar los Pagos del Contrato", ETipoMensajeIU.ERROR, strMsg); } }
/// <summary> /// Obtiene los datos de la Vista /// </summary> /// <returns></returns> private object InterfazUsuarioADato() { UnidadOperativaBO unidadOperativa = new UnidadOperativaBO(); if (this.vista.UnidadOperativaID != null) { unidadOperativa.Id = this.vista.UnidadOperativaID; } if (this.vista.UnidadOperativaNombre != null) { unidadOperativa.Nombre = vista.UnidadOperativaNombre; } ContratoRDBO bo = new ContratoRDBO(); bo.Cliente = new CuentaClienteIdealeaseBO(); bo.Cliente.Cliente = new ClienteBO(); bo.Cliente.UnidadOperativa = new UnidadOperativaBO(); bo.Divisa = new DivisaBO(); bo.Divisa.MonedaDestino = new MonedaBO(); bo.Sucursal = new SucursalBO(); bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); bo.LineasContrato = new List <ILineaContrato>(); bo.Operador = new OperadorBO(); bo.Operador.Direccion = new DireccionPersonaBO(); bo.Operador.Direccion.Ubicacion = new UbicacionBO() { Ciudad = new CiudadBO(), Estado = new EstadoBO(), Municipio = new MunicipioBO(), Pais = new PaisBO() }; bo.Operador.Licencia = new LicenciaBO(); bo.Tipo = ETipoContrato.RD; if (this.vista.SucursalID != null) { bo.Sucursal.Id = this.vista.SucursalID; } if (this.vista.SucursalNombre != null) { bo.Sucursal.Nombre = this.vista.SucursalNombre; } bo.Sucursal.UnidadOperativa = unidadOperativa; bo.Cliente.UnidadOperativa = unidadOperativa; if (this.vista.CuentaClienteID != null) { bo.Cliente.Id = this.vista.CuentaClienteID; } if (vista.CuentaClienteNombre != null) { bo.Cliente.Nombre = vista.CuentaClienteNombre; } bo.Cliente.Cliente.RFC = this.vista.ClienteRFC ?? this.vista.ClienteRFC; bo.Cliente.Cliente.Numero = this.vista.CuentaClienteNumeroCuenta ?? this.vista.CuentaClienteNumeroCuenta; if (this.vista.CodigoMoneda != null) { bo.Divisa.MonedaDestino.Codigo = this.vista.CodigoMoneda; } if (this.vista.RepresentantesLegales != null) { bo.RepresentantesLegales = this.vista.RepresentantesLegales.ConvertAll(s => (PersonaBO)s); } bo.SoloRepresentantes = vista.SoloRepresentantes; bo.Avales = vista.Avales; #region Dirección del Cliente DireccionClienteBO direccion = new DireccionClienteBO { Ubicacion = new UbicacionBO { Pais = new PaisBO { Codigo = this.vista.ClienteDireccionPais }, Municipio = new MunicipioBO { Codigo = this.vista.ClienteDireccionMunicipio }, Estado = new EstadoBO { Codigo = this.vista.ClienteDireccionEstado }, Ciudad = new CiudadBO { Codigo = this.vista.ClienteDireccionCiudad } }, CodigoPostal = this.vista.ClienteDireccionCodigoPostal, Calle = this.vista.ClienteDireccionCalle, Colonia = this.vista.ClienteDireccionColonia, Id = this.vista.ClienteDireccionId, Primaria = true }; bo.Cliente.RemoverDirecciones(); bo.Cliente.Agregar(direccion); #endregion #region Operador if (this.vista.OperadorID != null) { bo.Operador.OperadorID = this.vista.OperadorID; } if (this.vista.OperadorAniosExperiencia != null) { bo.Operador.AñosExperiencia = this.vista.OperadorAniosExperiencia; } if (this.vista.OperadorFechaNacimiento != null) { bo.Operador.FechaNacimiento = this.vista.OperadorFechaNacimiento; } if (!string.IsNullOrEmpty(this.vista.OperadorDireccionCalle)) { bo.Operador.Direccion.Calle = this.vista.OperadorDireccionCalle; } if (!string.IsNullOrEmpty(this.vista.OperadorDireccionCiudad)) { bo.Operador.Direccion.Ubicacion.Ciudad.Nombre = this.vista.OperadorDireccionCiudad; } if (!string.IsNullOrEmpty(this.vista.OperadorDireccionEstado)) { bo.Operador.Direccion.Ubicacion.Estado.Nombre = this.vista.OperadorDireccionEstado; } if (!string.IsNullOrEmpty(this.vista.OperadorDireccionCP)) { bo.Operador.Direccion.CodigoPostal = this.vista.OperadorDireccionCP; } if (!string.IsNullOrEmpty(this.vista.OperadorLicenciaEstado)) { bo.Operador.Licencia.Estado = this.vista.OperadorLicenciaEstado; } if (this.vista.OperadorLicenciaFechaExpiracion != null) { bo.Operador.Licencia.FechaExpiracion = this.vista.OperadorLicenciaFechaExpiracion; } if (!string.IsNullOrEmpty(this.vista.OperadorLicenciaNumero)) { bo.Operador.Licencia.Numero = this.vista.OperadorLicenciaNumero; } if (this.vista.OperadorLicenciaTipoID != null) { bo.Operador.Licencia.Tipo = (ETipoLicencia)Enum.Parse(typeof(ETipoLicencia), this.vista.OperadorLicenciaTipoID.ToString()); } if (!string.IsNullOrEmpty(this.vista.OperadorNombre)) { bo.Operador.Nombre = this.vista.OperadorNombre; } #endregion if (this.vista.FechaContrato != null) { bo.FechaContrato = this.vista.FechaContrato; } if (this.vista.FechaPromesaDevolucion != null) { bo.FechaPromesaDevolucion = this.vista.FechaPromesaDevolucion; } if (this.vista.FormaPagoID != null) { bo.FormaPago = (EFormaPago)Enum.Parse(typeof(EFormaPago), this.vista.FormaPagoID.ToString()); } if (this.vista.FrecuenciaFacturacionID != null) { bo.FrecuenciaFacturacion = (EFrecuencia)Enum.Parse(typeof(EFrecuencia), this.vista.FrecuenciaFacturacionID.ToString()); } if (this.vista.AutorizadorTipoConfirmacion != null) { bo.AutorizadorTipoConfirmacion = this.vista.AutorizadorTipoConfirmacion; } if (this.vista.AutorizadorOrdenCompra != null) { bo.AutorizadorOrdenCompra = this.vista.AutorizadorOrdenCompra; } if (this.vista.BitacoraViajeConductor != null) { bo.BitacoraViajeConductor = this.vista.BitacoraViajeConductor; } if (this.vista.DestinoAreaOperacion != null) { bo.DestinoAreaOperacion = this.vista.DestinoAreaOperacion; } if (this.vista.LectorKilometrajeID != null) { bo.LectorKilometraje = (ELectorKilometraje)Enum.Parse(typeof(ELectorKilometraje), this.vista.LectorKilometrajeID.ToString()); } if (this.vista.MercanciaTransportar != null) { bo.MercanciaTransportar = this.vista.MercanciaTransportar; } if (this.vista.MotivoRentaID != null) { bo.MotivoRenta = (EMotivoRenta)Enum.Parse(typeof(EMotivoRenta), this.vista.MotivoRentaID.ToString()); } if (this.vista.PorcentajeDeducible != null) { bo.PorcentajeDeducible = this.vista.PorcentajeDeducible; } if (this.vista.TipoConfirmacionID != null) { bo.TipoConfirmacion = (ETipoConfirmacion)Enum.Parse(typeof(ETipoConfirmacion), this.vista.TipoConfirmacionID.ToString()); } if (this.vista.Observaciones != null) { bo.Observaciones = this.vista.Observaciones; } #region BEP1401.SC0026 if (this.vista.DiasFacturar != null) { bo.DiasFacturar = this.vista.DiasFacturar; } #endregion if (this.vista.EstatusID != null) { bo.Estatus = (EEstatusContrato)Enum.Parse(typeof(EEstatusContrato), this.vista.EstatusID.ToString()); } if (this.vista.FC != null) { bo.FC = this.vista.FC; } if (this.vista.UC != null) { bo.UC = this.vista.UC; } if (this.vista.FUA != null) { bo.FUA = this.vista.FUA; } if (this.vista.UUA != null) { bo.UUA = this.vista.UUA; } #region Linea de Contrato LineaContratoRDBO lineaBO = new LineaContratoRDBO() { Activo = true }; if (this.vista.EquipoID != null) { if (lineaBO.Equipo == null) { lineaBO.Equipo = new UnidadBO(); } lineaBO.Equipo.EquipoID = this.vista.EquipoID; } if (this.vista.UnidadID != null) { if (lineaBO.Equipo == null) { lineaBO.Equipo = new UnidadBO(); } ((UnidadBO)lineaBO.Equipo).UnidadID = this.vista.UnidadID; } if (!string.IsNullOrWhiteSpace(this.vista.ClaveProductoServicio)) { if (lineaBO.ProductoServicio == null) { lineaBO.ProductoServicio = new ProductoServicioBO(); } lineaBO.ProductoServicio.Id = this.vista.ProductoServicioId; lineaBO.ProductoServicio.NombreCorto = this.vista.ClaveProductoServicio; lineaBO.ProductoServicio.Nombre = this.vista.DescripcionProductoServicio; } if (this.vista.TipoTarifaID != null) { lineaBO.TipoTarifa = (ETipoTarifa)Enum.Parse(typeof(ETipoTarifa), this.vista.TipoTarifaID.ToString()); } lineaBO.Cobrable = new TarifaContratoRDBO() { RangoTarifas = new List <RangoTarifaRDBO>() { new RangoTarifaRDBO() }, TarifasEquipoAliado = new List <TarifaContratoRDEquipoAliadoBO>() }; if (string.IsNullOrEmpty(this.vista.TarifaDescripcion)) { ((TarifaContratoRDBO)lineaBO.Cobrable).Descripcion = this.vista.TarifaDescripcion; } if (this.vista.CapacidadCarga != null) { ((TarifaContratoRDBO)lineaBO.Cobrable).CapacidadCarga = this.vista.CapacidadCarga; } if (this.vista.TarifaDiaria != null) { ((TarifaContratoRDBO)lineaBO.Cobrable).TarifaDiaria = this.vista.TarifaDiaria; } if (this.vista.KmsLibres != null) { ((TarifaContratoRDBO)lineaBO.Cobrable).KmsLibres = this.vista.KmsLibres; ((TarifaContratoRDBO)lineaBO.Cobrable).RangoTarifas.First().KmRangoInicial = this.vista.KmsLibres + 1; } if (this.vista.TarifaKmAdicional != null) { ((TarifaContratoRDBO)lineaBO.Cobrable).RangoTarifas.First().CargoKm = this.vista.TarifaKmAdicional; } if (this.vista.HrsLibres != null) { ((TarifaContratoRDBO)lineaBO.Cobrable).HrsLibres = this.vista.HrsLibres; ((TarifaContratoRDBO)lineaBO.Cobrable).RangoTarifas.First().HrRangoInicial = this.vista.HrsLibres + 1; } if (this.vista.TarifaHrAdicional != null) { ((TarifaContratoRDBO)lineaBO.Cobrable).RangoTarifas.First().CargoHr = this.vista.TarifaHrAdicional; } if (!String.IsNullOrEmpty(this.vista.NumeroEconomico)) { if (lineaBO.Equipo == null) { lineaBO.Equipo = new UnidadBO(); } ((UnidadBO)lineaBO.Equipo).NumeroEconomico = this.vista.NumeroEconomico; } bo.LineasContrato.Add(lineaBO); #endregion #region Archivos Adjuntos List <ArchivoBO> adjuntos = presentadorDocumentos.Vista.ObtenerArchivos() ?? new List <ArchivoBO>(); foreach (ArchivoBO adjunto in adjuntos) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoRD; adjunto.Auditoria = new AuditoriaBO { FC = this.vista.FC, UC = this.vista.UC, FUA = this.vista.FUA, UUA = this.vista.UUA }; } bo.DocumentosAdjuntos = adjuntos; #endregion return(bo); }