/// <summary> /// Consulta la URL de la página maestra de Facturación /// </summary> public void ConsultarUrl() { try { var moduloBr = new ModuloBR(); var configuracionUnidadOperativa = new ConfiguracionUnidadOperativaBO { UnidadOperativa = new UnidadOperativaBO { Id = Vista.UnidadOperativaID } }; string moduloId = string.Empty; if (this.Vista.ModuloID == null) { throw new Exception("Es necesario definir el ModuloID"); } else { moduloId = this.Vista.ModuloID.ToString(); } var listaConfiguracion = moduloBr.ConsultarConfiguracionUnidadOperativa(dataContext, configuracionUnidadOperativa, Int32.Parse(moduloId)); if (listaConfiguracion.Any()) { if (listaConfiguracion[0].ConfiguracionModulo != null) { var url = listaConfiguracion[0].ConfiguracionModulo.UrlMasterFacturacion; if (!String.IsNullOrEmpty(url)) { var SucId = ConsultarSucursalUnica(); Vista.RedirigirMaster(url, Vista.UnidadOperativaID.ToString(), SucId != null ? SucId.ToString() : string.Empty, Vista.UsuarioID.ToString(), Vista.Ambiente.ToString()); } else { throw new Exception("No se encuentra configurada la dirección de la Master de Facturación"); } } else { throw new Exception("No se encontraron configuraciones para la Unidad Operativa"); } } else { throw new Exception("No se encontraron configuraciones para la Unidad Operativa"); } } catch (Exception ex) { var strMetodo = new StackFrame().GetMethod().Name; var strMsg = string.Format("{0}.{1}: {2}", nombreClase, strMetodo, ex.Message); Vista.MostrarMensaje("Inconsistencias al Redirigir a la Master de Facturación", ETipoMensajeIU.ERROR, strMsg); } }
/// <summary> /// Obtiene el porcentaje de seguro de acuerrdo a la unidad operativa /// </summary> public decimal?ObtenerPorcentajeSeguro(int?unidadOperativaID, int?ModuloID) { try { decimal? porcentajeSeguro = 0; ModuloBR configBR = new ModuloBR(); ConfiguracionUnidadOperativaBO configBO = new ConfiguracionUnidadOperativaBO() { UnidadOperativa = new UnidadOperativaBO() { Id = unidadOperativaID } }; List <ConfiguracionUnidadOperativaBO> listConfigUO = new List <ConfiguracionUnidadOperativaBO>(); listConfigUO = configBR.ConsultarConfiguracionUnidadOperativa(dataContext, configBO, this.vista.ModuloID); if (listConfigUO != null && listConfigUO.Count > 0) { porcentajeSeguro = listConfigUO[0].PorcentajeSeguro != null ? listConfigUO[0].PorcentajeSeguro : 0; } return(porcentajeSeguro); } catch { throw new Exception(this.nombreClase + ".CalcularSeguro: Error al obtener el Seguro"); } }
/// <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> /// Calcula y despliega las configuraciones de la unidad operativa en la vista /// </summary> public void DesplegarConfiguracionUnidadOperativa() { try { var moduloBR = new ModuloBR(); var configuracion = new ConfiguracionUnidadOperativaBO { UnidadOperativa = vista.UnidadOperativa }; int?ModuloID = vista.ModuloID; if (vista.ModuloID != null) { List <ConfiguracionUnidadOperativaBO> configuraciones = moduloBR.ConsultarConfiguracionUnidadOperativa(dataContext, configuracion, ModuloID); if (configuraciones != null && configuraciones.Count > 0) { configuracion = configuraciones.Find(conf => configuracion.UnidadOperativa.Id == vista.UnidadOperativa.Id); if (configuracion != null) { if (!string.IsNullOrEmpty(configuracion.Representante)) { vista.Representante = configuracion.Representante.Trim(); } else { vista.MostrarMensaje("No se ha configurado el representante de la unidad operativa.", ETipoMensajeIU.ADVERTENCIA); vista.Representante = string.Empty; } if (configuracion.PorcentajePenalizacion != null) { vista.PorcentajePenalizacion = configuracion.PorcentajePenalizacion; } else { vista.MostrarMensaje("No se ha configurado el porcentaje de penalización en la unidad operativa.", ETipoMensajeIU.ADVERTENCIA); vista.PorcentajePenalizacion = null; } } else { vista.MostrarMensaje("No se ha configurado la unidad operativa.", ETipoMensajeIU.ADVERTENCIA); vista.Representante = string.Empty; } } else { vista.MostrarMensaje("No se ha configurado la unidad operativa.", ETipoMensajeIU.ADVERTENCIA); vista.Representante = string.Empty; } } else { vista.MostrarMensaje("No se ha configurado el identificador del Modulo.", ETipoMensajeIU.ADVERTENCIA); vista.Representante = string.Empty; } } catch (Exception ex) { vista.Representante = string.Empty; throw new Exception(NombreClase + ".MostrarRepresentante: " + ex.Message); } }