/// <summary> /// Prepara un BO para la Busqueda en su respectivo catalogo /// </summary> /// <param name="catalogo">catalogo donde se realizara la busqueda</param> /// <returns></returns> public object PrepararBOBuscador(string catalogo) { object obj = null; switch (catalogo) { case "CuentaClienteIdealease": var cliente = new CuentaClienteIdealeaseBOF { Nombre = vista.NombreCuentaCliente, UnidadOperativa = vista.UnidadOperativa, Cliente = new ClienteBO(), Activo = true }; obj = cliente; break; case "DireccionCliente": var bo = new CuentaClienteIdealeaseBO { UnidadOperativa = vista.UnidadOperativa, Cliente = new ClienteBO { Id = vista.ClienteID }, Id = vista.CuentaClienteID }; var bof = new DireccionCuentaClienteBOF { Cuenta = bo, Direccion = new DireccionClienteBO { Facturable = true } }; obj = bof; break; } return(obj); }
private CuentaClienteIdealeaseBO PrepararListasAMostrar(CuentaClienteIdealeaseBO cliente) { List <RepresentanteLegalBO> representantes = new List <RepresentanteLegalBO>(); foreach (RepresentanteLegalBO r in cliente.RepresentantesLegales) { if (r.Activo == true) { representantes.Add(r); } } cliente.RepresentantesLegales = representantes.ConvertAll(r => (PersonaBO)r); List <ObligadoSolidarioBO> obligados = new List <ObligadoSolidarioBO>(); foreach (ObligadoSolidarioBO o in cliente.ObligadosSolidarios) { if (o.Activo == true) { obligados.Add(o); } } cliente.ObligadosSolidarios = obligados.ConvertAll(o => (PersonaBO)o); return(cliente); }
public bool ExisteCliente(CuentaClienteIdealeaseBO cliente) { if (cliente == null) { throw new Exception("Se esperaba un Cliente"); } if (cliente.Id == null) { throw new Exception("se esperaba un Cliente"); } if (cliente.Cliente == null) { throw new Exception("se esperaba un Cliente"); } if (cliente.Cliente.Id == null) { throw new Exception("se esperaba un Cliente"); } List <CuentaClienteIdealeaseBO> lst = this.clienteBR.Consultar(this.dctx, cliente); if (lst.Count > 0) { return(true); } return(false); }
public object PrepararBOBuscador(string catalogo) { object obj = null; switch (catalogo) { case "Sucursal": SucursalBOF sucursal = new SucursalBOF(); sucursal.UnidadOperativa = new UnidadOperativaBO(); sucursal.UnidadOperativa.Id = this.vista.UnidadOperativaId; sucursal.Nombre = this.vista.SucursalNombre; sucursal.Usuario = new UsuarioBO() { Id = this.vista.UsuarioAutenticado }; obj = sucursal; break; case "CuentaClienteIdealease": CuentaClienteIdealeaseBO cliente = new CuentaClienteIdealeaseBO(); cliente.Nombre = this.vista.Cliente; cliente.UnidadOperativa = new UnidadOperativaBO(); cliente.UnidadOperativa.Id = this.vista.UnidadOperativaId; cliente.Activo = true; obj = cliente; break; } return(obj); }
public void Inicializar() { if (this.ValidarDatosNavegacion() == true) { this.PrepararNuevo(); CuentaClienteIdealeaseBO cliente = (CuentaClienteIdealeaseBO)this.ObtenerDatosNavegacion(); this.vista.Cliente = cliente; List <CuentaClienteIdealeaseBO> LastCliente = (List <CuentaClienteIdealeaseBO>)clienteBR.ConsultarCompleto(dctx, cliente); if (LastCliente.Count < 1) { throw new Exception("No se encontró al cliente que desea editar"); } if (LastCliente.Count > 1) { throw new Exception("Se encontró mas de un registro del cliente que desea editar"); } this.vista.ClienteAnterior = LastCliente[0]; this.vista.Representantes = cliente.RepresentantesLegales.ConvertAll(r => (RepresentanteLegalBO)r); this.vista.Obligados = cliente.ObligadosSolidarios.ConvertAll(o => (ObligadoSolidarioBO)o); this.vista.ListaTelefonos = cliente.Telefonos.ConvertAll(t => (TelefonoClienteBO)t); this.PrepararNuevo(); this.DatoAInterfazUsuarioCliente(); this.ActualizarVistaObligadosSolidarios(); this.ActualizarVistaRepresentantesLegales(); this.EstablecerSeguridad(); } else { this.MostrarMensaje("Se esperaba un cliente Idealease", ETipoMensajeIU.ADVERTENCIA); } }
/// <summary> /// Actualiza la información de los datos del cliente con la información de oracle /// </summary> public void ActualizarClienteOracle() { InterfazUsuarioADato(); CuentaClienteIdealeaseBO clientes = (CuentaClienteIdealeaseBO)this.ObtenerDatosNavegacion(); List <CuentaClienteIdealeaseBO> LastCliente = (List <CuentaClienteIdealeaseBO>)clienteBR.ConsultarCompleto(dctx, clientes); this.vista.ClienteAnterior = LastCliente[0]; this.vista.Cliente.Activo = clientes.Cliente.Activo; #region SC0008 SeguridadBO seguridad = new SeguridadBO(Guid.Empty, new UsuarioBO() { Id = this.vista.UC }, new AdscripcionBO() { UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativaId } }); clienteBR.ActualizarCompleto(dctx, vista.Cliente, vista.ClienteAnterior, seguridad); #endregion vista.EstablecerPaquete(this.vista.ClienteAnterior); DatoAInterfazUsuario(this.vista.ClienteAnterior); vista.EstablecerAcciones(); }
public void Editar() { CuentaClienteIdealeaseBO cliente = (CuentaClienteIdealeaseBO)this.vista.ObtenerDatos(); this.LimpiarSesion(); this.vista.EstablecerDatosNavegacion("DatosCuentaClienteIdealeaseBO", cliente); this.vista.RedirigirAEdicion(); }
/// <summary> /// Obtiene la lista de Contactos Cliente Idealease de acuerdo al Cliente Idealease de la Unidad, la Sucursal de la /// Unidad Idealease y si recibe correo. En caso de no encontrar Contactos Cliente Idealease se toma el Correo configurado /// del Cliente Idealease, en caso de no tener un correo configurado despliega un mensaje de error. /// </summary> private void CargarDatosContactoCliente() { ClienteBO cliente = mantenimientoSeleccionado.IngresoUnidad.Unidad.Cliente; CuentaClienteIdealeaseBR ctrlCuentaIdealease = new CuentaClienteIdealeaseBR(); CuentaClienteIdealeaseBO cuentaIdealease = ctrlCuentaIdealease.Consultar(dataContext, getFiltroCuentaClienteIdealease(cliente)).FirstOrDefault(); string nombreCliente = cliente.NombreCompleto != null ? (" " + cliente.NombreCompleto) : ""; if (cuentaIdealease != null && cuentaIdealease.Id != null) { ContactoClienteBR ctrlContactoCliente = new ContactoClienteBR(); List <ContactoClienteBO> contactos = ctrlContactoCliente.Consultar(dataContext, getFiltroContactoCliente(cuentaIdealease, mantenimientoSeleccionado.IngresoUnidad.Unidad.Sucursal)); if (contactos.Count > 0) { List <DetalleContactoClienteBO> detalles = new List <DetalleContactoClienteBO>(); foreach (ContactoClienteBO contacto in contactos) { ContactoClienteBO c = ctrlContactoCliente.ConsultarCompleto(dataContext, contacto).FirstOrDefault(); foreach (DetalleContactoClienteBO detalle in c.Detalles) { if (detalle.RecibeCorreoElectronico.Value) { detalles.Add(detalle); } } } if (detalles.Count == 0) { vista.MostrarMensaje("El Cliente Idealease " + nombreCliente + " no tiene algún contacto cliente para recibir correos electronicos.", ETipoMensajeIU.ADVERTENCIA); } else { vista.ContactoClienteSeleccionado = detalles.First(); } vista.ContactosCliente = detalles; } else { if (cuentaIdealease.Correo == null || cuentaIdealease.Correo.Trim() == null || cuentaIdealease.Correo.Equals("")) { vista.MostrarMensaje("El Cliente Idealease" + nombreCliente + " no tiene un Correo configurado.", ETipoMensajeIU.ADVERTENCIA); } DetalleContactoClienteBO contacto = new DetalleContactoClienteBO() { Nombre = cuentaIdealease.Nombre != null ? cuentaIdealease.Nombre : "", Correo = cuentaIdealease.Correo, }; vista.ContactoClienteSeleccionado = contacto; } vista.CargarDatosContactoCliente(); } else { vista.ContactoClienteSeleccionado = null; vista.MostrarMensaje("El Cliente" + nombreCliente + " no tiene una Cuenta Cliente Idealease.", ETipoMensajeIU.ADVERTENCIA); } }
public void DatoAInterfazUsuario(CuentaClienteIdealeaseBO bo) { if (bo.ActaConstitutiva != null) { this.vista.FechaEscritura = bo.ActaConstitutiva.FechaEscritura; this.vista.LocalidadNotaria = bo.ActaConstitutiva.LocalidadNotaria; this.vista.LocalidadRPPC = bo.ActaConstitutiva.LocalidadRPPC; this.vista.NombreNotario = bo.ActaConstitutiva.NombreNotario; this.vista.NumeroEscritura = bo.ActaConstitutiva.NumeroEscritura; this.vista.NumeroFolio = bo.ActaConstitutiva.NumeroRPPC; this.vista.NumeroNotaria = bo.ActaConstitutiva.NumeroNotaria; this.vista.FechaRPPC = bo.ActaConstitutiva.FechaRPPC; } this.vista.FechaRegistro = bo.FechaRegistroHacienda; this.vista.GiroEmpresa = bo.GiroEmpresa; this.vista.Fisica = bo.Cliente.Fisica; this.vista.Nombre = bo.Nombre; this.vista.ClienteID = bo.Id; if (bo.ObligadosSolidarios != null) { this.vista.Obligados = bo.ObligadosSolidarios.ConvertAll(o => (ObligadoSolidarioBO)o); } if (bo.RepresentantesLegales != null) { this.vista.Representantes = bo.RepresentantesLegales.ConvertAll(r => (RepresentanteLegalBO)r); } if (bo.Telefonos != null) { this.vista.ListaTelefonos = bo.Telefonos.ConvertAll(t => (TelefonoClienteBO)t); } this.vista.RFC = bo.Cliente.RFC; this.vista.TipoCuenta = bo.TipoCuenta; this.vista.CURP = bo.CURP; #region SC0001 this.vista.Correo = bo.Correo; this.vista.DiasUsoUnidad = bo.DiasUsoUnidad; this.vista.HorasUsoUnidad = bo.HorasUsoUnidad; #endregion this.vista.NumeroCuentaOracle = bo.Numero; if (bo.Observaciones != null || bo.Observaciones != string.Empty) { this.vista.Observaciones = bo.Observaciones; } if (bo.SectorCliente != null) { this.vista.SectorCliente = bo.SectorCliente; } }
/// <summary> /// Crea y obtiene un nuevo Filtro de Contacto Cliente Idealease, para realizar la búsqueda de la Contacto Cliente Idealease. /// </summary> /// <param name="cuentaIdealease">El filtro Cuenta Cliente Idealease para obtener el Contacto Cliente Idealease.</param> /// <param name="sucursal">El filtro Sucursal para obtener el Contacto Cliente Idealease.</param> /// <returns>Objeto de tipo ContactoClienteBO.</returns> private ContactoClienteBO getFiltroContactoCliente(CuentaClienteIdealeaseBO cuentaIdealease, SucursalBO sucursal) { ContactoClienteBO filtroContactoCliente = new ContactoClienteBO() { CuentaClienteIdealease = cuentaIdealease, Sucursal = sucursal, Activo = true }; return(filtroContactoCliente); }
public void VerDetalles(int index) { if (index >= this.vista.ListaClientes.Count || index < 0) { throw new Exception("No se encontró el cliente seleccionado."); } CuentaClienteIdealeaseBO bo = this.vista.ListaClientes[index]; this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("DatosCuentaClienteIdealeaseBO", bo); this.vista.RedirigirADetalles(); }
public void ActualizarCliente() { string s; if (String.IsNullOrEmpty(s = ValidarDatos())) { try { InterfazUsuarioADato(); #region SC0008 SeguridadBO seguridad = new SeguridadBO(Guid.Empty, new UsuarioBO() { Id = this.vista.UC }, new AdscripcionBO() { UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativa.Id } }); clienteBR.ActualizarCompleto(dctx, vista.Cliente, vista.ClienteAnterior, seguridad); #endregion CuentaClienteIdealeaseBO cliente = new CuentaClienteIdealeaseBO(); cliente.Cliente = new ClienteBO(); cliente.Cliente.Id = vista.Cliente.Cliente.Id; cliente.Id = vista.Cliente.Id; cliente.Cliente.Fisica = vista.Fisica; cliente.Cliente.RFC = vista.RFC; cliente.UnidadOperativa = new UnidadOperativaBO(); cliente.UnidadOperativa.Id = vista.Cliente.UnidadOperativa.Id; cliente.Observaciones = vista.Observaciones; cliente.SectorCliente = vista.SectorCliente; vista.EstablecerPaquete(cliente); vista.LimpiarSesion(); vista.RedirigirADetalle(); } catch (Exception ex) { this.MostrarMensaje("Error al intentar actualizar el cliente", ETipoMensajeIU.ERROR, this.nombreClase + ".ActualizarCliente: " + ex.Message); } } else { this.MostrarMensaje("Los siguientes campos no deben estar vacíos: " + s.Substring(2), ETipoMensajeIU.ADVERTENCIA); } }
/// <summary> /// Crea y obtiene un nuevo Filtro de Cuenta Cliente Idealease, para realizar la búsqueda de la Cuenta Cliente Idealease. /// </summary> /// <param name="cliente">El filtro para obtener la Cuenta Cliente Idealease.</param> /// <returns>Objeto de tipo CuentaClienteIdealeaseBO.</returns> private CuentaClienteIdealeaseBO getFiltroCuentaClienteIdealease(ClienteBO cliente) { CuentaClienteIdealeaseBO filtroCuentaIdealease = new CuentaClienteIdealeaseBO() { UnidadOperativa = new UnidadOperativaBO() { Id = vista.UnidadOperativaID }, Cliente = cliente }; return(filtroCuentaIdealease); }
public CuentaClienteIdealeaseBO PrepararBO() { CuentaClienteIdealeaseBO cliente = new CuentaClienteIdealeaseBO { Id = this.vista.CuentaClienteID, UnidadOperativa = this.vista.UnidadOperativa, Nombre = this.vista.Nombre, Cliente = new ClienteBO { Fisica = this.vista.Fisica, RFC = this.vista.RFC, Id = this.vista.ClienteID } }; return(cliente); }
public void ConsultarCliente(object oBo) { try { if (oBo == null) { throw new Exception(this.nombreClase + ".ConsultarCliente: se esperaba un objeto en la navegación. No se puede identificar qué cliente se desea consultar."); } if (!(oBo is CuentaClienteIdealeaseBO)) { throw new Exception(this.nombreClase + ".ConsultarCliente: Se esperaba un cliente de Idealease."); } CuentaClienteIdealeaseBO bo = (CuentaClienteIdealeaseBO)oBo; List <CuentaClienteIdealeaseBO> lstClientes = new List <CuentaClienteIdealeaseBO>(); lstClientes = this.clienteBR.ConsultarCompleto(dctx, bo); if (lstClientes.Count < 1) { throw new Exception("No se encontró ningún registro que corresponda a la información proporcionada."); } if (lstClientes.Count > 1) { throw new Exception("La consulta devolvió más de un registro."); } if (bo.Cliente.Fisica == true) { this.vista.OcultarActaConstitutiva(); this.vista.MostrarHacienda(); } if (bo.Cliente.Fisica == false) { this.vista.OcultarHacienda(); this.vista.MostrarActaConstitutiva(); } lstClientes[0].Cliente.RFC = bo.Cliente.RFC; lstClientes[0].Cliente.Fisica = bo.Cliente.Fisica; lstClientes[0].UnidadOperativaId = bo.UnidadOperativaId; lstClientes[0].Cliente.Id = bo.Cliente.Id; lstClientes[0].SectorCliente = bo.SectorCliente; this.PrepararListasAMostrar(lstClientes[0]); CuentaClienteIdealeaseBO cliente = this.PrepararListasAMostrar(lstClientes[0]); this.ObtenerCreditosCliente(cliente.Id); this.vista.EstablecerDatosNavegacion("DatosCuentaClienteIdealeaseBO", cliente); this.DatoAInterfazUsuario(cliente); } catch (Exception ex) { throw new Exception(this.nombreClase + ".ConsultarCliente: " + ex.Message); } }
public void DesplegarResultadoBuscador(string catalogo, object selecto) { switch (catalogo) { case "Sucursal": SucursalBO sucursal = (SucursalBO)selecto; if (sucursal != null && sucursal.Id != null) { this.vista.SucursalId = sucursal.Id; } else { this.vista.SucursalId = null; } if (sucursal != null && sucursal.Nombre != null) { this.vista.SucursalNombre = sucursal.Nombre; } else { this.vista.SucursalNombre = null; } break; case "CuentaClienteIdealease": CuentaClienteIdealeaseBO cliente = (CuentaClienteIdealeaseBO)selecto; if (cliente != null && cliente.Id != null) { this.vista.ClienteId = cliente.Id; } else { this.vista.ClienteId = null; } if (cliente != null && cliente.Nombre != null) { this.vista.Cliente = cliente.Nombre; } else { this.vista.Cliente = null; } break; } }
/// <summary> /// Despliega el Resultado del Buscador /// </summary> /// <param name="catalogo">Catalogo en el que se realizo la busqueda</param> /// <param name="selecto">Objeto Resultante</param> public void DesplegarResultadoBuscador(string catalogo, object selecto) { switch (catalogo) { case "Cliente": CuentaClienteBO cliente = (CuentaClienteBO)selecto ?? new CuentaClienteBO(); if (cliente.Cliente == null) { cliente.Cliente = new ClienteBO(); } CuentaClienteIdealeaseBO vistaCliente = new CuentaClienteIdealeaseBO(); vistaCliente.UnidadOperativa = new UnidadOperativaBO(); vistaCliente.Cliente = new ClienteBO(); vistaCliente.UnidadOperativa = this.vista.UnidadOperativa; vistaCliente.Id = cliente.Id; vistaCliente.Cliente.Id = cliente.Cliente.Id; vistaCliente.Activo = true; vistaCliente.Numero = cliente.Numero; if (vistaCliente.Id != null) { if (this.ExisteCliente(vistaCliente) != true) { vista.NombreCliente = !string.IsNullOrEmpty(cliente.Nombre) ? cliente.Nombre : string.Empty; vista.RFC = cliente.Cliente.RFC; vista.Fisica = cliente.Cliente.Fisica; vista.NombreCliente = cliente.Nombre; vista.Cliente = vistaCliente; vista.NumeroCuentaOracle = vistaCliente.Numero; Inicializar(true); } else { this.vista.DeshabilitarCampos(); this.vistaObligado.HabilitarCampos(false); this.vistaRepresentante.HabilitarCampos(true); vistaRepresentante.HabilitarCampos(false); this.vista.MostrarMensaje("La información del Cliente que proporcionó ya se encuentra registrado en el sistema. Favor de verificar.", ETipoMensajeIU.ADVERTENCIA, null); } } break; } }
public void ConsultarClientes() { try { CuentaClienteIdealeaseBO cliente = this.PrepararBO(); List <CuentaClienteIdealeaseBO> lstClientes = clienteBR.Consultar(dctx, cliente); this.vista.ListaClientes = lstClientes; this.MostrarDatos(); if (lstClientes.Count == 0) { this.vista.MostrarMensaje("La búsqueda no produjo resultados", ETipoMensajeIU.INFORMACION, "No se encontraron coincidencias con los criterios ingresados. Verifique sus datos"); } } catch (Exception ex) { this.MostrarMensaje("Error al intentar consultar los clientes", ETipoMensajeIU.ERROR, nombreClase + ".ConsultarClientes:" + ex.Message); } }
public object InterfazUsuarioADatoTelefonos() { List <TelefonoClienteBO> lstTelefonos = new List <TelefonoClienteBO>(); TelefonoClienteBO telefonos; CuentaClienteIdealeaseBO Cliente; foreach (TelefonoClienteBO TelefonoBO in this.vista.ListaTelefonos) { telefonos = new TelefonoClienteBO(); Cliente = new CuentaClienteIdealeaseBO(); telefonos.Telefono = TelefonoBO.Telefono; telefonos.CuentaClienteID = this.vista.Cliente.Id; telefonos.Auditoria = new AuditoriaBO { FC = this.vista.FC, FUA = this.vista.FUA, UC = this.vista.UC, UUA = this.vista.UUA }; telefonos.Activo = true; lstTelefonos.Add(telefonos); } return(lstTelefonos); }
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> /// Agrega un Representante Legal al Contrato al Contrato /// </summary> /// <param name="representante">Representante Lega a agregar</param> public void AgregarRepresentanteLegalContrato(RepresentanteLegalBO representante) { try { if (representante != null && representante.Id != null) { if (vista.RepresentantesLegalesContrato.Find(obl => representante.Id == obl.Id) == null) { var Representantes = new List <RepresentanteLegalBO>(vista.RepresentantesLegalesContrato); var cliente = new CuentaClienteIdealeaseBO { Id = vista.CuentaClienteID, Cliente = new ClienteBO { Id = vista.ClienteID } }; var cciBR = new CuentaClienteIdealeaseBR(); representante = cciBR.ConsultarRepresentantesLegales(dataContext, new RepresentanteLegalBO { Id = representante.Id }, cliente ) .Find(rep => rep.Id == representante.Id); // Si es Depositario if (representante.EsDepositario == true) { // Reestablece el valor de es depositario en los representantes legales. foreach (var item in vista.ListadoRepresentantesLegales) { var replegal = Representantes.Find(rep => rep.Id == item.Id); if (replegal != null) { replegal.EsDepositario = item.EsDepositario; } } } Representantes.Add(representante); vista.RepresentantesLegalesContrato = Representantes; } else { vista.MostrarMensaje("El Representante Legal seleccionado ya se encuentra asignado al contrato.", ETipoMensajeIU.ADVERTENCIA); } } else { vista.MostrarMensaje("Se requiere de un Representante Legal seleccionado valido para agregar al contrato.", ETipoMensajeIU.ADVERTENCIA); } } catch (Exception ex) { vista.MostrarMensaje("Inconsistencias al intertar agregar un Representante Legal al Contrato", ETipoMensajeIU.ERROR, NombreClase + ".AgregarRepresentanteLegalContrato: " + ex.Message); } }
/// <summary> /// Obtiene y Muesta el listado de Representantes Legales y Obligados Solidarios /// </summary> private void DesplegarPersonasCliente() { try { // Variables var cciBR = new CuentaClienteIdealeaseBR(); vista.ListadoObligadosSolidarios = null; vista.ListadoRepresentantesLegales = null; //Inicializa los Representantes Legales del Contrato vista.RepresentantesLegalesContrato = null; //Inicializa los Obligados Solidarios del Contrato vista.ObligadosSolidariosContrato = null; //Inicializar los avales vista.AvalesTotales = null; vista.AvalesSeleccionados = null; vista.ActualizarAvales(); if (vista.UnidadOperativa == null) { throw new Exception("Se requiere de la unidad operativa para realizar la operación"); } // Se consultan y obtiene el Cliente Completo if (vista.CuentaClienteID != null) { var cliente = new CuentaClienteIdealeaseBO { Id = vista.CuentaClienteID, Cliente = new ClienteBO { Id = vista.ClienteID }, UnidadOperativa = vista.UnidadOperativa }; List <CuentaClienteIdealeaseBO> listado = cciBR.ConsultarCompleto(dataContext, cliente); cliente = listado.Find(cli => cli.Id == vista.CuentaClienteID); if (cliente != null) { var representantesActivos = new List <PersonaBO>(cliente.RepresentantesLegales.Where( persona => persona.Activo == true)).ConvertAll(s => (RepresentanteLegalBO)s); foreach (var representantesActivo in representantesActivos.Where(representantesActivo => representantesActivo.EsDepositario == true)) { representantesActivo.Nombre = "(D) " + representantesActivo.Nombre; } vista.HabilitarListadoRepresentantesLegales(representantesActivos.Count > 0); vista.HabilitarAgregarRepresentanteLegal(representantesActivos.Count > 0); vista.ListadoRepresentantesLegales = representantesActivos; var obligadosActivos = new List <PersonaBO>(cliente.ObligadosSolidarios.Where(persona => persona.Activo == true)).ConvertAll(s => (ObligadoSolidarioBO)s); vista.HabilitarListadoObligadosSolidarios(obligadosActivos.Count > 0); vista.HabilitarAgregarObligadoSolidario(obligadosActivos.Count > 0); vista.ListadoObligadosSolidarios = obligadosActivos.ConvertAll(s => (ObligadoSolidarioBO)s); vista.HabilitarObligadosComoAvales(obligadosActivos.Count > 0); //Mostrar Avales List <AvalBO> lstAvales = null; if (obligadosActivos != null) { lstAvales = obligadosActivos.ConvertAll(s => this.ObligadoAAval(s)); } this.vista.AvalesTotales = lstAvales; this.vista.AvalesSeleccionados = null; //Sólo permite seleccionar avales si el cliente ha sido seleccionado this.vista.PermitirSeleccionarAvales(this.vista.ModoEditar && this.vista.CuentaClienteID != null); //Sólo permite agregar avales si el cliente ha sido seleccionado y tiene obligados solidarios configurados this.vista.PermitirAgregarAvales(this.vista.ModoEditar && this.vista.AvalesTotales != null && this.vista.AvalesTotales.Count > 0); vista.ActualizarAvales(); if (vista.SoloRepresentantes != null && vista.SoloRepresentantes == false) { if (vista.ObligadosComoAvales != null && vista.ObligadosComoAvales == false) { vista.MostrarAvales(true); } } } else { throw new Exception("El cliente seleccionado no es valido en el sistema."); } } else { throw new Exception("Se requiere seleccionar un Cliente para obtener los listados de Representantes Legales y Obligados Solidarios."); } } catch (Exception ex) { vista.MostrarMensaje("Inconsistencias al presentar la información", ETipoMensajeIU.ERROR, NombreClase + ".MostrarPersonasCliente : " + ex.Message); } }
public void RegistrarCliente() { string s; if (!String.IsNullOrEmpty((s = this.ValidarDatos()))) { this.vista.MostrarMensaje("Los siguientes datos no pueden estar vacíos " + s.Substring(2), ETipoMensajeIU.ADVERTENCIA, null); return; } try { ETipoEmpresa empresa = (ETipoEmpresa)vista.UnidadOperativa.Id; CuentaClienteIdealeaseBO cliente = (CuentaClienteIdealeaseBO)this.InterfazUsuarioADato(); if (this.ExisteCliente(cliente) == true) { this.vista.MostrarMensaje("La información del Cliente que proporcionó ya se encuentra registrado en el sistema. Favor de verificar.", ETipoMensajeIU.INFORMACION, null); } #region SC0008 SeguridadBO seguridad = new SeguridadBO(Guid.Empty, new UsuarioBO() { Id = this.vista.UC }, new AdscripcionBO() { UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativa.Id } }); this.clienteBR.InsertarCompleto(dctx, cliente, seguridad); #endregion SC0008 List <CuentaClienteIdealeaseBO> lst = this.clienteBR.ConsultarCompleto(dctx, cliente); if (lst.Count <= 0) { throw new Exception("Al consultar lo insertado no se encontraron coincidencias."); } if (lst.Count > 1) { throw new Exception("Al consultar lo insertado se encontró más de una coincidencia."); } this.vista.RepresentantesLegales = lst[0].RepresentantesLegales.ConvertAll(r => (RepresentanteLegalBO)r); this.vista.ObligadosSolidarios = lst[0].ObligadosSolidarios.ConvertAll(o => (ObligadoSolidarioBO)o); CuentaClienteIdealeaseBO clienteTemp = new CuentaClienteIdealeaseBO(); clienteTemp = lst[0]; clienteTemp.UnidadOperativa = this.vista.UnidadOperativa; //this.vista.Cliente = lst[0]; List <CuentaClienteIdealeaseBO> lstTemp = this.clienteBR.Consultar(dctx, clienteTemp); if (lstTemp.Count == 1) { this.vista.Cliente = lstTemp[0]; this.RedirigirADetalle(); } else { throw new Exception("Error al recuperar los datos del cliente"); } } catch (Exception ex) { this.vista.MostrarMensaje("Error al Registrar los datos del Cliente", ETipoMensajeIU.ERROR, nombreClase + ".RegistrarCliente: " + ex.Message); } }