private object InterfazUsuarioADato() { ContratoRDBO bo = new ContratoRDBO(); if (this.vista.UltimoObjeto != null) { bo = new ContratoRDBO((ContratoRDBO)this.vista.UltimoObjeto); } bo.CierreContrato = new CancelacionContratoRDBO(); bo.CierreContrato.Usuario = new UsuarioBO(); bo.ContratoID = this.vista.ContratoID; bo.UUA = this.vista.UUA; bo.FUA = this.vista.FUA; bo.Tipo = ETipoContrato.RD; if (this.vista.EstatusID != null) { bo.Estatus = (EEstatusContrato)Enum.Parse(typeof(EEstatusContrato), this.vista.EstatusID.ToString()); } else { bo.Estatus = null; } bo.CierreContrato.Fecha = this.vista.FechaCancelacion; bo.CierreContrato.Observaciones = this.vista.ObservacionesCancelacion; bo.CierreContrato.Usuario.Id = this.vista.UsuarioID; ((CancelacionContratoRDBO)bo.CierreContrato).Motivo = this.vista.MotivoCancelacion; return(bo); }
private void EstablecerDatosNavegacion(object paqueteNavegacion) { try { if (paqueteNavegacion == null) { throw new Exception("Se esperaba un objeto en la navegación. No se puede identificar qué reservación se desea consultar."); } if (!(paqueteNavegacion is ContratoRDBO)) { throw new Exception("Se esperaba un Contrato de Renta Diaria."); } ContratoRDBO bo = (ContratoRDBO)paqueteNavegacion; if (!bo.FC.HasValue) { this.ConsultarCompleto(); } this.DatoAInterfazUsuario(bo); } catch (Exception ex) { throw new Exception(this.nombreClase + ".EstablecerDatosNavegacion: " + ex.Message); } }
private void ConsultarCompleto() { try { ContratoRDBO bo = (ContratoRDBO)this.InterfazUsuarioADato(); List <ContratoRDBO> lst = new ContratoRDBR().Consultar(this.dctx, bo); 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."); } lst[0].DocumentosAdjuntos = new ArchivoBR().Consultar(this.dctx, new ArchivoBO() { Activo = true, TipoAdjunto = ETipoAdjunto.ContratoRD }, lst[0].ContratoID); this.DatoAInterfazUsuario(lst[0]); this.vista.UltimoObjeto = lst[0]; } catch (Exception ex) { this.DatoAInterfazUsuario(new ContratoRDBO()); throw new Exception(this.nombreClase + ".ConsultarCompleto:" + ex.Message); } }
public void CerrarContrato() { try { ContratoRDBO bo = (ContratoRDBO)this.vista.UltimoObjeto; this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("UltimoContratoRDBO", bo); if (this.vista.Cancelable != null && this.vista.Cancelable == true) { this.vista.RedirigirACancelacion(); return; } if (this.vista.Cerrable != null && this.vista.Cerrable == true) { this.vista.RedirigirACierre(); return; } this.vista.MostrarMensaje("El contrato no se puede cancelar ni cerrar", ETipoMensajeIU.ADVERTENCIA); return; } catch (Exception ex) { throw new Exception(nombreClase + ".CerrarContrato: " + ex.Message); } }
/// <summary> /// Convierte los datos de la interfaz en un Objeto /// </summary> /// <returns>El objeto devuelto con los datos de la interfaz</returns> private Object InterfazUsuarioDato() { ContratoRDBO contratoBo = new ContratoRDBO() { Cliente = new CuentaClienteIdealeaseBO(), Sucursal = new SucursalBO() { UnidadOperativa = new UnidadOperativaBO() }, }; if (this.vista.ContratoId != null) { contratoBo.ContratoID = this.vista.ContratoId; } if (this.vista.ClienteId != null) { contratoBo.Cliente.Id = this.vista.ClienteId; } if (this.vista.UnidadOperativa.Id != null) { contratoBo.Sucursal.UnidadOperativa.Id = this.vista.UnidadOperativa.Id; } if (this.vista.SucursalId != null) { contratoBo.Sucursal.Id = this.vista.SucursalId; } if (!String.IsNullOrEmpty(this.vista.NumeroContrato)) { contratoBo.NumeroContrato = this.vista.NumeroContrato; } return(contratoBo); }
/// <summary> /// Coloca la Información del Contrato en la Interfaz de Usuario /// </summary> /// <param name="objeto">Objeto con la informacion que se presentara</param> private void DatoInterfazUsuario(Object objeto) { ContratoRDBO contrato = objeto as ContratoRDBO; this.vista.ContratoId = contrato.ContratoID != null ? contrato.ContratoID : null; this.vista.NumeroContrato = !String.IsNullOrEmpty(contrato.NumeroContrato) ? contrato.NumeroContrato : null; if (contrato.Sucursal != null) { this.vista.SucursalId = contrato.Sucursal.Id != null ? contrato.Sucursal.Id : null; this.vista.SucursalNombre = !String.IsNullOrEmpty(contrato.Sucursal.Nombre) ? contrato.Sucursal.Nombre : null; } else { this.vista.SucursalId = null; this.vista.SucursalNombre = null; } if (contrato.Cliente != null) { this.vista.ClienteId = contrato.Cliente.Id != null ? contrato.Cliente.Id : null; this.vista.ClienteNombre = !String.IsNullOrEmpty(contrato.Cliente.Nombre) ? contrato.Cliente.Nombre : null; } else { this.vista.ClienteId = null; this.vista.ClienteNombre = null; } this.vista.FechaContrato = contrato.FechaContrato != null ? contrato.FechaContrato : null; this.vista.FechaPromesaDevolucion = contrato.FechaPromesaDevolucion != null ? contrato.FechaPromesaDevolucion : null; this.vista.FrecuenciaActual = contrato.FrecuenciaFacturacion != null ? contrato.FrecuenciaFacturacion : null; }
/// <summary> /// Despliega la informacion del contrato en la Vista /// </summary> /// <param name="contrato"></param> public void DatosAInterfazUsuario(ContratoRDBO contrato) { if (contrato == null) { contrato = new ContratoRDBO(); } if (contrato.Sucursal == null) { contrato.Sucursal = new SucursalBO(); } if (contrato.Cliente == null) { contrato.Cliente = new CuentaClienteIdealeaseBO(); } if (contrato.Cliente.Cliente == null) { contrato.Cliente.Cliente = new ClienteBO(); } vista.FechaContrato = contrato.FechaContrato; vista.FechaCierreContrato = contrato.CierreContrato != null ? contrato.CierreContrato.Fecha : null;//SC0035 if (contrato.Sucursal.Nombre != null) { vista.NombreSucursal = contrato.Sucursal.Nombre; } if (contrato.Cliente.Direcciones.Count > 0) { foreach (DireccionClienteBO direccion in contrato.Cliente.Direcciones) { if (direccion.Primaria == true) { vista.DireccionCliente = direccion.Direccion; break; } } } if (contrato.Cliente.Nombre != null) { vista.NombreCuentaCliente = contrato.Cliente.Nombre; } if (contrato.Cliente.Cliente.RFC != null) { vista.RFCCliente = contrato.Cliente.Cliente.RFC; } vista.NumeroCuentaCliente = String.IsNullOrEmpty(contrato.Cliente.Numero) ? null : contrato.Cliente.Numero; if (contrato.FrecuenciaFacturacion != null) //SC0035 { vista.FrecuenciaFacturacion = contrato.FrecuenciaFacturacion; } DesplegarEmpresa(); }
/// <summary> /// Realiza los pasos para solicitar redireccion a la pantalla de Detalle /// </summary> public void RedirigirADetalle() { this.EstablecerSeguridad("CAMBIARFRECUENCIAFACTURACIONRD"); ContratoRDBO contratoBo = (ContratoRDBO)this.InterfazUsuarioDato(); this.vista.EstablecerPaqueteNavegacion("ContratoRDBO", contratoBo); this.vista.LimpiarSesion(); this.vista.RedirigirADetalle(); }
private object InterfazUsuarioADato() { ContratoRDBO bo = new ContratoRDBO(); if (this.vista.UltimoObjeto != null && this.vista.UltimoObjeto is ContratoRDBO) { bo = new ContratoRDBO((ContratoRDBO)this.vista.UltimoObjeto); } bo.ContratoID = this.vista.ContratoID; if (this.vista.EstatusID != null) { bo.Estatus = (EEstatusContrato)Enum.Parse(typeof(EEstatusContrato), this.vista.EstatusID.ToString()); } else { bo.Estatus = null; } bo.FUA = this.vista.FUA; bo.UUA = this.vista.UUA; List <ArchivoBO> adjuntos = this.presentadorDocumentos.Vista.ObtenerArchivos(); if (adjuntos != null) { foreach (ArchivoBO adjuntoContratoBo in adjuntos) { adjuntoContratoBo.TipoAdjunto = ETipoAdjunto.ContratoRD; } } bo.DocumentosAdjuntos = adjuntos; // Se agrega la Auditoria de cada uno de los documentos adjuntos if (bo.DocumentosAdjuntos != null) { foreach (ArchivoBO adjunto in bo.DocumentosAdjuntos) { if (adjunto.Id == null) { adjunto.Auditoria = new AuditoriaBO { FC = bo.FUA, UC = bo.UUA, FUA = bo.FUA, UUA = bo.UUA }; } else { adjunto.Auditoria.FUA = bo.FUA; adjunto.Auditoria.UUA = bo.UUA; } } } return(bo); }
/// <summary> /// Consulta El contrato y los pagos facturados y Pendientes por Facturar /// </summary> private void ConsultarCompleto() { try { var contratoRd = new ContratoRDBO() { Sucursal = new SucursalBO(), Cliente = new CuentaClienteIdealeaseBO(), ContratoID = this.vista.ContratoId }; var contratosRd = this.controladorContrato.ConsultarCompleto(this.dataContext, contratoRd); if (!contratosRd.Any()) { throw new Exception("No se encontro el contrato Solicitado"); } if (contratosRd.Count > 1) { throw new Exception("El contrato proporcionado devolvio mas de un resultado"); } contratoRd = contratosRd.First(); this.vista.ContratoOriginal = contratoRd; this.vista.ContratoAntiguo = new ContratoRDBO(contratoRd); this.DatoInterfazUsuario(contratoRd); var pagos = controladorPagos.ConsultarCompleto(this.dataContext, new PagoUnidadContratoRDBO() { ReferenciaContrato = new ReferenciaContratoBO() { ReferenciaContratoID = contratoRd.ContratoID }, Activo = true }); if (!pagos.Any()) { throw new Exception("No se encontraton los pagos del Contrato"); } DateTime fechaHoy = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 23, 59, 59); var listaPagosVencidos = pagos.Where(x => x.FechaVencimiento < fechaHoy).OrderBy(y => y.NumeroPago).ToList().ConvertAll(x => (PagoUnidadContratoRDBO)x); var listaPagosFaltantes = pagos.Where(x => x.FechaVencimiento > fechaHoy).OrderBy(y => y.NumeroPago).ToList().ConvertAll(x => (PagoUnidadContratoRDBO)x); this.vista.EstablecerPagosFacturados(listaPagosVencidos); this.vista.EstablecerPagosPendientes(listaPagosFaltantes); this.vista.ListaPagosFacturados = listaPagosVencidos; this.vista.ListaPagosFaltantes = listaPagosFaltantes; var diasUsados = listaPagosVencidos.Sum(x => x.DiasFacturar); var diasContrato = contratoRd.FechaPromesaDevolucion.Value.Subtract(contratoRd.FechaContrato.Value).Days; this.vista.DiasRestantes = diasContrato > diasUsados ? (diasContrato - diasUsados) : 0; this.CalcularFrecuenciasPermitidas(contratoRd.FrecuenciaFacturacion); } catch (Exception ex) { throw new Exception("ConsultarCompleto(): Ocurrio un problema al consultar completo el contrato y sus pagos. " + ex.Message, ex.InnerException); } }
/// <summary> /// Coloca la informacion inicial del contrato obtenido del paquete de Navegacion /// </summary> /// <param name="contratoBo">Contrato con las informacion inicial</param> public void EstablecerInformacionInicial(ContratoRDBO contratoBo) { if (contratoBo == null) { throw new Exception("No se encuentra el contrato con la información inicial. "); } this.ContratoId = contratoBo.ContratoID; this.SucursalId = contratoBo.Sucursal != null ? contratoBo.Sucursal.Id : null; this.FrecuenciaActual = contratoBo.FrecuenciaFacturacion; }
public void CancelarEdicion() { ContratoRDBO bo = (ContratoRDBO)this.vista.UltimoObjeto; this.LimpiarSesion(); this.vista.LimpiarPaqueteNavegacion("UltimoContratoRDBO"); this.vista.EstablecerPaqueteNavegacion("ContratoRDBO", bo); this.vista.RedirigirADetalles(); }
/// <summary> /// Despliega los datos del contrato en la interfaz de usuario /// </summary> /// <param name="contrato">Contrato RD que contiene los datos a desplegar</param> public void DatosAInterfazUsuario(ContratoRDBO contrato) { contrato = contrato ?? new ContratoRDBO(); vista.NumeroContrato = contrato.NumeroContrato != null && !string.IsNullOrEmpty(contrato.NumeroContrato) ? contrato.NumeroContrato : null; vista.EstatusContrato = contrato.Estatus; vista.Configurar(contrato.Estatus); }
/// <summary> /// Obtiene el Paquete con el Contrato a Cambiar de Frecuencia /// </summary> /// <param name="key">Nombre con el que se identifica el objeto</param> /// <returns>Objeto Contrato que cambiara de Frecuencia</returns> public object ObtenerPaqueteNavegacion(string key) { ContratoRDBO contrato = (ContratoRDBO)Session["ContratoRDBO"]; if (contrato == null) { throw new Exception(nombreClase + ".ObtenerPaqueteNavegacion: No se encontro el Contrato que Cambiara de Frecuencia"); } //this.Session.Remove("ContratoRDBO"); return(contrato); }
/// <summary> /// Elimina el contrato desplegado con estatus de borrador /// </summary> public void EliminarContrato() { try { #region InterfazUsuarioADato Personalizado ContratoRDBO bo = (ContratoRDBO)this.vista.UltimoObjeto; if (bo.Estatus != EEstatusContrato.Borrador) { vista.MostrarMensaje("El contrato debe tener estatus Borrador para ser eliminado.", ETipoMensajeIU.INFORMACION); return; } //finalización del contrato FinalizacionContratoProxyBO finalizacionContrato = new FinalizacionContratoProxyBO(); finalizacionContrato.Fecha = vista.FUA; finalizacionContrato.Usuario = new UsuarioBO { Id = vista.UUA }; finalizacionContrato.Observaciones = vista.Observaciones; ContratoRDBO previous = new ContratoRDBO(bo); bo.CierreContrato = finalizacionContrato; bo.FUA = vista.FUA; bo.UUA = vista.UUA; #endregion //Se crea el objeto de seguridad UsuarioBO usuario = new UsuarioBO() { Id = this.vista.UsuarioID }; AdscripcionBO adscripcion = new AdscripcionBO() { UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativaID } }; SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion); this.controlador.BorrarCompleto(dctx, bo, previous, seguridadBO); this.LimpiarSesion(); this.vista.LimpiarPaqueteNavegacion("ContratoRDBO"); this.vista.RedirigirAConsulta(); } catch (Exception ex) { throw new Exception(this.nombreClase + ".EliminarContrato: " + ex.Message); } }
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); } }
private object InterfazUsuarioADato() { ContratoRDBO bo = new ContratoRDBO(); if (this.vista.UltimoObjeto != null) { bo = new ContratoRDBO((ContratoRDBO)this.vista.UltimoObjeto); } if (bo.CierreContrato == null) { bo.CierreContrato = new CierreContratoRDBO(); bo.CierreContrato.Usuario = new UsuarioBO(); } bo.ContratoID = this.vista.ContratoID; bo.UUA = this.vista.UUA; bo.FUA = this.vista.FUA; bo.Tipo = ETipoContrato.RD; if (this.vista.EstatusID != null) { bo.Estatus = (EEstatusContrato)Enum.Parse(typeof(EEstatusContrato), this.vista.EstatusID.ToString()); } else { bo.Estatus = null; } bo.CierreContrato.Fecha = this.vista.FechaCierre; bo.CierreContrato.Observaciones = this.vista.ObservacionesCierre; bo.CierreContrato.Usuario.Id = this.vista.UsuarioID; if (bo.CierreContrato is CierreContratoRDBO) { ((CierreContratoRDBO)bo.CierreContrato).CargoAbusoOperacion = this.vista.CargoAbusoOperacion; ((CierreContratoRDBO)bo.CierreContrato).CargoDisposicionBasura = this.vista.CargoDisposicionBasura; ((CierreContratoRDBO)bo.CierreContrato).ImporteReembolso = this.vista.ImporteReembolso; ((CierreContratoRDBO)bo.CierreContrato).PersonaRecibeReembolso = this.vista.PersonaRecibeReembolso; ((CierreContratoRDBO)bo.CierreContrato).PrecioUnidadCombustible = this.vista.ImporteUnidadCombustible; } else { ((CierreContratoRDBO)bo.CierreContrato).CargoAbusoOperacion = null; ((CierreContratoRDBO)bo.CierreContrato).CargoDisposicionBasura = null; ((CierreContratoRDBO)bo.CierreContrato).ImporteReembolso = null; ((CierreContratoRDBO)bo.CierreContrato).PersonaRecibeReembolso = null; ((CierreContratoRDBO)bo.CierreContrato).PrecioUnidadCombustible = null; } return(bo); }
/// <summary> /// Envia el contrato a Agregar Documentos /// </summary> public void AgregarDocumentos() { try { ContratoRDBO bo = (ContratoRDBO)this.InterfazUsuarioADato(); this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("UltimoContratoRDBO", bo); this.vista.RedirigirAAgregarDocumentos(); } catch (Exception ex) { throw new Exception(nombreClase + ".AgregarDocumentos: " + ex.Message); } }
/// <summary> /// Despliega los datos del contrato en la interfaz de usuario /// </summary> /// <param name="obj">Contrato que contiene los datos</param> public void DatoAInterfazUsuario(object obj) { ContratoRDBO bo = (ContratoRDBO)obj; this.vista.ContratoID = bo.ContratoID; if (bo.Estatus != null) { this.vista.EstatusID = (int)bo.Estatus; } else { this.vista.EstatusID = null; } this.presentadorHerramientas.DatosAInterfazUsuario(bo); this.presentadorDocumentos.CargarListaArchivos(bo.DocumentosAdjuntos, presentadorDocumentos.Vista.TiposArchivo); }
/// <summary> /// Obtiene la informacion de la interfaz /// </summary> /// <returns>Objeto con la Informacion de la Interfaz</returns> private Object InterfazUsuarioDato() { ContratoRDBO contrato = this.vista.ContratoOriginal != null ? this.vista.ContratoOriginal : new ContratoRDBO() { Sucursal = new SucursalBO() { UnidadOperativa = this.vista.UnidadOperativa }, Cliente = new CuentaClienteIdealeaseBO() }; contrato.ContratoID = this.vista.ContratoId != null ? this.vista.ContratoId : null; contrato.Sucursal.Id = this.vista.SucursalId != null ? this.vista.SucursalId : null; contrato.Cliente.Id = this.vista.ClienteId != null ? this.vista.ClienteId : null; contrato.FrecuenciaFacturacion = this.vista.FrecuenciaNueva != null ? this.vista.FrecuenciaNueva : null; return(contrato); }
private object InterfazUsuarioADato() { ContratoRDBO bo = new ContratoRDBO(); bo.Sucursal = new SucursalBO(); bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); bo.ContratoID = this.vista.ContratoID; if (this.vista.EstatusID != null) { bo.Estatus = (EEstatusContrato)Enum.Parse(typeof(EEstatusContrato), this.vista.EstatusID.ToString()); } else { bo.Estatus = null; } bo.Sucursal.UnidadOperativa.Id = this.vista.UnidadOperativaID; return(bo); }
private ContratoRDBO ConsultarCompleto(ContratoRDBO bo) { try { 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."); } return(lst[0]); } catch (Exception ex) { this.DatoAInterfazUsuario(new ContratoRDBO()); throw new Exception(this.nombreClase + ".ConsultarCompleto:" + ex.Message); } }
/// <summary> /// Genera el reporte para la impresión solo con los datos de la cabecera /// </summary> public void ImprimirCabeceraCheckList() { try { ContratoRDBO bo = (ContratoRDBO)this.InterfazUsuarioADato(); if (this.vista.ModuloID == null) { throw new Exception("No se identificó el módulo"); } Dictionary <string, Object> datosImprimir = this.controlador.ObtenerDatosCabeceraCheckList(dctx, bo, this.vista.ModuloID.Value); this.vista.EstablecerPaqueteNavegacion("NombreReporte", "CU012"); this.vista.EstablecerPaqueteNavegacion("DatosReporte", datosImprimir); this.vista.RedirigirAImprimir(); } catch (Exception ex) { throw new Exception(this.nombreClase + ".ImprimirCabeceraCheckList: " + ex.Message); } }
public void ActualizarDocumentos() { try { //Se obtiene la información a partir de la Interfaz de Usuario ContratoRDBO bo = (ContratoRDBO)this.InterfazUsuarioADato(); //Se crea el objeto de seguridad UsuarioBO usuario = new UsuarioBO() { Id = this.vista.UsuarioID }; AdscripcionBO adscripcion = new AdscripcionBO() { UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativaID } }; SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion); // Se actualiza el Contrato this.controlador.ActualizarDocumento(this.dctx, bo, (ContratoRDBO)this.vista.UltimoObjeto, seguridadBO); this.LimpiarSesion(); this.vista.LimpiarPaqueteNavegacion("UltimoContratoRDBO"); this.vista.EstablecerPaqueteNavegacion("ContratoRDBO", new ContratoRDBO() { ContratoID = this.vista.ContratoID }); this.vista.RedirigirADetalles(); } catch (Exception ex) { vista.MostrarMensaje("Inconsistencia al actualizar los documentos del contrato", ETipoMensajeIU.ERROR, nombreClase + ".AgregarDocumentos:" + ex.Message); } }
public void RealizarPrimeraCarga() { try { this.PrepararVisualizacion(); var sucursalTemp = this.vista.ObtenerPaqueteNavegacion("SucursalesAutorizadas"); ContratoRDBO bo = (ContratoRDBO)this.vista.ObtenerPaqueteNavegacion("ContratoRDBO"); this.vista.PermitirRegresar(this.vista.ObtenerPaqueteNavegacion("FiltroConsultaContratoRD") != null); if (!bo.FC.HasValue) { bo = this.ConsultarCompleto(bo); } this.DatoAInterfazUsuario(bo); this.EstablecerConfiguracionInicial(); this.EstablecerSeguridad(); } catch (Exception ex) { throw new Exception(this.nombreClase + ".RealizarPrimeraCarga: " + ex.Message); } }
/// <summary> /// Determina si es posible generar el pago adicional del contrato /// </summary> /// <returns>Devuelve la inconsitencia encontrada para genera el pago adicional</returns> private string ValidarPagoAdicional() { if (this.vista.TipoContrato == null) { return("No se ha seleccionado del Departamento del Contrato"); } if (this.vista.SucursalID == null) { return("No se ha seleccionado la Sucursal del Contrato"); } if (String.IsNullOrEmpty(this.vista.FolioContrato)) { return("No se ha introducido el Folio del Contrato"); } ContratoBO contratoBo = null; List <ContratoBO> contratos = new List <ContratoBO>(); switch (vista.TipoContrato) { case ETipoContrato.RD: contratoBo = new ContratoRDBO { NumeroContrato = vista.FolioContrato, Sucursal = new SucursalBO { Id = vista.SucursalID }, Estatus = EEstatusContrato.EnCurso }; var contratosRD = new ContratoRDBR().Consultar(this.dctx, (ContratoRDBO)contratoBo); contratos.AddRange(contratosRD); break; case ETipoContrato.FSL: contratoBo = new ContratoFSLBO { NumeroContrato = vista.FolioContrato, Sucursal = new SucursalBO { Id = vista.SucursalID }, Estatus = EEstatusContrato.EnCurso }; var contratosFsl = new ContratoFSLBR().Consultar(this.dctx, (ContratoFSLBO)contratoBo); contratos.AddRange(contratosFsl); break; case ETipoContrato.CM: case ETipoContrato.SD: contratoBo = new ContratoManttoBO { NumeroContrato = vista.FolioContrato, Tipo = vista.TipoContrato, Sucursal = new SucursalBO { Id = vista.SucursalID }, Estatus = EEstatusContrato.EnCurso }; var contratosMantto = new ContratoManttoBR().Consultar(this.dctx, (ContratoManttoBO)contratoBo); contratos.AddRange(contratosMantto); break; } if (!contratos.Any()) { return("No se encontró el Contrato solicitado"); } switch (vista.TipoContrato) { case ETipoContrato.RD: var contratoRD = contratos.FirstOrDefault() as ContratoRDBO; if (!String.IsNullOrEmpty(TiempoMaximoRecepcionRD)) { if (DateTime.Now < contratoRD.FechaPromesaDevolucion.Value.AddHours(int.Parse(TiempoMaximoRecepcionRD))) { return("Deben pasar al menos " + TiempoMaximoRecepcionRD + " hrs para poder generar un pago adicional después de la Fecha de Promesa de Devolución."); } } break; } this.vista.ContratoID = contratos.FirstOrDefault().ContratoID; PagoUnidadContratoBO pagoBo = new PagoUnidadContratoBOF { ReferenciaContrato = new ReferenciaContratoBO() { ReferenciaContratoID = this.vista.ContratoID } }; PagoUnidadContratoBR pagoBr = new PagoUnidadContratoBR(); var pagos = pagoBr.Consultar(this.dctx, (PagoUnidadContratoBO)pagoBo); if (!pagos.Any()) { return("No se han generado Pagos para el Contrato"); } var ultimoPago = pagos.Last(x => x.Activo.Value); if (ultimoPago.EnviadoFacturacion != null && !ultimoPago.EnviadoFacturacion.Value) { return("No se ha Facturado el Último Pago Activo del Contrato"); } this.ultimoPagoContrato = ultimoPago; return(null); }
/// <summary> /// Metodo que genera el pago adicional /// </summary> public void GenerarPagoAdicional() { try { string validacion = this.ValidarPagoAdicional(); if (!String.IsNullOrEmpty(validacion)) { this.vista.MostrarMensaje("No se puede generar el pago Adicional: " + validacion, ETipoMensajeIU.INFORMACION); return; } ContratoBO contratoBo = null; IGeneradorPagosBR generadorPagos = null; SeguridadBO seguridadBo = this.CrearObjetoSeguridad(); List <ContratoBO> contratos = new List <ContratoBO>(); switch (vista.TipoContrato) { case ETipoContrato.RD: contratoBo = new ContratoRDBO { ContratoID = this.vista.ContratoID }; var contratosRd = new ContratoRDBR().ConsultarCompleto(this.dctx, (ContratoRDBO)contratoBo, false); contratos.AddRange(contratosRd); generadorPagos = new GeneradorPagoRDBR(); break; case ETipoContrato.FSL: contratoBo = new ContratoFSLBO { ContratoID = this.vista.ContratoID }; var contratosFsl = new ContratoFSLBR().ConsultarCompleto(this.dctx, (ContratoFSLBO)contratoBo); contratos.AddRange(contratosFsl); generadorPagos = new GeneradorPagosFSLBR(); break; case ETipoContrato.CM: case ETipoContrato.SD: contratoBo = new ContratoManttoBO { ContratoID = this.vista.ContratoID }; var contratosMantto = new ContratoManttoBR().ConsultarCompleto(this.dctx, (ContratoManttoBO)contratoBo, true, false); contratos.AddRange(contratosMantto); generadorPagos = new GeneradorPagosManttoBR(); break; } if (generadorPagos == null) { throw new Exception("No se pudo determinar el Tipo del Pago a Generar."); } generadorPagos.GenerarPagoAdicional(this.dctx, contratos.First(), (ultimoPagoContrato.NumeroPago.Value + 1), seguridadBo, false, true); PagoUnidadContratoBO pagoBo = new PagoUnidadContratoBOF { ReferenciaContrato = new ReferenciaContratoBO() { ReferenciaContratoID = this.vista.ContratoID } }; PagoUnidadContratoBR pagoBr = new PagoUnidadContratoBR(); var pagos = pagoBr.Consultar(this.dctx, (PagoUnidadContratoBO)pagoBo); this.Inicializar(); this.vista.MostrarMensaje("El pago " + pagos.Last().NumeroPago.ToString() + " con Fecha " + pagos.Last().FechaVencimiento.Value.ToShortDateString() + " se ha Creado con Éxito.", ETipoMensajeIU.EXITO); } catch (Exception ex) { this.vista.MostrarMensaje("Error al generar el pago Adicional", ETipoMensajeIU.ERROR, NombreClase + ".GenerarPagoAdicional: " + ex.GetBaseException().Message); } }
protected void ImprimirReporte(Dictionary <string, Object> datos, XmlDocument documento) { try { #region Obtener Formato del XML string leyendaCondiciones = string.Empty; string leyendaCargoCombustible = string.Empty; string leyendaBitacora = string.Empty; string leyendaSeguro = string.Empty; string leyendaArrendatarios = string.Empty; string leyendaOperacion = string.Empty; string leyendaInspeccion = string.Empty; string leyendaTitulo = string.Empty; string numeroPlaca = string.Empty; string direccionSuc = string.Empty; string telefonoUO = string.Empty; string direccionUO = string.Empty; XmlNodeList textoCondiciones = documento.GetElementsByTagName("condiciones"); if (textoCondiciones.Count < 1) { throw new Exception("el formato del archivo XML es incorrecto"); } leyendaCondiciones = textoCondiciones[0].InnerText; XmlNodeList textoCargoCombustible = documento.GetElementsByTagName("cargoCombustible"); if (textoCargoCombustible.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaCargoCombustible = textoCargoCombustible[0].InnerText; XmlNodeList textoBitacora = documento.GetElementsByTagName("bitacora"); if (textoBitacora.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaBitacora = textoBitacora[0].InnerText; XmlNodeList textoSeguro = documento.GetElementsByTagName("seguro"); if (textoSeguro.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaSeguro = textoSeguro[0].InnerText; XmlNodeList textoArrendatarios = documento.GetElementsByTagName("arrendatarios"); if (textoArrendatarios.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaArrendatarios = textoArrendatarios[0].InnerText; XmlNodeList textoOperacion = documento.GetElementsByTagName("operacion"); if (textoOperacion.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaOperacion = textoOperacion[0].InnerText; XmlNodeList textoInspeccion = documento.GetElementsByTagName("inspeccion"); if (textoInspeccion.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaInspeccion = textoInspeccion[0].InnerText; XmlNodeList textoTitulo = documento.GetElementsByTagName("Titulo"); if (textoTitulo.Count < 1) { throw new Exception("El formato del archivo XML es incorrecto"); } leyendaTitulo = textoTitulo[0].InnerText; #endregion #region Iniciar Variables if (datos["Contrato"] == null) { throw new Exception("Se esperaba un contrato"); } if (datos["Firmantes"] == null) { throw new Exception("Se esperaba Firmantes"); } if (datos["Modulo"] == null) { throw new Exception("Se esperaba una configuración de módulo"); } if (!(datos["Contrato"] is ContratoRDBO)) { throw new Exception("Se esperaba un contrato de Renta Diaria"); } // Contrato ContratoRDBO contrato = (ContratoRDBO)datos["Contrato"]; if (contrato == null) { contrato = new ContratoRDBO(); } if (contrato.Sucursal == null) { contrato.Sucursal = new SucursalBO(); } if (contrato.Sucursal.DireccionesSucursal == null) { direccionSuc = string.Empty; } else { var direcUO = contrato.Sucursal.DireccionesSucursal.Find(x => x.Primaria != null && x.Primaria.Value == true); if (direcUO != null) { if (!string.IsNullOrEmpty(direcUO.Calle) && !string.IsNullOrWhiteSpace(direcUO.Calle)) { direccionSuc = direcUO.Calle; } } } if (contrato.Cliente == null) { contrato.Cliente = new CuentaClienteIdealeaseBO(); } if (contrato.Cliente.Cliente == null) { contrato.Cliente.Cliente = new ClienteBO(); } if (contrato.Cliente.Direcciones == null) { DireccionClienteBO direccion = new DireccionClienteBO(); contrato.Cliente.Agregar(direccion); } if (contrato.Operador == null) { contrato.Operador = new OperadorBO(); } if (contrato.Operador.Direccion == null) { contrato.Operador.Direccion = new DireccionPersonaBO(); } if (contrato.Operador.Licencia == null) { contrato.Operador.Licencia = new LicenciaBO(); } if (contrato.Operador.Direccion.Ubicacion == null) { contrato.Operador.Direccion.Ubicacion = new UbicacionBO(); } if (contrato.Operador.Direccion.Ubicacion.Ciudad == null) { contrato.Operador.Direccion.Ubicacion.Ciudad = new CiudadBO(); } if (contrato.Operador.Direccion.Ubicacion.Estado == null) { contrato.Operador.Direccion.Ubicacion.Estado = new EstadoBO(); } LineaContratoRDBO linea = contrato.ObtenerLineaContrato(); if (linea == null) { linea = new LineaContratoRDBO(); } if (linea.Equipo == null) { linea.Equipo = new UnidadBO(); } if (linea.Equipo.TipoEquipoServicio == null) { linea.Equipo.TipoEquipoServicio = new TipoUnidadBO(); } if (linea.Equipo.ActivoFijo == null) { linea.Equipo.ActivoFijo = new ActivoFijoBO(); } if (linea.Equipo.Modelo == null) { linea.Equipo.Modelo = new ModeloBO(); } if (((UnidadBO)linea.Equipo).CaracteristicasUnidad == null) { ((UnidadBO)linea.Equipo).CaracteristicasUnidad = new CaracteristicasUnidadBO(); } if (linea.Equipo.TipoEquipoServicio == null) { linea.Equipo.TipoEquipoServicio = new TipoUnidadBO(); } if (linea.Cobrable == null) { linea.Cobrable = new TarifaContratoRDBO(); } contrato.LineasContrato = new List <ILineaContrato>(); contrato.AgregarLineaContrato(linea); if (linea.ListadosVerificacion == null) { linea.ListadosVerificacion = new List <ListadoVerificacionBO>(); } // Configuración del Modulo ModuloBO modulo = (ModuloBO)datos["Modulo"]; ConfiguracionUnidadOperativaBO unidadOperativaConfiguracion; if (modulo == null) { modulo = new ModuloBO(); } if (modulo.Configuracion == null) { modulo.Configuracion = new ConfiguracionModuloBO(); } if (contrato.Sucursal.UnidadOperativa.Id == null) { unidadOperativaConfiguracion = new ConfiguracionUnidadOperativaBO(); } else { unidadOperativaConfiguracion = modulo.ObtenerConfiguracionUO(new UnidadOperativaBO { Id = contrato.Sucursal.UnidadOperativa.Id }); } if (unidadOperativaConfiguracion == null) { unidadOperativaConfiguracion = new ConfiguracionUnidadOperativaBO(); } if (unidadOperativaConfiguracion.ConfiguracionModulo == null) { unidadOperativaConfiguracion.ConfiguracionModulo = new ConfiguracionModuloBO(); } //Tramites List <TramiteBO> tramites = (List <TramiteBO>)datos["Tramites"]; if (tramites == null) { tramites = new List <TramiteBO>(); } PlacaEstatalBO placaEstatal = (PlacaEstatalBO)tramites.Find(t => t.Tipo == ETipoTramite.PLACA_ESTATAL); if (placaEstatal != null) { numeroPlaca = placaEstatal.Resultado; } PlacaFederalBO placaFederal = (PlacaFederalBO)tramites.Find(t => t.Tipo == ETipoTramite.PLACA_FEDERAL); if (placaFederal != null) { numeroPlaca = placaFederal.Resultado; } //Firmantes Tuple <IConstituible, List <PersonaBO>, List <IConstituible> > firmantes = (Tuple <IConstituible, List <PersonaBO>, List <IConstituible> >)datos["Firmantes"]; if (firmantes == null) { IConstituible cliente = new CuentaClienteIdealeaseBO(); List <PersonaBO> representantes = new List <PersonaBO>(); List <IConstituible> depositarios = new List <IConstituible>(); firmantes = new Tuple <IConstituible, List <PersonaBO>, List <IConstituible> >(cliente, representantes, depositarios); } //Usuarios UsuarioBO usuarioCreacion = (UsuarioBO)datos["UsuarioCreacion"]; if (usuarioCreacion == null) { usuarioCreacion = new UsuarioBO(); } UsuarioBO usuarioCierre = (UsuarioBO)datos["UsuarioCierre"]; if (usuarioCierre == null) { usuarioCierre = new UsuarioBO(); } //Sucursal Matriz SucursalBO matriz = (SucursalBO)datos["SucursalMatriz"]; if (matriz == null) { matriz = new SucursalBO(); } if (matriz.UnidadOperativa == null) { matriz.UnidadOperativa = new UnidadOperativaBO(); } if (matriz.DireccionesSucursal == null) { direccionUO = string.Empty; } else { var direcUO = matriz.DireccionesSucursal.Find(x => x.Primaria != null && x.Primaria.Value == true); if (direcUO != null) { if (!string.IsNullOrEmpty(direcUO.Telefono) && !string.IsNullOrWhiteSpace(direcUO.Telefono)) { telefonoUO = direcUO.Telefono; if (!string.IsNullOrEmpty(direcUO.Calle) && !string.IsNullOrWhiteSpace(direcUO.Calle)) { direccionUO = direcUO.Calle; } } else { if (!string.IsNullOrEmpty(direcUO.Calle) && !string.IsNullOrWhiteSpace(direcUO.Calle)) { direccionUO = direcUO.Calle; } } } } #endregion #region Asignar valores al Reporte #region Encabezado xrlblTitulo.Html = leyendaTitulo; if (String.IsNullOrEmpty(unidadOperativaConfiguracion.ConfiguracionModulo.URLLogoEmpresa)) { xrLogo.ImageUrl = modulo.Configuracion.URLLogoEmpresa; } else { xrLogo.ImageUrl = unidadOperativaConfiguracion.ConfiguracionModulo.URLLogoEmpresa; } xrlblFormatoNumero.Text = contrato.NumeroContrato ?? String.Empty; if (contrato.Estatus == EEstatusContrato.Borrador || contrato.Estatus == EEstatusContrato.EnPausa) { Watermark.Text = "BORRADOR"; } #endregion #region Seccion Izquierda xrlblUnidadOperativa.Text = matriz.UnidadOperativa.Nombre ?? String.Empty; xrlblCliente.Text = contrato.Cliente.Nombre ?? String.Empty; xrlblRFC.Text = contrato.Cliente.Cliente.RFC ?? String.Empty; xrtblCellDireccion.Text = contrato.Cliente.Direccion ?? String.Empty; DireccionClienteBO direccionCliente = contrato.Cliente.Direcciones.Find(c => c.Primaria != null && c.Primaria.Value) ?? new DireccionClienteBO(); if (direccionCliente.Ubicacion == null) { direccionCliente.Ubicacion = new UbicacionBO(); } if (direccionCliente.Ubicacion.Ciudad == null) { direccionCliente.Ubicacion.Ciudad = new CiudadBO(); } if (direccionCliente.Ubicacion.Estado == null) { direccionCliente.Ubicacion.Estado = new EstadoBO(); } xrtblCellCiudad.Text = direccionCliente.Ubicacion.Ciudad.Codigo ?? String.Empty; xrtblCellEstado.Text = direccionCliente.Ubicacion.Estado.Codigo ?? String.Empty; xrtblCellCP.Text = direccionCliente.CodigoPostal ?? String.Empty; xrtblCellNumeroCuenta.Text = contrato.Cliente.Id != null?contrato.Cliente.Id.ToString() : String.Empty; //SC0021 orden de compra con N/A if (contrato.FormaPago == null) { xrtblCellOrdenCompra.Text = String.Empty; } if (contrato.FormaPago == null && contrato.TipoConfirmacion == null) { xrtblCellOrdenCompra.Text = String.Empty; } else { if (contrato.FormaPago != null && contrato.TipoConfirmacion != null && contrato.FormaPago == EFormaPago.CREDITO && contrato.TipoConfirmacion == ETipoConfirmacion.ORDEN_DE_COMPRA) { xrtblCellOrdenCompra.Text = contrato.AutorizadorOrdenCompra; } else { xrtblCellOrdenCompra.Text = "N/A"; } } xrtblCellNombreOperador.Text = contrato.Operador.Nombre ?? String.Empty; xrtblCellExperienciaOperador.Text = contrato.Operador.AñosExperiencia != null ? contrato.Operador.AñosExperiencia.ToString() : String.Empty; xrtblCellCalleOperador.Text = contrato.Operador.Direccion.Calle ?? String.Empty; xrtblCellCiudadOperador.Text = contrato.Operador.Direccion.Ubicacion.Ciudad.Nombre ?? String.Empty; xrtblCellEstadoOperador.Text = contrato.Operador.Direccion.Ubicacion.Estado.Nombre ?? String.Empty; xrtblCellCPOperador.Text = contrato.Operador.Direccion.CodigoPostal ?? String.Empty; if (contrato.Operador.Licencia.Tipo == ETipoLicencia.ESTATAL) { xrchkEstatal.Checked = true; } if (contrato.Operador.Licencia.Tipo == ETipoLicencia.FEDERAL) { xrchkFederal.Checked = true; } xrTableCell20.Controls.Add(xrchkEstatal); xrTableCell21.Controls.Add(xrchkFederal); xrtblCellNumeroLicencia.Text = contrato.Operador.Licencia.Numero ?? String.Empty; xrtblCellEstadoLicencia.Text = contrato.Operador.Licencia.Estado ?? String.Empty; xrtblCellFechaExpiracion.Text = contrato.Operador.Licencia.FechaExpiracion != null ? contrato.Operador.Licencia.FechaExpiracion.Value.ToString("dd/MM/yyyy") : String.Empty; xrtblCellFechaNacimiento.Text = contrato.Operador.FechaNacimiento != null ? contrato.Operador.FechaNacimiento.Value.ToString("dd/MM/yyyy") : String.Empty; xrlblLeyendaCondiciones.Html = leyendaCondiciones; xrtblCellAreaOperacion.Text = contrato.DestinoAreaOperacion ?? String.Empty; xrtblCellVehiculoDevuelto.Text = direccionSuc ?? String.Empty; xrtblCellMercanciaTrasportar.Text = contrato.MercanciaTransportar ?? String.Empty; if (contrato.MotivoRenta == EMotivoRenta.DEMOSTRACION) { xrchkDemostracion.Checked = true; } if (contrato.MotivoRenta == EMotivoRenta.MATERIAL_PELIGROSO) { xrchkMaterialPeligroso.Checked = true; } if (contrato.MotivoRenta == EMotivoRenta.SUSTITUCION_TEMPORAL) { xrchkSustitucionTemporal.Checked = true; } if (contrato.MotivoRenta == EMotivoRenta.UNIDAD_EXTRA) { xrchkUnidadExtra.Checked = true; } xrlblLeyendaCargosCombustible.Html = leyendaCargoCombustible; xrlblLeyendaBitacoraViaje.Html = leyendaBitacora; if (contrato.BitacoraViajeConductor == true) { xrchkBitacora.Checked = true; } SeguroBO seguro = (SeguroBO)tramites.Find(t => t.Tipo == ETipoTramite.SEGURO); if (seguro != null) { string aseguradoraTelefono = string.Empty; aseguradoraTelefono = !String.IsNullOrEmpty(seguro.Aseguradora) ? seguro.Aseguradora : string.Empty; aseguradoraTelefono = !String.IsNullOrEmpty(seguro.Contacto) ? (!String.IsNullOrEmpty(aseguradoraTelefono) ? aseguradoraTelefono + " - " + seguro.Contacto : aseguradoraTelefono) : aseguradoraTelefono; xrtblCellCompaniaAseguradora.Text = !String.IsNullOrEmpty(aseguradoraTelefono) ? aseguradoraTelefono : String.Empty; xrlblNumeroPoliza.Text = seguro.NumeroPoliza ?? String.Empty; xrlblCompania.Text = seguro.Aseguradora ?? String.Empty; } LineaContratoRDBO lineaTemp = contrato.ObtenerLineaContrato(); if (lineaTemp.Equipo.ActivoFijo.CostoSinIva == null) { leyendaSeguro = leyendaSeguro.Replace("{MONTODEDUCIBLE}", "__________"); } else { Decimal?montoDeducibleCalcuado = 0; montoDeducibleCalcuado = lineaTemp.Equipo.ActivoFijo.CostoSinIva; var unidad = (UnidadBO)lineaTemp.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); } //SC0021 formato de decimales leyendaSeguro = leyendaSeguro.Replace("{MONTODEDUCIBLE}", String.Format("{0:#,##0.00##}", contrato.CalcularMontoDeducible((Decimal)montoDeducibleCalcuado).Value)); } xrlblLeyendaSeguro.Html = leyendaSeguro; xrlblFirmaUnidadOperativa.Text = matriz.UnidadOperativa.Nombre; xrlblRepresentanteUnidadOperativa.Text = unidadOperativaConfiguracion.Representante; xrlblTelefonoUnidadOperativa.Text = telefonoUO; xrlblDireccionUnidadOperativa.Text = direccionUO; if (contrato.Cliente.EsFisico == null || contrato.Cliente.EsFisico == true) { RepresentanteLegalBO representante; if (firmantes.Item2 == null) { representante = new RepresentanteLegalBO(); } else { representante = (RepresentanteLegalBO)firmantes.Item2[0]; } string cliente = representante.Nombre; cliente = !String.IsNullOrEmpty(representante.Telefono) ? cliente + "/n" + representante.Telefono : cliente; cliente = !String.IsNullOrEmpty(representante.Direccion) ? cliente + "/n" + representante.Direccion : cliente; xrlblDatosClienteMoral.Text = cliente; xrSubreport3.Visible = false; } if (contrato.Cliente.EsFisico == false) { xrlblDatosClienteMoral.BorderWidth = 0; string clienteMoral = contrato.Cliente.Nombre; var direccion = contrato.Cliente.Direcciones.Find(p => p.Primaria != null && p.Primaria.Value); if (direccion != null) { if (!String.IsNullOrWhiteSpace(direccion.Telefono) && !String.IsNullOrEmpty(direccion.Telefono)) { clienteMoral = clienteMoral + "\n" + direccion.Telefono; } } clienteMoral = clienteMoral + "\n" + contrato.Cliente.Direccion; xrlblDatosClienteMoral.Text = clienteMoral; if (firmantes.Item2 != null) { firmantes.Item2.ForEach(r => r.Telefono = null); xrSubreport3.ReportSource.DataSource = firmantes.Item2.ConvertAll(r => (RepresentanteLegalBO)r); } else { xrSubreport3.Visible = false; } } #endregion #region Seccion Derecha xrlblFecha.Text = contrato.FechaContrato != null ? contrato.FechaContrato.Value.ToShortDateString() : String.Empty; xrlblFechaPromesaDevolucion.Text = contrato.FechaPromesaDevolucion != null ? contrato.FechaPromesaDevolucion.Value.ToShortDateString() : String.Empty; xrlblModelo.Text = lineaTemp.Equipo.Modelo.Nombre ?? String.Empty; xrtblCellNumeroEconomico.Text = ((UnidadBO)lineaTemp.Equipo).NumeroEconomico ?? String.Empty; xrtblCellNumeroSerie.Text = lineaTemp.Equipo.NumeroSerie ?? String.Empty; xrtblCellNumeroPlaca.Text = numeroPlaca; //SC0021 formato de decimales xrtblCellPBC.Text = ((UnidadBO)lineaTemp.Equipo).CaracteristicasUnidad.PBCMaximoRecomendado != null ? String.Format("{0:#,##0.00##}", ((UnidadBO)lineaTemp.Equipo).CaracteristicasUnidad.PBCMaximoRecomendado) : String.Empty; xrlblTipo.Text = lineaTemp.Equipo.TipoEquipoServicio.Nombre ?? String.Empty; xrSubreport1.ReportSource.DataSource = ((UnidadBO)linea.Equipo).EquiposAliados; //xrlblModeloEquipoAliado.DataBindings.Add(new XRBinding("Text", (((UnidadBO)linea.Equipo).EquiposAliados), "Modelo.Nombre")); //xrlblSerieEquipoAliado.DataBindings.Add(new XRBinding("Text", (((UnidadBO)linea.Equipo).EquiposAliados), "NumeroSerie")); if (lineaTemp.Equipo.EquipoID != null) { xrtblCellFechaDevolucion.Text = contrato.ObtenerFechaDevolucion((UnidadBO)lineaTemp.Equipo) != null ? contrato.ObtenerFechaDevolucion((UnidadBO)lineaTemp.Equipo) .Value.ToString() : String.Empty; xrtblCellFechaSalida.Text = contrato.ObtenerFechaEntrega((UnidadBO)lineaTemp.Equipo) != null ? contrato.ObtenerFechaEntrega((UnidadBO)lineaTemp.Equipo) .Value.ToString() : String.Empty; xrtblCellKmTotal.Text = contrato.CalcularKilometrajeRecorrido((UnidadBO)lineaTemp.Equipo) != null ? String.Format("{0:#,##0}", contrato.CalcularKilometrajeRecorrido((UnidadBO)lineaTemp.Equipo)) : String.Empty; xrlblCargoKilometro.Text = ((TarifaContratoRDBO)lineaTemp.Cobrable).RangoTarifas.First().CargoKm != null ? "$ " + String.Format("{0:#,##0.00##}", ((TarifaContratoRDBO)lineaTemp.Cobrable).RangoTarifas.First().CargoKm) : "$"; xrtblCellTotalEquipoAliado.Text = contrato.CalcularHorasConsumidas((UnidadBO)lineaTemp.Equipo) != null ? String.Format("{0:#,##0}", contrato.CalcularHorasConsumidas((UnidadBO)lineaTemp.Equipo)) : String.Empty; } else { xrtblCellFechaDevolucion.Text = String.Empty; xrtblCellFechaSalida.Text = String.Empty; xrtblCellKmTotal.Text = String.Empty; xrlblCargoKilometro.Text = "$"; xrtblCellTotalEquipoAliado.Text = String.Empty; } xrtblCellDias.Text = contrato.CalcularDiasTranscurridosRenta() != null ? String.Format("{0:#,##0}", contrato.CalcularDiasTranscurridosRenta()) : String.Empty; xrtblCellHoras.Text = contrato.CalcularHorasTranscurridasRenta() != null ? String.Format("{0:#,##0.00##}", contrato.CalcularHorasTranscurridasRenta()) : String.Empty; if (contrato.LectorKilometraje == ELectorKilometraje.HUBODOMETRO) { xrchkHubodometro.Checked = true; } if (contrato.LectorKilometraje == ELectorKilometraje.ODOMETRO) { xrchkOdometro.Checked = true; } ListadoVerificacionBO listadoEntrada = lineaTemp.ListadosVerificacion.Find(l => l.Tipo == ETipoListadoVerificacion.RECEPCION); if (listadoEntrada == null) { xrtblCellKmEntrada.Text = String.Empty; xrtblCellHrEntrada.Text = String.Empty; } else { xrtblCellKmEntrada.Text = listadoEntrada.Kilometraje != null ? String.Format("{0:#,##0}", listadoEntrada.Kilometraje) : String.Empty; xrtblCellHrEntrada.Text = listadoEntrada.Horometro != null ? String.Format("{0:#,##0}", listadoEntrada.Horometro) : String.Empty; } ListadoVerificacionBO listadoSalida = lineaTemp.ListadosVerificacion.Find(l => l.Tipo == ETipoListadoVerificacion.ENTREGA); if (listadoSalida == null) { xrtblCellKmSalida.Text = String.Empty; xrtblCellHrSalida.Text = String.Empty; } else { xrtblCellKmSalida.Text = listadoSalida.Kilometraje != null ? String.Format("{0:#,##0}", listadoSalida.Kilometraje) : String.Empty; xrtblCellHrSalida.Text = listadoSalida.Horometro != null ? String.Format("{0:#,##0}", listadoSalida.Horometro) : String.Empty; } //SC0021 formato de decimales var tarifaContrato = lineaTemp.Cobrable != null ? lineaTemp.Cobrable as TarifaContratoRDBO : new TarifaContratoRDBO(); xrlblTarifaDiaria.Text = tarifaContrato.TarifaDiaria != null ? "$ " + String.Format("{0:#,##0.00##}", tarifaContrato.TarifaDiaria) : "$"; xrlblTarifaHora.Text = tarifaContrato.RangoTarifas != null && tarifaContrato.RangoTarifas.Any() && tarifaContrato.RangoTarifas.First().CargoHr != null ? "$ " + String.Format("{0:#,##0.00##}", tarifaContrato.RangoTarifas.First().CargoHr) : "$"; if (unidadOperativaConfiguracion.PrecioUnidadCombustible == null) { xrtblCellLitro.Text = ""; } xrtblCellPrecioLitro.Text = unidadOperativaConfiguracion.PrecioUnidadCombustible != null ? "$ " + String.Format("{0:#,##0.00##}", unidadOperativaConfiguracion.PrecioUnidadCombustible) : "$"; string descripcion = string.Empty; if (contrato.FormaPago != null) { FieldInfo fi = contrato.FormaPago.GetType().GetField(contrato.FormaPago.ToString()); DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false); if (attributes != null && attributes.Length > 0) { descripcion = attributes[0].Description; } else { descripcion = contrato.FormaPago.ToString(); } } if (contrato.TipoConfirmacion != null) { FieldInfo fi = contrato.TipoConfirmacion.GetType().GetField(contrato.TipoConfirmacion.ToString()); DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false); if (attributes != null && attributes.Length > 0) { descripcion = !String.IsNullOrEmpty(descripcion) ? descripcion + " - " + attributes[0].Description : attributes[0].Description; } else { descripcion = !String.IsNullOrEmpty(descripcion) ? descripcion + " - " + contrato.TipoConfirmacion.ToString() : contrato.TipoConfirmacion.ToString(); } } this.xrtblCellCreditoAprobadoPor.Text = !string.IsNullOrEmpty(contrato.AutorizadorTipoConfirmacion) && !string.IsNullOrWhiteSpace(contrato.AutorizadorTipoConfirmacion) ? contrato.AutorizadorTipoConfirmacion.Trim().ToUpper() : string.Empty; xrtblCellTipoConfirmacion.Text = descripcion; if (contrato.FormaPago != null) { xrchkDeposito.Checked = true; if (lineaTemp.Equipo.ActivoFijo.CostoSinIva == null) { xrtblCellDepositoRecibido.Text = "$"; } else { Decimal?montoDeducibleCalcuado = 0; montoDeducibleCalcuado = lineaTemp.Equipo.ActivoFijo.CostoSinIva; var unidad = (UnidadBO)lineaTemp.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); } //SC0021 formato de decimales xrtblCellDepositoRecibido.Text = contrato.CalcularMontoDeposito((Decimal)montoDeducibleCalcuado) != null ? "$" + String.Format("{0:#,##0.00##}", contrato.CalcularMontoDeposito((Decimal)montoDeducibleCalcuado)) : "$"; } } if (contrato.TipoConfirmacion != null && contrato.TipoConfirmacion == ETipoConfirmacion.ORDEN_DE_COMPRA) { xrchkDeposito.Checked = false; xrtblCellDepositoRecibido.Text = "$0.00"; } xrtblCellPreparadoPor.Text = usuarioCreacion.Nombre ?? String.Empty; xrtblCellCompletadoPor.Text = usuarioCierre.Nombre ?? String.Empty; #region CU011 – Imprimir Cierre de Contrato de Renta Diaria //se obtiene los datos de finalizacion del contrato object finalizacion = contrato.ObtenerFinalizacionContratoRD(); CierreContratoRDBO cierreContrato = null; if (finalizacion != null && typeof(CierreContratoRDBO) == finalizacion.GetType() && lineaTemp != null) { cierreContrato = (CierreContratoRDBO)finalizacion; } if (cierreContrato != null) { // se realizan los calculos decimal?importeRenta = contrato.CalcularDiasTranscurridosRenta() * ((TarifaContratoRDBO)lineaTemp.Cobrable).TarifaDiaria; decimal?importeKmAdicional = contrato.CalcularMontoPorKilometrosExcedidos((UnidadBO)lineaTemp.Equipo); decimal?importeHrAdicional = contrato.CalcularMontoPorHorasExcedidas((UnidadBO)lineaTemp.Equipo); decimal?subtotalTarifa = importeRenta + importeKmAdicional + importeHrAdicional; int? litrosUnidad = contrato.CalcularDiferenciaCombustible(); decimal?importeLitros = contrato.CalcularMontoPorCombustible(unidadOperativaConfiguracion.PrecioUnidadCombustible); decimal?subtotalCargos = unidadOperativaConfiguracion.PrecioUnidadCombustible.HasValue ? contrato.CalcularSubTotalCargos(unidadOperativaConfiguracion.PrecioUnidadCombustible.Value) : null; decimal?importeSinIva = subtotalTarifa + subtotalCargos; decimal?importeDelIva = (importeSinIva * (contrato.Sucursal.Impuesto != null ? contrato.Sucursal.Impuesto.PorcentajeImpuesto : null)) / 100; decimal?cargoNeto = importeSinIva + importeDelIva; //decimal? montoDeposito = contrato.CalcularMontoDeposito(lineaTemp.Equipo.ActivoFijo.CostoSinIva.Value); decimal?totalPagar = cargoNeto; // se asignan valores a los campos del reporte xrtblCellTarifaDiaria.Text = importeRenta != null ? "$ " + String.Format("{0:#,##0.00##}", importeRenta) : string.Empty; xrtblCellCargoKilometro.Text = importeKmAdicional != null ? "$ " + String.Format("{0:#,##0.00##}", importeKmAdicional) : string.Empty; xrtblCellTarifaHora.Text = importeHrAdicional != null ? "$ " + String.Format("{0:#,##0.00##}", importeHrAdicional) : string.Empty; xrtblCellSubtotalTarifa.Text = subtotalTarifa != null ? "$ " + String.Format("{0:#,##0.00##}", subtotalTarifa) : string.Empty; xrtblCellLitros.Text = litrosUnidad != null?String.Format("{0:#,##0.00##}", litrosUnidad) : string.Empty; xrtblCellImporteLitros.Text = importeLitros != null ? "$ " + String.Format("{0:#,##0.00##}", importeLitros) : string.Empty; xrtblCellCargoAbuso.Text = cierreContrato.CargoAbusoOperacion != null ? "$ " + String.Format("{0:#,##0.00##}", cierreContrato.CargoAbusoOperacion) : string.Empty; xrtblCellCargoBasura.Text = cierreContrato.CargoDisposicionBasura != null ? "$ " + String.Format("{0:#,##0.00##}", cierreContrato.CargoDisposicionBasura) : string.Empty; xrtblCellSubtotalCargos.Text = subtotalCargos != null ? "$ " + String.Format("{0:#,##0.00##}", subtotalCargos) : string.Empty; xrtblCellPorcentajeIva.Text = contrato.Sucursal.Impuesto.PorcentajeImpuesto.HasValue ? contrato.Sucursal.Impuesto.PorcentajeImpuesto.Value.ToString() + " %" : string.Empty; xrtblCellCargoNeto.Text = cargoNeto != null ? "$ " + String.Format("{0:#,##0.00##}", cargoNeto) : string.Empty; xrtblCellRembolso.Text = cierreContrato.ImporteReembolso != null ? "$ " + String.Format("{0:#,##0.00##}", cierreContrato.ImporteReembolso) : string.Empty; xrtblCellTotalPagar.Text = totalPagar != null ? "$ " + String.Format("{0:#,##0.00##}", totalPagar) : string.Empty; xrtblCellRembolsoRecibidoPor.Text = cierreContrato.PersonaRecibeReembolso; xrtblCellImporteIVA.Text = importeDelIva != null ? "$ " + String.Format("{0:#,##0.00##}", importeDelIva) : string.Empty; } #endregion #endregion #region Pie de Reporte xrlblLeyendaArrendatarios.Html = leyendaArrendatarios; xrlblLeyendaOperacion.Html = leyendaOperacion; xrlblLeyendaInspeccion.Html = leyendaInspeccion; xrlblNumeroCheckList.Text = contrato.CalcularNumeroListadoVerificacion() ?? String.Empty; #endregion #endregion } catch (Exception ex) { throw new Exception("ContratoRentaDiariaRPT.ImprimirReporte:Error al intentar generar el reporte." + 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); } }
public void ConsultarContrato() { try { if (this.vista.TipoContratoID == null) { throw new Exception("No se identificó el tipo de contrato que desea ver"); } ETipoContrato tipo = (ETipoContrato)Enum.Parse(typeof(ETipoContrato), this.vista.TipoContratoID.ToString()); switch (tipo) { case ETipoContrato.CM: #region Ir a CM ContratoManttoBO boCM = new ContratoManttoBO() { ContratoID = this.vista.ContratoID }; this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("ContratoManttoBO", boCM); this.vista.RedirigirADetalleContratoCM(); #endregion break; case ETipoContrato.FSL: #region Ir a FSL ContratoFSLBO boFSL = new ContratoFSLBO() { ContratoID = this.vista.ContratoID }; this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("ContratoFSLBO", boFSL); this.vista.RedirigirADetalleContratoFSL(); #endregion break; case ETipoContrato.RD: #region Ir a RD ContratoRDBO boRD = new ContratoRDBO() { ContratoID = this.vista.ContratoID }; this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("ContratoRDBO", boRD); this.vista.RedirigirADetalleContratoRD(); #endregion break; case ETipoContrato.SD: #region Ir a SD ContratoManttoBO boSD = new ContratoManttoBO() { ContratoID = this.vista.ContratoID }; this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("ContratoManttoBO", boSD); this.vista.RedirigirADetalleContratoSD(); #endregion break; default: throw new Exception("No se identificó el tipo de contrato que desea ver"); } } catch (Exception ex) { throw new Exception(this.nombreClase + ".ConsultarContrato: " + ex.Message); } }