protected void lvTramites_ItemDataBound(object sender, ListViewItemEventArgs e) { try { if (e.Item.ItemType == ListViewItemType.DataItem) { TramiteBO tramite = e.Item.DataItem != null ? (TramiteBO)e.Item.DataItem : new TramiteProxyBO(); if (tramite.Activo != null && tramite.Activo == true) { ((Image)e.Item.FindControl("imgEstatus")).ImageUrl = this.ResolveUrl("~/Contenido/Imagenes/exito.png"); } else { ((Image)e.Item.FindControl("imgEstatus")).ImageUrl = this.ResolveUrl("~/Contenido/Imagenes/error.png"); } ConfigurarTramites(e); } } catch (Exception ex) { this.MostrarMensaje("Inconsistencia al mostrar los trámites", ETipoMensajeIU.ERROR, this.nombreClase + ".lvTramites_ItemDataBound:" + ex.Message); } }
/// <summary> /// Despliega los datos de la unidad a la interfaz /// </summary> /// <param name="unidad"></param> private void DatosAInterfazUsuario(UnidadBO unidad) { UnidadBO consultada = ObtenerUnidad(unidad); #region Se obtiene la información completa de la unidad y sus trámites List <TramiteBO> lstTramites = new List <TramiteBO>(); if (consultada != null && (consultada.UnidadID != null || consultada.EquipoID != null)) { lstTramites = new TramiteBR().ConsultarCompleto(dataContext, new TramiteProxyBO() { Activo = true, Tramitable = consultada }, false); } #endregion if (consultada == null) { consultada = new Equipos.BO.UnidadBO(); } if (consultada.Modelo == null) { consultada.Modelo = new ModeloBO(); } if (consultada.Modelo.Marca == null) { consultada.Modelo.Marca = new MarcaBO(); } if (consultada.Sucursal == null) { consultada.Sucursal = new SucursalBO(); } if (consultada.CaracteristicasUnidad == null) { consultada.CaracteristicasUnidad = new CaracteristicasUnidadBO(); } if (consultada == null) { throw new Exception("No se ha proporcionado una unidad a agregar"); } vista.UnidadID = consultada.UnidadID; vista.EquipoID = consultada.EquipoID; vista.VIN = !string.IsNullOrEmpty(consultada.NumeroSerie) ? consultada.NumeroSerie : string.Empty; vista.NumeroEconocimico = !string.IsNullOrEmpty(consultada.NumeroEconomico) ? consultada.NumeroEconomico : string.Empty; vista.SucursalID = consultada.Sucursal.Id; vista.Sucursal = !string.IsNullOrEmpty(consultada.Sucursal.Nombre) ? consultada.Sucursal.Nombre : string.Empty; vista.ModeloID = consultada.Modelo.Id; vista.Modelo = consultada.Modelo.Nombre; vista.Marca = consultada.Modelo.Marca.Nombre; this.vista.UnidadCapacidadTanque = consultada.CombustibleConsumidoTotal; vista.Anio = consultada.Anio; //Información de los Trámites de la Unidad y Deducible TramiteBO tramite = null; #region Placa Estatal tramite = lstTramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_ESTATAL && p.Activo != null && p.Activo == true); if (tramite != null && tramite.Resultado != null && tramite.Resultado.Trim().CompareTo("") != 0) { this.vista.UnidadPlacaEstatal = tramite.Resultado; } else { this.vista.UnidadPlacaEstatal = null; } #endregion this.vista.EArea = consultada.Area; //Información de los Equipos Aliados de la Unidad DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("NumeroSerie")); dt.Columns.Add(new DataColumn("Anio")); dt.Columns.Add(new DataColumn("Dimensiones")); dt.Columns.Add(new DataColumn("PBV")); dt.Columns.Add(new DataColumn("PBC")); dt.Columns.Add(new DataColumn("Modelo")); if (consultada.EquiposAliados != null) { foreach (EquipoAliadoBO ea in consultada.EquiposAliados) { DataRow dr = dt.NewRow(); dr["NumeroSerie"] = ea.NumeroSerie; dr["Anio"] = ea.Anio; dr["Dimensiones"] = ea.Dimension; dr["PBV"] = ea.PBV; dr["PBC"] = ea.PBC; if (ea.Modelo != null) { dr["Modelo"] = ea.Modelo.Nombre; } dt.Rows.Add(dr); } } dt.AcceptChanges(); this.vista.EstablecerEquiposAliadoUnidad(dt); }
/// <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; }
private void DatoAInterfazUsuario(object obj) { if (obj is Equipos.BO.UnidadBO) { #region Unidad A Interfaz de Usuario Equipos.BO.UnidadBO unidad = (Equipos.BO.UnidadBO)obj; //Información de la Unidad if (unidad == null) { unidad = new Equipos.BO.UnidadBO(); } if (unidad.Modelo == null) { unidad.Modelo = new ModeloBO(); } if (unidad.Modelo.Marca == null) { unidad.Modelo.Marca = new MarcaBO(); } if (unidad.Sucursal == null) { unidad.Sucursal = new SucursalBO(); } if (unidad.CaracteristicasUnidad == null) { unidad.CaracteristicasUnidad = new CaracteristicasUnidadBO(); } this.vista.UnidadID = unidad.UnidadID; this.vista.EquipoID = unidad.EquipoID; this.vista.CapacidadCarga = unidad.CaracteristicasUnidad.PBCMaximoRecomendado; this.vista.RendimientoTanque = unidad.CaracteristicasUnidad.RendimientoTanque; this.vista.CapacidadTanque = unidad.CaracteristicasUnidad.CapacidadTanque; this.vista.Anio = unidad.Anio; if (unidad.NumeroEconomico != null && unidad.NumeroEconomico.Trim().CompareTo("") != 0) { this.vista.NumeroEconomico = unidad.NumeroEconomico; } else { this.vista.NumeroEconomico = null; } if (unidad.NumeroSerie != null && unidad.NumeroSerie.Trim().CompareTo("") != 0) { this.vista.VIN = unidad.NumeroSerie; } else { this.vista.VIN = null; } if (unidad.Modelo.Nombre != null && unidad.Modelo.Nombre.Trim().CompareTo("") != 0) { this.vista.ModeloNombre = unidad.Modelo.Nombre; } else { this.vista.ModeloNombre = null; } if (!string.IsNullOrEmpty(unidad.Modelo.Marca.Nombre) && !string.IsNullOrWhiteSpace(unidad.Modelo.Marca.Nombre)) { this.vista.MarcaNombre = unidad.Modelo.Marca.Nombre.Trim().ToUpper(); } else { this.vista.MarcaNombre = null; } if (unidad.Sucursal.Nombre != null && unidad.Sucursal.Nombre.Trim().CompareTo("") != 0) { this.vista.SucursalNombre = unidad.Sucursal.Nombre; } else { this.vista.SucursalNombre = null; } #endregion } if (obj is List <TramiteBO> ) { #region Trámites A Interfaz de Usuario List <TramiteBO> lstTramites = (List <TramiteBO>)obj; TramiteBO tramite = null; //Placa Federal tramite = lstTramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_FEDERAL && p.Activo != null && p.Activo == true); if (tramite != null && tramite.Resultado != null && tramite.Resultado.Trim().CompareTo("") != 0) { this.vista.PlacaFederal = tramite.Resultado; } else { this.vista.PlacaFederal = null; } //Placa Estatal tramite = lstTramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_ESTATAL && p.Activo != null && p.Activo == true); if (tramite != null && tramite.Resultado != null && tramite.Resultado.Trim().CompareTo("") != 0) { this.vista.PlacaEstatal = tramite.Resultado; } else { this.vista.PlacaEstatal = null; } #endregion } if (obj is LineaContratoManttoBO) { #region Línea de Contrato a Interfaz de Usuario LineaContratoManttoBO linea = (LineaContratoManttoBO)obj; if (linea.Cobrable == null) { linea.Cobrable = new TarifaManttoBO(); } if (linea.ProductoServicio == null) { linea.ProductoServicio = new ProductoServicioBO(); } this.vista.LineaContratoID = linea.LineaContratoID; this.vista.KmEstimadoAnual = linea.KmEstimadoAnual; this.vista.CobrableID = linea.Cobrable.CobrableID; this.vista.CargoFijoMensual = ((TarifaManttoBO)linea.Cobrable).CargoFijoMensual; this.vista.KilometrosLibres = ((TarifaManttoBO)linea.Cobrable).KilometrosLibres; //SC051 this.vista.CostoKmRecorrido = ((TarifaManttoBO)linea.Cobrable).CargoKmRecorrido; this.vista.HorasLibres = ((TarifaManttoBO)linea.Cobrable).HorasLibres; //SC051 this.vista.CostoHorasRefrigeradas = ((TarifaManttoBO)linea.Cobrable).CargoHorasRefrigeradas; //SC051 this.vista.PeriodoTarifaHRS = ((TarifaManttoBO)linea.Cobrable).PeriodoTarifaHR.HasValue ? (int?)((TarifaManttoBO)linea.Cobrable).PeriodoTarifaHR.Value : null; this.vista.PeriodoTarifaKM = ((TarifaManttoBO)linea.Cobrable).PeriodoTarifaKM.HasValue ? (int?)((TarifaManttoBO)linea.Cobrable).PeriodoTarifaKM.Value : null; this.vista.ProductoServicioId = linea.ProductoServicio.Id; this.vista.ClaveProductoServicio = linea.ProductoServicio.NombreCorto; this.vista.DescripcionProductoServicio = linea.ProductoServicio.Nombre; this.DatoAInterfazUsuario(linea.Equipo); this.vista.SubLineasContrato = linea.SubLineasContrato; #endregion } }
/// <summary> /// Presenta el detalle de una Cita de Mantenimiento Seleccionada /// </summary> /// <param name="id">Identificador de la cita o el mantenimiento programado</param> /// <param name="esCita">Determina si el ID es para una Cita de Mantenimiento</param> public void PresentarDetalles(CitaMantenimientoBO citaMantenimiento) { if (citaMantenimiento != null) { CitaMantenimientoBO cita = citaMantenimiento; BPMO.SDNI.Equipos.BO.UnidadBO unidad = (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad; UnidadBR unidadBR = new UnidadBR(); TramiteProxyBO filter = new TramiteProxyBO() { Activo = true, Tramitable = new BPMO.SDNI.Equipos.BO.UnidadBO { UnidadID = unidad.UnidadID } }; TramiteBR tramiteBR = new TramiteBR(); List <TramiteBO> lstTramites = tramiteBR.ConsultarCompleto(dctx, filter, false); TramiteBO tramitePlacaFederal = lstTramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_FEDERAL && p.Activo != null && p.Activo == true); TramiteBO tramitePlacaEstatal = lstTramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_ESTATAL && p.Activo != null && p.Activo == true); String placas = tramitePlacaFederal != null && !String.IsNullOrEmpty(tramitePlacaFederal.Resultado) ? tramitePlacaFederal.Resultado : (tramitePlacaEstatal != null && !String.IsNullOrEmpty(tramitePlacaEstatal.Resultado) ? tramitePlacaEstatal.Resultado : null); var equiposAliados = unidadBR.ConsultarEquipoAliado(dctx, unidad, true); List <MantenimientoProgramadoEquipoAliadoBO> mantenimientosEA = new List <MantenimientoProgramadoEquipoAliadoBO>(); var mantenimientoProgramadoBR = new ConsultarMantenimientoProgramadoBR(); foreach (EquipoAliadoBO equipoAliado in equiposAliados) { var manttosEA = mantenimientoProgramadoBR.Consultar(dctx, new MantenimientoProgramadoBOF() { EsUnidad = false, EquipoID = equipoAliado.EquipoID, Activo = true, EstatusMantenimientoProgramado = EEstatusMantenimientoProgramado.PROGRAMADO }); if (manttosEA != null && manttosEA.Any()) { var manttoEA = manttosEA.FirstOrDefault() as MantenimientoProgramadoEquipoAliadoBO; manttoEA.EquipoAliado = equipoAliado; mantenimientosEA.Add(manttoEA); } else { mantenimientosEA.Add(new MantenimientoProgramadoEquipoAliadoBO() { EquipoAliado = equipoAliado }); } } List <ContactoClienteBO> contactosCliente = new List <ContactoClienteBO>(); if ((cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.Cliente != null && (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.Cliente.Id != null) { var clienteIdealeaseBR = new CuentaClienteIdealeaseBR(); var cliente = clienteIdealeaseBR.Consultar(dctx, new CuentaClienteIdealeaseBO() { Cliente = new ClienteBO() { Id = (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.Cliente.Id }, UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativaID } }).FirstOrDefault(); if (cliente != null) { bool?activo = cita.CitaMantenimientoID != null ? null : (bool?)true; var contactos = new ContactoClienteBR().ConsultarCompleto(dctx, new ContactoClienteBO() { CuentaClienteIdealease = cliente, Activo = activo, Sucursal = cita.Sucursal }); if (contactos != null && contactos.Any()) { contactos.ForEach(contacto => { contacto.Detalles.ForEach(detail => { detail.ContactoCliente.Sucursal = new SucursalBO() { Id = contacto.Sucursal.Id, Nombre = contacto.Sucursal.Nombre }; detail.ContactoCliente.Direccion = contacto.Direccion; }); }); contactosCliente.AddRange(contactos); } (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.Cliente.NombreCompleto = cliente.Cliente.NombreCompleto; } else { var clienteServicio = FacadeBR.ConsultarCliente(dctx, new ClienteBO() { Id = (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.Cliente.Id }).FirstOrDefault(); if (clienteServicio != null) { (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.Cliente.NombreCompleto = clienteServicio.NombreCompleto; } } } this.ObjetoAInterfazUsuario(cita, mantenimientosEA, contactosCliente, tramitePlacaFederal != null && !String.IsNullOrEmpty(tramitePlacaFederal.Resultado) ? tramitePlacaFederal.Resultado : String.Empty, tramitePlacaEstatal != null && !String.IsNullOrEmpty(tramitePlacaEstatal.Resultado) ? tramitePlacaEstatal.Resultado : String.Empty); } else { throw new Exception("No hay citas de mantenimiento para presentar"); } }
/// <summary> /// Presenta el detalle de una Cita de Mantenimiento Seleccionada /// </summary> /// <param name="id">Identificador de la cita o el mantenimiento programado</param> /// <param name="esCita">Determina si el ID es para una Cita de Mantenimiento</param> public void PresentarDetalles(int id, bool esCita) { if (this.vista.CitasMantenimiento != null && this.vista.CitasMantenimiento.Any()) { CitaMantenimientoBO cita = null; if (esCita) { cita = this.vista.CitasMantenimiento.FirstOrDefault(x => x.CitaMantenimientoID == id); } else { cita = this.vista.CitasMantenimiento.FirstOrDefault(x => x.MantenimientoProgramado.MantenimientoProgramadoID == id); } BPMO.SDNI.Equipos.BO.UnidadBO unidad = (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad; UnidadBR unidadBR = new UnidadBR(); TramiteProxyBO filter = new TramiteProxyBO() { Activo = true, Tramitable = new BPMO.SDNI.Equipos.BO.UnidadBO { UnidadID = unidad.UnidadID } }; TramiteBR tramiteBR = new TramiteBR(); List <TramiteBO> lstTramites = tramiteBR.ConsultarCompleto(dctx, filter, false); TramiteBO tramitePlacaFederal = lstTramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_FEDERAL && p.Activo != null && p.Activo == true); TramiteBO tramitePlacaEstatal = lstTramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_ESTATAL && p.Activo != null && p.Activo == true); String placas = tramitePlacaFederal != null && !String.IsNullOrEmpty(tramitePlacaFederal.Resultado) ? tramitePlacaFederal.Resultado : (tramitePlacaEstatal != null && !String.IsNullOrEmpty(tramitePlacaEstatal.Resultado) ? tramitePlacaEstatal.Resultado : null); var equiposAliados = unidadBR.ConsultarEquipoAliado(dctx, unidad, true); List <MantenimientoProgramadoEquipoAliadoBO> mantenimientosEA = new List <MantenimientoProgramadoEquipoAliadoBO>(); var mantenimientoProgramadoBR = new ConsultarMantenimientoProgramadoBR(); foreach (EquipoAliadoBO equipoAliado in equiposAliados) { var manttosEA = mantenimientoProgramadoBR.Consultar(dctx, new MantenimientoProgramadoBOF() { EsUnidad = false, EquipoID = equipoAliado.EquipoID, Activo = true, EstatusMantenimientoProgramado = EEstatusMantenimientoProgramado.PROGRAMADO }); if (manttosEA != null && manttosEA.Any()) { var manttoEA = manttosEA.FirstOrDefault() as MantenimientoProgramadoEquipoAliadoBO; manttoEA.EquipoAliado = equipoAliado; mantenimientosEA.Add(manttoEA); } else { mantenimientosEA.Add(new MantenimientoProgramadoEquipoAliadoBO() { EquipoAliado = equipoAliado }); } } var nombreSucursal = ""; var nombreTaller = ""; int? kmUltimoServicio = null; DateTime?fechaUltimoServicio = null; string clienteNombre = ""; List <ContactoClienteBO> contactosCliente = new List <ContactoClienteBO>(); if (cita.CitaMantenimientoID != null) { var sucursal = FacadeBR.ConsultarSucursal(dctx, new SucursalBO() { Id = cita.Sucursal.Id }).FirstOrDefault(); if (sucursal != null) { cita.Sucursal.Nombre = sucursal.Nombre; nombreSucursal = sucursal.Nombre; } var taller = FacadeBR.ConsultarTaller(dctx, new TallerBO() { Id = cita.TallerInterno.Id }).FirstOrDefault(); if (taller != null) { cita.TallerInterno.Nombre = taller.Nombre; cita.TallerInterno.NombreCorto = taller.NombreCorto; nombreTaller = taller.Nombre; } } var unidadManttoBR = new MantenimientoUnidadBR(); var mantemiento = unidadManttoBR.Consultar(dctx, new MantenimientoUnidadBO() { IngresoUnidad = new IngresoUnidadBO() { Unidad = (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad }, TipoServicio = new TipoServicioBO() { Id = this.TipoMantenimiento }, Activo = true }).Where(x => x.FechaSalida != null).OrderBy(x => x.FechaSalida).ToList().LastOrDefault(); if (mantemiento != null) { kmUltimoServicio = mantemiento.KilometrajeEntrada; fechaUltimoServicio = mantemiento.FechaSalida.Value; } if ((cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.Cliente != null && (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.Cliente.Id != null) { var clienteIdealeaseBR = new CuentaClienteIdealeaseBR(); var cliente = clienteIdealeaseBR.Consultar(dctx, new CuentaClienteIdealeaseBO() { Cliente = new ClienteBO() { Id = (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.Cliente.Id }, UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativaID } }).FirstOrDefault(); if (cliente != null) { bool?activo = cita.CitaMantenimientoID != null ? null : (bool?)true; var contactos = new ContactoClienteBR().ConsultarCompleto(dctx, new ContactoClienteBO() { CuentaClienteIdealease = cliente, Activo = activo, Sucursal = cita.Sucursal }); if (contactos != null && contactos.Any()) { contactos.ForEach(contacto => { contacto.Detalles.ForEach(detail => { detail.ContactoCliente.Sucursal = new SucursalBO() { Id = contacto.Sucursal.Id, Nombre = contacto.Sucursal.Nombre }; detail.ContactoCliente.Direccion = contacto.Direccion; }); }); contactosCliente.AddRange(contactos); } clienteNombre = cliente.Cliente.NombreCompleto; } else { var clienteServicio = FacadeBR.ConsultarCliente(dctx, new ClienteBO() { Id = (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.Cliente.Id }).FirstOrDefault(); if (clienteServicio != null) { clienteNombre = clienteServicio.NombreCompleto; } } } var fechaInicial = new DateTime(); if (mantemiento.FechaUltimoServicio.HasValue) { fechaInicial = mantemiento.FechaArranque.Value > mantemiento.FechaUltimoServicio.Value && mantemiento.FechaArranque.Value < mantemiento.FechaProximoServicio.Value ? mantemiento.FechaArranque.Value : DateTime.Today; } else { fechaInicial = DateTime.Today; } var diasRetraso = Convert.ToInt32(Math.Round((fechaInicial - new DateTime(cita.MantenimientoProgramado.Fecha.Value.Year, cita.MantenimientoProgramado.Fecha.Value.Month, cita.MantenimientoProgramado.Fecha.Value.Day)).TotalDays, 2)); this.vista.ClienteNombre = clienteNombre; this.vista.Area = (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.Area.ToString(); this.vista.VINUnidad = (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.NumeroSerie; this.vista.NumeroEconomico = (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).Unidad.NumeroEconomico; this.vista.KmUltimoServicio = kmUltimoServicio; this.vista.FechaUltimoServicio = fechaUltimoServicio; this.vista.PlacaEstatal = tramitePlacaEstatal != null && !String.IsNullOrEmpty(tramitePlacaEstatal.Resultado) ? tramitePlacaEstatal.Resultado : ""; this.vista.PlacaFederal = tramitePlacaFederal != null && !String.IsNullOrEmpty(tramitePlacaFederal.Resultado) ? tramitePlacaFederal.Resultado : ""; this.vista.FechaSugerida = cita.MantenimientoProgramado.Fecha; this.vista.TipoMantenimiento = (cita.MantenimientoProgramado as MantenimientoProgramadoUnidadBO).TipoMantenimientoNombre; this.vista.NombreSucursalDetalle = nombreSucursal; this.vista.NombreTallerDetalle = nombreTaller; this.vista.ListadoManttoEquiposAliados = mantenimientosEA; this.vista.EstatusMantenimiento = cita.CitaMantenimientoID != null?cita.EstatusCita.ToString() : EEstatusCita.PRECALENDARIZADA.ToString(); this.vista.DiasRetraso = diasRetraso <= 0 ? int.Parse(diasRetraso.ToString("G")) : int.Parse(diasRetraso.ToString()); this.vista.ListadoContactosCliente = contactosCliente; this.vista.EstablecerEquiposAliados(); this.vista.EstablecerContactosCliente(); } else { throw new Exception("No hay citas de mantenimiento para presentar"); } }