/// <summary>
        /// Presenta la información de un objeto de negocio en la vista
        /// </summary>
        /// <param name="obj">objeto que se desea desplegar en la pantalla</param>
        public void DatoAInterfazUsuario(object obj)
        {
            ElementoFlotaBO elemento = obj as ElementoFlotaBO;

            if (ReferenceEquals(elemento.Unidad, null))
            {
                elemento.Unidad = new UnidadBO();
            }

            UnidadBO unidad = elemento.Unidad;

            if (ReferenceEquals(unidad.EquiposAliados, null))
            {
                unidad.EquiposAliados = new List <EquipoAliadoBO>();
            }

            this.vistaEA.EquipoID        = unidad.EquipoID.HasValue ? unidad.EquipoID.Value.ToString(CultureInfo.InvariantCulture).Trim().ToUpper() : string.Empty;
            this.vistaEA.LiderID         = unidad.IDLider.HasValue ? unidad.IDLider.Value.ToString(CultureInfo.InvariantCulture).Trim().ToUpper() : string.Empty;
            this.vistaEA.NumeroEconomico = !string.IsNullOrEmpty(unidad.NumeroEconomico) && !string.IsNullOrWhiteSpace(unidad.NumeroEconomico)
                                               ? unidad.NumeroEconomico.Trim().ToUpper()
                                               : string.Empty;
            this.vistaEA.NumeroSerie = !string.IsNullOrEmpty(unidad.NumeroSerie) && !string.IsNullOrWhiteSpace(unidad.NumeroSerie)
                                           ? unidad.NumeroSerie.Trim().ToUpper()
                                           : string.Empty;
            this.vistaEA.OracleID = !string.IsNullOrEmpty(unidad.ClaveActivoOracle) && !string.IsNullOrWhiteSpace(unidad.ClaveActivoOracle)
                                        ? unidad.ClaveActivoOracle.Trim().ToUpper()
                                        : string.Empty;
            this.vistaEA.UnidadID = unidad.UnidadID.HasValue ? unidad.UnidadID.Value.ToString(CultureInfo.InvariantCulture).Trim().ToUpper() : string.Empty;

            this.vistaEA.EquiposAliados = unidad.EquiposAliados;
        }
        public void EstablecerPaqueteNavegacion(string Nombre, int?UnidadID)
        {
            FlotaRDBOF elementoBO = this.UnidadesRD.Find(p => p.Unidad.UnidadID.HasValue && p.Unidad.UnidadID.Value == UnidadID);

            if (elementoBO != null)
            {
                switch (Nombre)
                {
                case "RegistrarReservacionUI":
                    Session[Nombre] = elementoBO.Unidad;
                    break;

                case "DetalleFlotaUI":
                    Session[Nombre] = new ElementoFlotaBO {
                        Unidad = elementoBO.Unidad
                    };
                    break;

                case "ContratoRDBO":
                    Session[Nombre] = new ContratoRDBOF {
                        ContratoID = elementoBO.ContratoID
                    };
                    break;
                }
            }
            else
            {
                throw new Exception(this.ToString() + ".EstablecerPaqueteNavegacion: La unidad seleccionada no se encuentra dentro del listado de unidades encintradas.");
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Despliega en pantalla la información del elemento de flota seleccionado
        /// </summary>
        /// <param name="elementoFlotaBO">Elemento de la flota seleccionado</param>
        private void DatoAInterfazUsuario(object elementoFlotaBO)
        {
            ElementoFlotaBO elemento = elementoFlotaBO as ElementoFlotaBO;

            if (ReferenceEquals(elemento.Unidad, null))
            {
                elemento.Unidad = new UnidadBO();
            }

            this.vista.EquipoID        = elemento.Unidad.EquipoID.HasValue ? elemento.Unidad.EquipoID.Value : (int?)null;
            this.vista.NumeroEconomico = !string.IsNullOrEmpty(elemento.Unidad.NumeroEconomico) && !string.IsNullOrWhiteSpace(elemento.Unidad.NumeroEconomico)
                ? elemento.Unidad.NumeroEconomico.Trim().ToUpper()
                : string.Empty;
            this.vista.NumeroSerie = !string.IsNullOrEmpty(elemento.Unidad.NumeroSerie) && !string.IsNullOrWhiteSpace(elemento.Unidad.NumeroSerie)
                ? elemento.Unidad.NumeroSerie.Trim().ToUpper()
                : string.Empty;
            this.vista.UnidadID = elemento.Unidad.UnidadID.HasValue ? elemento.Unidad.UnidadID.Value : (int?)null;

            this.presentadorDG.Inicializar();
            this.presentadorDG.DatoAInterfazUsuario(elemento as object);

            this.presentadorEA.Inicializar();
            this.presentadorEA.DatoAInterfazUsuario(elemento as object);
            this.presentadorEA.CargarEquiposAliados();
        }
Exemplo n.º 4
0
        private void ConsultarCompleto()
        {
            try
            {
                //Se consulta la información del contrato
                ContratoRDBO bo = (ContratoRDBO)this.InterfazUsuarioADato();

                List <ContratoRDBO> lst = this.controlador.ConsultarCompleto(this.dctx, bo, true);

                if (lst.Count < 1)
                {
                    throw new Exception("No se encontró ningún registro que corresponda a la información proporcionada.");
                }
                if (lst.Count > 1)
                {
                    throw new Exception("La consulta devolvió más de un registro.");
                }

                this.DatoAInterfazUsuario(lst[0]);
                this.vista.UltimoObjeto = lst[0];

                //Se consulta la información de la flota
                if (lst[0].ObtenerLineaContrato() != null && lst[0].ObtenerLineaContrato().Equipo != null && lst[0].ObtenerLineaContrato().Equipo is UnidadBO && ((UnidadBO)lst[0].ObtenerLineaContrato().Equipo).UnidadID != null)
                {
                    ElementoFlotaBO elemento = new ElementoFlotaBO()
                    {
                        Unidad = (UnidadBO)lst[0].ObtenerLineaContrato().Equipo
                    };
                    elemento.Tramites = new TramiteBR().ConsultarCompleto(this.dctx, new TramiteProxyBO()
                    {
                        Activo = true, Tramitable = elemento.Unidad
                    }, false);
                    if (elemento != null && elemento.Unidad != null && elemento.Unidad.Sucursal == null)
                    {
                        elemento.Unidad.Sucursal = new SucursalBO();
                    }

                    this.presentadorDG.DatoAInterfazUsuario(elemento as object);
                    this.presentadorEA.DatoAInterfazUsuario(elemento as object);
                    this.presentadorEA.CargarEquiposAliados();
                }
                else
                {
                    this.presentadorDG.Inicializar();
                    this.presentadorEA.Inicializar();
                }
            }
            catch (Exception ex)
            {
                this.DatoAInterfazUsuario(new ContratoRDBO());
                throw new Exception(this.nombreClase + ".ConsultarCompleto:" + ex.Message);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Obtiene un elemento de la flota en base a su identificador
        /// </summary>
        /// <param name="unidadID">Identificador de la unidad que se desea consultar</param>
        /// <returns>Elemento de flota que cumple con lso filtros proporcionados</returns>
        public object ObtenerElementoFlota(int unidadID)
        {
            try
            {
                ElementoFlotaBO elemento = new ElementoFlotaBO();
                elemento.Unidad          = new UnidadBO();
                elemento.Unidad.UnidadID = unidadID;

                return(elemento);
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".ObtenerElementoFlota: " + ex.Message);
            }
        }
        /// <summary>
        /// Establece la información del paquete de navegación para el detalle de la flota
        /// </summary>
        /// <param name="Clave">Clave del paquete</param>
        /// <param name="UnidadID">Identificador de la undia que se desea ver a detalle</param>
        public void EstablecerPaqueteNavegacion(string Clave, int?UnidadID)
        {
            ElementoFlotaBO elementoBO = this.Resultado.Find(p => p.Unidad.UnidadID.HasValue && p.Unidad.UnidadID.Value == UnidadID);

            if (elementoBO != null)
            {
                Session[Clave] = elementoBO;
                #region SC0019
                Dictionary <string, object> paqueteNavegacion = new Dictionary <string, object>();
                paqueteNavegacion.Add("ObjetoFiltro", this.presentador.InterfazUsuarioADatoNavegacion());
                paqueteNavegacion.Add("PagActGrid", this.IndicePaginaResultado);
                paqueteNavegacion.Add("Bandera", true);
                Session["FiltrosFlota"] = paqueteNavegacion;
                #endregion
            }

            else
            {
                throw new Exception(this.ToString() + ".EstablecerPaqueteNavegacion: La unidad seleccionada no se encuentra dentro del listado de unidades encintradas.");
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Establece un objeto en session que se desea visualizar en la pantalla
        /// </summary>
        /// <param name="paquete">Objeto que se desea desplegar en la interfaz de usuario</param>
        private void EstablecerDatosNavegacion(object paquete)
        {
            try
            {
                if (ReferenceEquals(paquete, null))
                {
                    throw new Exception("Se esperaba un objeto en la navegación. No se puede identificar el elemento de la flota que se desea consultar a detalle.");
                }
                if (!(paquete is ElementoFlotaBO))
                {
                    throw new Exception("Se esperaba una Unidad de Idealease.");
                }
                if (!(((ElementoFlotaBO)paquete).Unidad != null && ((ElementoFlotaBO)paquete).Unidad.UnidadID != null))
                {
                    throw new Exception("No se pudo identificar la unidad.");
                }

                //Se consulta el elemento enviado en la navegación
                ElementoFlotaBO elemento = (ElementoFlotaBO)paquete;
                FlotaBO         flota    = this.controlador.ConsultarFlotaRentaDiaria(this.dctx, new FlotaBOF()
                {
                    Unidad = elemento.Unidad
                });

                if (!(flota.ElementosFlota != null && flota.ElementosFlota.Count > 0))
                {
                    throw new Exception("No se encontró la unidad en la flota de renta diaria.");
                }

                elemento = flota.ElementosFlota[0];

                //Desplegamos los resultados en pantalla
                this.DatoAInterfazUsuario(elemento);
            }
            catch (Exception ex)
            {
                this.presentadorDG.Inicializar();
                throw new Exception(nombreClase + ".EstablecerDatosNavegacion: " + ex.Message);
            }
        }
        /// <summary>
        /// Asocia los datos del objeto Contrato a la interfaz
        /// </summary>
        /// <param name="bo">Origen de los datos</param>
        private void DatoAInterfazUsuario(ContratoRDBO bo)
        {
            try{
                if (bo == null)
                {
                    bo = new ContratoRDBO();
                    if (bo.Sucursal == null)
                    {
                        bo.Sucursal = new SucursalBO();
                    }
                    if (bo.Sucursal.UnidadOperativa == null)
                    {
                        bo.Sucursal.UnidadOperativa = new UnidadOperativaBO();
                    }
                    return;
                }
                this.vista.ContratoID = bo.ContratoID;
                if (bo.Estatus != null)
                {
                    this.vista.EstatusID = (int)bo.Estatus;
                }
                else
                {
                    this.vista.EstatusID = null;
                }

                this.presentadorHerramientas.DatosAInterfazUsuario(bo);

                if (bo != null && bo.DocumentosAdjuntos != null && bo.DocumentosAdjuntos.Count > 0)
                {
                    bo.DocumentosAdjuntos = bo.DocumentosAdjuntos.Where(archivo => archivo.Activo == true).ToList();
                }
                #region Lineas
                if (bo.ObtenerLineaContrato() != null && bo.ObtenerLineaContrato().Equipo != null && bo.ObtenerLineaContrato().Equipo is UnidadBO && ((UnidadBO)bo.ObtenerLineaContrato().Equipo).UnidadID != null)
                {
                    ElementoFlotaBO elemento = new ElementoFlotaBO()
                    {
                        Unidad = (UnidadBO)bo.ObtenerLineaContrato().Equipo
                    };
                    elemento.Tramites = new TramiteBR().ConsultarCompleto(this.dctx, new TramiteProxyBO()
                    {
                        Activo = true, Tramitable = elemento.Unidad
                    }, false);
                    if (elemento != null && elemento.Unidad != null && elemento.Unidad.Sucursal == null)
                    {
                        elemento.Unidad.Sucursal = new SucursalBO();
                    }

                    this.presentadorDG.DatoAInterfazUsuario(elemento as object);
                    this.presentadorDG.ProductoServicioAInterfazUsuario(bo.ObtenerLineaContrato().ProductoServicio);
                    this.presentadorDG.MostrarProductoServicio(true);
                    this.presentadorEA.DatoAInterfazUsuario(elemento as object);
                    this.presentadorEA.CargarEquiposAliados();
                }
                else
                {
                    this.presentadorDG.Inicializar();
                    this.presentadorEA.Inicializar();
                }

                int?kmRecorridos = null;
                if (bo.ObtenerLineaContrato() != null)
                {
                    kmRecorridos = bo.ObtenerLineaContrato().CalcularKilometrajeRecorrido();
                }
                #endregion
                //En cualquiera de estos casos, es Cancelación
                bool casoPermitido1 = bo.Estatus != null && bo.Estatus == EEstatusContrato.EnPausa;
                bool casoPermitido2 = bo.Estatus != null && bo.Estatus == EEstatusContrato.PendientePorCerrar && kmRecorridos != null && kmRecorridos == 0;
                //En este caso, es Cierre
                bool casoPermitido3 = bo.Estatus != null && bo.Estatus == EEstatusContrato.PendientePorCerrar && kmRecorridos != null && kmRecorridos > 0;

                this.vista.Cancelable = casoPermitido1 || casoPermitido2;
                this.vista.Cerrable   = casoPermitido3;

                this.vista.PermitirCerrar(casoPermitido1 || casoPermitido2 || casoPermitido3);

                this.presentadorDocumentosContrato.Vista.EstablecerListasArchivos(bo.DocumentosAdjuntos, new List <TipoArchivoBO>());
                LineaContratoRDBO linea = bo.ObtenerLineaContrato();
                if (linea != null)
                {
                    ListadoVerificacionBO chkEntrega   = new ListadoVerificacionBO();
                    ListadoVerificacionBO chkRecepcion = new ListadoVerificacionBO();
                    chkEntrega = linea.ObtenerListadoVerificacionPorTipo(ETipoListadoVerificacion.ENTREGA);
                    if (chkEntrega != null)
                    {
                        this.presentadorDocumentosEntrega.Vista.EstablecerListasArchivos(chkEntrega.Adjuntos, new List <TipoArchivoBO>());
                    }
                    chkRecepcion = linea.ObtenerListadoVerificacionPorTipo(ETipoListadoVerificacion.RECEPCION);
                    if (chkRecepcion != null)
                    {
                        this.presentadorDocumentosRecepcion.Vista.EstablecerListasArchivos(chkRecepcion.Adjuntos, new List <TipoArchivoBO>());
                    }
                }
                this.presentadorResumen.DatosAInterfazUsuario(bo);
                this.vista.UltimoObjeto = bo;
            } catch (Exception ex) {
                throw new Exception(this.nombreClase + ".DatoAInterfazUsuario: " + ex.Message);
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// Despliega un objeto de negocio en la vista
        /// </summary>
        /// <param name="obj">Objeto que se desea desplegar en la vista</param>
        public void DatoAInterfazUsuario(object obj)
        {
            ElementoFlotaBO elemento = obj as ElementoFlotaBO;
            UnidadBO        unidad   = elemento.Unidad;

            if (ReferenceEquals(unidad.CaracteristicasUnidad, null))
            {
                unidad.CaracteristicasUnidad = new CaracteristicasUnidadBO();
            }
            if (ReferenceEquals(unidad.Modelo, null))
            {
                unidad.Modelo = new ModeloBO();
            }
            if (ReferenceEquals(unidad.Modelo.Marca, null))
            {
                unidad.Modelo.Marca = new MarcaBO();
            }
            if (ReferenceEquals(elemento.Tramites, null))
            {
                elemento.Tramites = new List <TramiteBO>();
            }

            this.vistaDG.Anio = unidad.Anio.HasValue ? unidad.Anio.Value.ToString().Trim().ToUpper() : string.Empty;

            this.vistaDG.CapacidadCarga = unidad.CaracteristicasUnidad.PBCMaximoRecomendado.HasValue
                ? unidad.CaracteristicasUnidad.PBCMaximoRecomendado.Value.ToString(CultureInfo.InvariantCulture).Trim().ToUpper()
                : string.Empty;
            this.vistaDG.CapacidadTanque = unidad.CaracteristicasUnidad.CapacidadTanque.HasValue
                ? unidad.CaracteristicasUnidad.CapacidadTanque.Value.ToString(CultureInfo.InvariantCulture).Trim().ToUpper()
                : string.Empty;
            this.vistaDG.EquipoID = unidad.EquipoID.HasValue ? unidad.EquipoID.Value.ToString().Trim().ToUpper() : string.Empty;
            this.vistaDG.LiderID  = unidad.IDLider.HasValue ? unidad.IDLider.Value.ToString().Trim().ToUpper() : string.Empty;
            this.vistaDG.Marca    = !string.IsNullOrEmpty(unidad.Modelo.Marca.Nombre) && !string.IsNullOrWhiteSpace(unidad.Modelo.Marca.Nombre)
                ? unidad.Modelo.Marca.Nombre.Trim().ToUpper()
                : string.Empty;
            this.vistaDG.Modelo = !string.IsNullOrEmpty(unidad.Modelo.Nombre) && !string.IsNullOrWhiteSpace(unidad.Modelo.Nombre)
                ? unidad.Modelo.Nombre.Trim().ToUpper()
                : string.Empty;
            this.vistaDG.NumeroEconomico = !string.IsNullOrEmpty(unidad.NumeroEconomico) && !string.IsNullOrWhiteSpace(unidad.NumeroEconomico)
                ? unidad.NumeroEconomico.Trim().ToUpper()
                : string.Empty;
            this.vistaDG.Numeroserie = !string.IsNullOrEmpty(unidad.NumeroSerie) && !string.IsNullOrWhiteSpace(unidad.NumeroSerie)
                ? unidad.NumeroSerie.Trim().ToUpper()
                : string.Empty;
            this.vistaDG.OracleID = !string.IsNullOrEmpty(unidad.ClaveActivoOracle) && !string.IsNullOrWhiteSpace(unidad.ClaveActivoOracle)
                ? unidad.ClaveActivoOracle.Trim().ToUpper()
                : string.Empty;
            TramiteBO placarEstatal = elemento.ObtenerTramitePorTipo(ETipoTramite.PLACA_ESTATAL);

            if (ReferenceEquals(placarEstatal, null))
            {
                this.vistaDG.PlacasEstatales = string.Empty;
            }
            else
            {
                this.vistaDG.PlacasEstatales = !string.IsNullOrEmpty(placarEstatal.Resultado) &&
                                               !string.IsNullOrWhiteSpace(placarEstatal.Resultado)
                                                   ? placarEstatal.Resultado.Trim().ToUpper()
                                                   : string.Empty;
            }
            TramiteBO placaFederal = elemento.ObtenerTramitePorTipo(ETipoTramite.PLACA_FEDERAL);

            if (ReferenceEquals(placaFederal, null))
            {
                this.vistaDG.PlacasFederales = string.Empty;
            }
            else
            {
                this.vistaDG.PlacasFederales = !string.IsNullOrEmpty(placaFederal.Resultado) &&
                                               !string.IsNullOrWhiteSpace(placaFederal.Resultado)
                                                   ? placaFederal.Resultado.Trim().ToUpper()
                                                   : string.Empty;
            }
            this.vistaDG.RendimientoTanque = unidad.CaracteristicasUnidad.RendimientoTanque.HasValue
                ? unidad.CaracteristicasUnidad.RendimientoTanque.Value.ToString().Trim().ToUpper()
                : string.Empty;
            this.vistaDG.Sucursal = !string.IsNullOrEmpty(unidad.Sucursal.Nombre) && !string.IsNullOrWhiteSpace(unidad.Sucursal.Nombre)
                ? unidad.Sucursal.Nombre.Trim().ToUpper()
                : string.Empty;
            this.vistaDG.UnidadID = unidad.UnidadID.HasValue ? unidad.UnidadID.Value.ToString().Trim().ToUpper() : string.Empty;
        }
Exemplo n.º 10
0
        private void DatoAInterfazUsuario(object obj)
        {
            ContratoRDBO bo = (ContratoRDBO)obj;

            if (bo == null)
            {
                bo = new ContratoRDBO();
            }
            if (bo.Cliente == null)
            {
                bo.Cliente = new CuentaClienteIdealeaseBO();
            }
            if (bo.Divisa == null)
            {
                bo.Divisa = new DivisaBO();
            }
            if (bo.Divisa.MonedaDestino == null)
            {
                bo.Divisa.MonedaDestino = new MonedaBO();
            }
            if (bo.Operador == null)
            {
                bo.Operador = new OperadorBO();
            }
            if (bo.Operador.Direccion == null)
            {
                bo.Operador.Direccion = new DireccionPersonaBO();
            }
            if (bo.Operador.Direccion.Ubicacion == null)
            {
                bo.Operador.Direccion.Ubicacion = new UbicacionBO();
            }
            if (bo.Operador.Direccion.Ubicacion.Ciudad == null)
            {
                bo.Operador.Direccion.Ubicacion.Ciudad = new CiudadBO();
            }
            if (bo.Operador.Direccion.Ubicacion.Estado == null)
            {
                bo.Operador.Direccion.Ubicacion.Estado = new EstadoBO();
            }
            if (bo.Operador.Direccion.Ubicacion.Pais == null)
            {
                bo.Operador.Direccion.Ubicacion.Pais = new PaisBO();
            }
            if (bo.Operador.Licencia == null)
            {
                bo.Operador.Licencia = new LicenciaBO();
            }
            if (bo.Sucursal == null)
            {
                bo.Sucursal = new SucursalBO();
            }
            if (bo.Sucursal.UnidadOperativa == null)
            {
                bo.Sucursal.UnidadOperativa = new UnidadOperativaBO();
            }
            if (bo.CierreContrato == null)
            {
                bo.CierreContrato = new CancelacionContratoRDBO();
            }
            if (bo.CierreContrato.Usuario == null)
            {
                bo.CierreContrato.Usuario = new UsuarioBO();
            }

            LineaContratoRDBO linea = bo.ObtenerLineaContrato();

            if (linea == null)
            {
                linea = new LineaContratoRDBO();
                if (linea.Equipo == null)
                {
                    linea.Equipo = new UnidadBO();
                }
                if (linea.Cobrable == null)
                {
                    linea.Cobrable = new TarifaContratoRDBO();
                }
            }
            else
            {
                this.vista.KmRecorrido = linea.CalcularKilometrajeRecorrido();
                if (linea.Equipo != null)
                {
                    this.vista.EquipoID = linea.Equipo.EquipoID;
                    //Se consulta la información de la flota
                    if (linea.Equipo is UnidadBO)
                    {
                        this.vista.UnidadID = ((UnidadBO)linea.Equipo).UnidadID;
                        ElementoFlotaBO elemento = new ElementoFlotaBO()
                        {
                            Unidad = (UnidadBO)linea.Equipo
                        };
                        elemento.Tramites = new TramiteBR().ConsultarCompleto(this.dctx, new TramiteProxyBO()
                        {
                            Activo = true, Tramitable = elemento.Unidad
                        }, false);
                        if (elemento != null && elemento.Unidad != null && elemento.Unidad.Sucursal == null)
                        {
                            elemento.Unidad.Sucursal = new SucursalBO();
                        }

                        this.presentadorDG.DatoAInterfazUsuario(elemento as object);
                        this.presentadorEA.DatoAInterfazUsuario(elemento as object);
                        this.presentadorEA.CargarEquiposAliados();
                    }
                    else
                    {
                        this.presentadorDG.Inicializar();
                        this.presentadorEA.Inicializar();
                    }
                }
            }
            this.vista.ContratoID = bo.ContratoID;
            if (bo.Estatus != null)
            {
                this.vista.EstatusID = (int)bo.Estatus;
            }
            else
            {
                this.vista.EstatusID = null;
            }
            this.vista.FechaCancelacion         = bo.CierreContrato.Fecha;
            this.vista.ObservacionesCancelacion = bo.CierreContrato.Observaciones;

            if (bo.CierreContrato is CancelacionContratoRDBO)
            {
                this.vista.MotivoCancelacion = ((CancelacionContratoRDBO)bo.CierreContrato).Motivo;
            }
            else
            {
                this.vista.MotivoCancelacion = null;
            }

            vista.FechaContrato = bo.FechaContrato;

            this.presentadorHerramientas.DatosAInterfazUsuario(bo);
            this.presentadorResumen.DatosAInterfazUsuario(bo);
        }
Exemplo n.º 11
0
        /// <summary>
        /// Enlaza los datos a la interfaz de usuario
        /// </summary>
        /// <param name="bo"> objeto con los datos necesarios</param>
        private void DatoAInterfazUsuario(ContratoRDBO bo)
        {
            this.vista.ContratoID    = bo.ContratoID;
            this.vista.FechaContrato = bo.FechaContrato;
            if (bo.Estatus != null)
            {
                this.vista.EstatusID = (int)bo.Estatus;
            }
            else
            {
                this.vista.EstatusID = null;
            }

            if (bo.CierreContrato == null)
            {
                bo.CierreContrato = new CancelacionContratoRDBO();
            }
            if (bo.CierreContrato.Usuario == null)
            {
                bo.CierreContrato.Usuario = new UsuarioBO();
            }

            LineaContratoRDBO linea = bo.ObtenerLineaContrato();

            if (linea != null)
            {
                if (linea.Equipo != null)
                {
                    this.vista.EquipoID = linea.Equipo.EquipoID;
                    if (linea.Equipo is UnidadBO)
                    {
                        this.vista.UnidadID = ((UnidadBO)linea.Equipo).UnidadID;
                        ElementoFlotaBO elemento = new ElementoFlotaBO()
                        {
                            Unidad = (UnidadBO)linea.Equipo
                        };
                        elemento.Tramites = new TramiteBR().ConsultarCompleto(this.dctx, new TramiteProxyBO()
                        {
                            Activo = true, Tramitable = elemento.Unidad
                        }, false);
                        if (elemento != null)
                        {
                            if (elemento.Unidad != null && elemento.Unidad.Sucursal == null)
                            {
                                elemento.Unidad.Sucursal = linea.Equipo.Sucursal;
                            }

                            this.presentadorDG.DatoAInterfazUsuario(elemento as object);
                            this.presentadorEA.DatoAInterfazUsuario(elemento as object);
                            this.presentadorEA.CargarEquiposAliados();
                        }
                    }
                    else
                    {
                        this.vista.UnidadID = null;
                    }
                }
                if (linea.Equipo.ActivoFijo != null && linea.Equipo.ActivoFijo.CostoSinIva != null)
                {
                    Decimal?montoDeducibleCalcuado = 0;
                    montoDeducibleCalcuado = linea.Equipo.ActivoFijo.CostoSinIva;
                    var unidad = (UnidadBO)linea.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);
                    }
                    this.vista.ImporteDeposito = bo.CalcularMontoDeposito(montoDeducibleCalcuado.Value);
                }
                else
                {
                    this.vista.ImporteDeposito = null;
                }
                //Tarifas
                if (linea.Cobrable == null)
                {
                    var tarifaTemporal = ((TarifaContratoRDBO)linea.Cobrable);
                    this.vista.TarifaKmLibres     = tarifaTemporal.KmsLibres;
                    this.vista.TarifaKmExcedido   = tarifaTemporal.RangoTarifas != null && tarifaTemporal.RangoTarifas.Any() ? tarifaTemporal.RangoTarifas.First().CargoKm ?? 0 : 0;
                    this.vista.TarifaHrsLibres    = tarifaTemporal.HrsLibres;
                    this.vista.TarifaHrsExcedidas = tarifaTemporal.RangoTarifas != null && tarifaTemporal.RangoTarifas.Any() ? tarifaTemporal.RangoTarifas.First().CargoHr ?? 0 : 0;
                }
                //Listados de Verificación
                ListadoVerificacionBO entrega = linea.ObtenerListadoVerificacionPorTipo(ETipoListadoVerificacion.ENTREGA);
                if (entrega == null)
                {
                    entrega = new ListadoVerificacionBO();
                }
                ListadoVerificacionBO recepcion = linea.ObtenerListadoVerificacionPorTipo(ETipoListadoVerificacion.RECEPCION);
                if (recepcion == null)
                {
                    recepcion = new ListadoVerificacionBO();
                }
                this.vista.FechaRecepcion = recepcion.Fecha;

                this.vista.KmRecorrido           = linea.CalcularKilometrajeRecorrido();
                this.vista.KmRecorrido           = linea.CalcularKilometrajeRecorrido();
                this.vista.KmExcedido            = linea.CalcularKilometrosExcedidos();
                this.vista.MontoKmExcedido       = linea.CalcularMontoPorKilometrosExcedidos();
                this.vista.HrsExcedidas          = linea.CalcularHorasExcedidas();
                this.vista.HrsConsumidas         = linea.CalcularHorasConsumidas();
                this.vista.MontoHrsExcedidas     = linea.CalcularMontoPorHorasExcedidas();
                this.vista.KmEntrega             = entrega.Kilometraje;
                this.vista.HrsEntrega            = entrega.Horometro;
                this.vista.KmRecepcion           = recepcion.Kilometraje;
                this.vista.HrsRecepcion          = recepcion.Horometro;
                this.vista.DiferenciaCombustible = linea.CalcularDiferenciaCombustible();

                if (this.vista.ImporteUnidadCombustible != null)
                {
                    this.vista.ImporteTotalCombustible = linea.CalcularMontoCombustible(this.vista.ImporteUnidadCombustible.Value);
                }
                else
                {
                    this.vista.ImporteUnidadCombustible = null;
                }

                //Cierre del Contrato
                this.vista.ObservacionesCierre = bo.CierreContrato.Observaciones;
                if (bo.CierreContrato is CierreContratoRDBO)
                {
                    this.vista.ImporteReembolso       = ((CierreContratoRDBO)bo.CierreContrato).ImporteReembolso;
                    this.vista.CargoAbusoOperacion    = ((CierreContratoRDBO)bo.CierreContrato).CargoAbusoOperacion;
                    this.vista.CargoDisposicionBasura = ((CierreContratoRDBO)bo.CierreContrato).CargoDisposicionBasura;
                    this.vista.PersonaRecibeReembolso = ((CierreContratoRDBO)bo.CierreContrato).PersonaRecibeReembolso;
                }
                else
                {
                    this.vista.ImporteReembolso       = null;
                    this.vista.CargoAbusoOperacion    = null;
                    this.vista.CargoDisposicionBasura = null;
                    this.vista.PersonaRecibeReembolso = null;
                }

                //Cálculos de Días de Renta
                this.vista.DiasRentaProgramada = bo.CalcularDiasPrometidosRenta();
                this.vista.DiasEnTaller        = 0;
                this.vista.DiasRealesRenta     = bo.CalcularDiasTranscurridosRenta();
                if (this.vista.DiasRentaProgramada != null && this.vista.DiasRealesRenta != null)
                {
                    this.vista.DiasAdicionales = this.vista.DiasRealesRenta.Value - this.vista.DiasRentaProgramada.Value;
                }
                else
                {
                    this.vista.DiasAdicionales = null;
                }
                if (this.vista.DiasAdicionales != null && ((TarifaContratoRDBO)linea.Cobrable).TarifaDiaria != null)
                {
                    this.vista.MontoTotalDiasAdicionales = this.vista.DiasAdicionales * ((TarifaContratoRDBO)linea.Cobrable).TarifaDiaria;
                }
                else
                {
                    this.vista.MontoTotalDiasAdicionales = null;
                }
            }

            this.presentadorHerramientas.DatosAInterfazUsuario(bo);
            this.presentadorResumen.DatosAInterfazUsuario(bo);
        }