public void RealizarPrimeraCarga() { try { ContratoPSLBO contratoSesion = (ContratoPSLBO)this.vista.ObtenerPaqueteNavegacion("UltimoContratoPSLBO"); if (contratoSesion != null) { this.LimpiarSesion(); this.vista.ContratoID = contratoSesion.ContratoID; } this.EstablecerConfiguracionInicial(); this.ConsultarCompleto(); this.presentadorHerramientas.vista.OcultarImprimirPlantilla(); this.presentadorHerramientas.vista.OcultarImprimirPlantillaCheckList(); this.presentadorHerramientas.vista.OcultarSolicitudPago(); this.presentadorHerramientas.DeshabilitarMenuEditar(); this.presentadorHerramientas.DeshabilitarMenuCerrar(); this.presentadorHerramientas.DeshabilitarMenuBorrar(); this.presentadorHerramientas.DeshabilitarMenuImprimir(); this.presentadorHerramientas.DeshabilitarMenuDocumentos(); this.presentadorHerramientas.vista.MarcarOpcionCerrarContrato(); this.presentadorHerramientas.vista.OcultarPlantillas(); this.EstablecerTipoCierre(); this.EstablecerSeguridad(); this.vista.EstablecerEtiquetas(); } catch (Exception ex) { throw new Exception(this.nombreClase + ".RealizarPrimeraCarga: " + ex.Message); } }
private object InterfazUsuarioADato() { ContratoPSLBO bo = new ContratoPSLBO(); if (this.vista.UltimoObjeto != null) { bo = new ContratoPSLBO((ContratoPSLBO)this.vista.UltimoObjeto); } bo.CierreContrato = new CancelacionContratoPSLBO(); bo.CierreContrato.Usuario = new UsuarioBO(); bo.ContratoID = this.vista.ContratoID; bo.UUA = this.vista.UUA; bo.FUA = this.vista.FUA; bo.Tipo = (ETipoContrato)this.vista.TipoContrato; 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; ((CancelacionContratoPSLBO)bo.CierreContrato).Motivo = this.vista.MotivoCancelacion; return(bo); }
private void ConsultarCompleto() { try { //Se consulta la información del contrato ContratoPSLBO bo = (ContratoPSLBO)this.InterfazUsuarioADato(); List <ContratoPSLBO> 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."); } ContratoPSLBO contrato = lst[0]; this.DatoAInterfazUsuario(contrato); this.vista.UltimoObjeto = contrato; this.presentadorHerramientas.DatosAInterfazUsuario(contrato); this.vista.lstUnidades = null; List <UnidadBO> lstUnidadActivas = new List <UnidadBO>(); foreach (LineaContratoPSLBO linea in contrato.LineasContrato.Where(a => a.Activo.HasValue && a.Activo.Value == true)) { lstUnidadActivas.Add(new UnidadBO(linea.Equipo as UnidadBO)); } this.vista.lstUnidades = lstUnidadActivas; this.DesplegarListadoSeries(lstUnidadActivas); } catch (Exception ex) { this.DatoAInterfazUsuario(new ContratoPSLBO()); throw new Exception(this.nombreClase + ".ConsultarCompleto:" + ex.Message); } }
/// <summary> /// Cancela el intercambio de la unidad /// </summary> public void CancelarRegistro() { ContratoPSLBO cto = (ContratoPSLBO)this.vista.UltimoObjeto; this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("ContratoPSLBO", cto); this.vista.RedirigirACancelar(); }
public void Inicializar(LineaContratoPSLBO linea, ContratoPSLBO contrato) { Inicializar(); vista.UnidadOperativaID = ((UnidadBO)linea.Equipo).Sucursal.UnidadOperativa.Id; EstablecerConfiguracionInicial(); DatosAInterfazUsuario(linea, contrato); EstablecerUltimoObjeto(linea); }
/// <summary> /// Despliega los datos del contrato en la interfaz de usuario /// </summary> /// <param name="contrato">Contrato PSL que contiene los datos a desplegar</param> public void DatosAInterfazUsuario(ContratoPSLBO contrato) { contrato = contrato ?? new ContratoPSLBO(); vista.NumeroContrato = contrato.NumeroContrato != null && !string.IsNullOrEmpty(contrato.NumeroContrato) ? contrato.NumeroContrato : null; vista.EstatusContrato = contrato.Estatus; vista.Configurar(contrato.Estatus); }
public void CancelarEdicion() { ContratoPSLBO bo = (ContratoPSLBO)this.vista.UltimoObjeto; this.LimpiarSesion(); this.vista.LimpiarPaqueteNavegacion("UltimoContratoPSLBO"); this.vista.EstablecerPaqueteNavegacion("ContratoPSLBO", bo); this.vista.RedirigirADetalles(); }
public void CancelarContrato() { string s; if ((s = this.ValidarCampos()) != null) { this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null); return; } Guid firma = Guid.NewGuid(); try { #region Transaccion dctx.SetCurrentProvider("Outsourcing"); dctx.OpenConnection(firma); dctx.BeginTransaction(firma); #endregion ContratoPSLBO bo = (ContratoPSLBO)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); this.controlador.CancelarCompleto(this.dctx, bo, (ContratoPSLBO)this.vista.UltimoObjeto, seguridadBO); //Se concluye la transacción. dctx.CommitTransaction(firma); this.LimpiarSesion(); this.vista.LimpiarPaqueteNavegacion("UltimoContratoPSLBO"); this.vista.EstablecerPaqueteNavegacion("ChecklistRecepcionPSL", this.vista.DatosReporte); this.vista.RedirigirAImprimir(); } catch (Exception ex) { dctx.RollbackTransaction(firma); throw new Exception(nombreClase + ".CancelarContratoPSLPRE:" + ex.Message); } finally { if (dctx.ConnectionState == ConnectionState.Open) { dctx.CloseConnection(firma); } } }
private void DatoAInterfazUsuario(object obj) { ContratoPSLBO bo = (ContratoPSLBO)obj; if (bo == null) { bo = new ContratoPSLBO(); } this.vista.ContratoID = bo.ContratoID; this.vista.EstatusID = (int)bo.Estatus; this.vista.TipoContrato = bo.Tipo; }
private void ConsultarCompleto() { try { ContratoPSLBO bo = (ContratoPSLBO)this.InterfazUsuarioADato(); List <ContratoPSLBO> 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 ContratoPSLBO()); throw new Exception(this.nombreClase + ".ConsultarCompleto:" + ex.Message); } }
private object InterfazUsuarioADato() { ContratoPSLBO bo = new ContratoPSLBO(); if (this.vista.UltimoObjeto != null) { bo = new ContratoPSLBO((ContratoPSLBO)this.vista.UltimoObjeto); } bo.ContratoID = this.vista.ContratoID; if (bo.AnexosContrato == null) { bo.AnexosContrato = new List <AnexosContratoPSLBO>(); } return(bo); }
/// <summary> /// Registra el contrato con Estatus En Curso /// </summary> public void RegistrarTerminada() { string s; if ((s = this.ValidarCamposRegistro()) != null) { this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null); return; } this.vista.EstatusID = (int)EEstatusContrato.EnPausa; ContratoPSLBO contrato = this.Registrar(); this.vista.EstablecerPaqueteNavegacion("ContratoPSLBO", contrato); this.vista.RedirigirADetalles(); }
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 ContratoPSLBO)) { throw new Exception("Se esperaba un Contrato de Renta Ordinaria."); } ContratoPSLBO bo = (ContratoPSLBO)paqueteNavegacion; this.DatoAInterfazUsuario(bo); } catch (Exception ex) { this.DatoAInterfazUsuario(new ContratoPSLBO()); throw new Exception(this.nombreClase + ".EstablecerDatosNavegacion: " + ex.Message); } }
private object InterfazUsuarioADato() { ContratoPSLBO bo = new ContratoPSLBO(); if (this.vista.UltimoObjeto != null) { bo = new ContratoPSLBO((ContratoPSLBO)this.vista.UltimoObjeto); } bo.CierreContrato = new CierreContratoPSLBO(); bo.CierreContrato.Usuario = new UsuarioBO(); bo.ContratoID = this.vista.ContratoID; bo.UUA = this.vista.UUA; bo.FUA = this.vista.FUA; 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 CierreContratoPSLBO) { ((CierreContratoPSLBO)bo.CierreContrato).ImporteReembolso = this.vista.ImporteReembolso; ((CierreContratoPSLBO)bo.CierreContrato).PersonaRecibeReembolso = this.vista.PersonaRecibeReembolso; } else { ((CierreContratoPSLBO)bo.CierreContrato).ImporteReembolso = null; ((CierreContratoPSLBO)bo.CierreContrato).PersonaRecibeReembolso = null; } return(bo); }
public void RealizarPrimeraCarga() { try { ContratoPSLBO contratoSesion = (ContratoPSLBO)this.vista.ObtenerPaqueteNavegacion("UltimoContratoPSLBO"); if (contratoSesion != null) { this.LimpiarSesion(); this.vista.ContratoID = contratoSesion.ContratoID; } this.DesplegarSucursalesAutorizadas(); this.EstablecerConfiguracionInicial(); this.ConsultarCompleto(); this.EstablecerSeguridad(); this.presentadorDocumentos.ModoEditable(true); this.DeshabilitaBarraHerramientas(); } catch (Exception ex) { throw new Exception(this.nombreClase + ".RealizarPrimeraCarga: " + ex.Message); } }
private void ConsultarCompleto() { try { //Se consulta la información del contrato ContratoPSLBO bo = (ContratoPSLBO)this.InterfazUsuarioADato(); List <ContratoPSLBO> 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]; } catch (Exception ex) { this.DatoAInterfazUsuario(new ContratoPSLBO()); throw new Exception(this.nombreClase + ".ConsultarCompleto:" + ex.Message); } }
/// <summary> /// Registra el contrato con estatus Borrador /// </summary> public void RegistrarIntercambio() { try { string s; if ((s = this.ValidarCamposBorrador()) != null) { this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null); return; } this.vista.EstatusID = (int)EEstatusContrato.EnCurso; this.Registrar(); ContratoPSLBO ctoCheckList = new ContratoPSLBO((ContratoPSLBO)this.vista.UltimoObjeto); this.vista.UltimoObjeto = null; this.vista.EstablecerPaqueteNavegacion("RegistrarEntregaPSLUI", ctoCheckList); this.vista.EstablecerPaqueteNavegacion("LineaContratoPSLID", this.lineaContratoID); this.vista.EstablecerPaqueteNavegacion("EsIntercambio", true); this.vista.RedirigirADetalles(); } catch (Exception ex) { throw new Exception(nombreClase + ".IntercambioUnidadPSLPRE: " + Environment.NewLine + ex.Message); } }
/// <summary> /// Actualiza el cierre de un contrato de RD /// </summary> public void CerrarContrato() { string s; if ((s = this.ValidarCampos()) != null) { this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null); return; } Guid firma = Guid.NewGuid(); try { #region Transaccion dctx.SetCurrentProvider("Outsourcing"); dctx.OpenConnection(firma); dctx.BeginTransaction(firma); #endregion ////Se obtiene la información a partir de la Interfaz de Usuario ContratoPSLBO bo = (ContratoPSLBO)this.InterfazUsuarioADato(); GeneradorPagoPSLBR GenerarPagosBr = new GeneradorPagoPSLBR(); var pagos = ObtenerPagosContrato(bo.ContratoID); ////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); //Crear pago de adicional var ultimoPago = 0; if (pagos.Count > 0) { ultimoPago = (int)ObtenerUltimoNumeroPago(pagos); } GenerarPagosBr.ModuloID = this.vista.ModuloID; GenerarPagosBr.GenerarPagoAdicional(dctx, bo, (ultimoPago + 1), seguridadBO, true, true); //Se actualiza en la base de datos this.controlador.Terminar(this.dctx, bo, (ContratoPSLBO)this.vista.UltimoObjeto, seguridadBO); dctx.CommitTransaction(firma); this.LimpiarSesion(); this.vista.LimpiarPaqueteNavegacion("UltimoContratoPSLBO"); this.vista.EstablecerPaqueteNavegacion("ContratoPSLBO", bo); this.vista.RedirigirADetalles(); } catch (Exception ex) { dctx.RollbackTransaction(firma); throw new Exception(nombreClase + ".CerrarContrato:" + ex.Message); } finally { if (dctx.ConnectionState == ConnectionState.Open) { dctx.CloseConnection(firma); } } }
/// <summary> /// Despliega la línea en la interfaz de usuario /// </summary> /// <param name="lineaContrato"></param> /// <param name="plazoAnio"></param> public void DatosAInterfazUsuario(LineaContratoPSLBO lineaContrato, ContratoPSLBO bo) { DatosAInterfazUsuario((UnidadBO)lineaContrato.Equipo); if (lineaContrato.Equipo != null && lineaContrato.Equipo.Sucursal != null && lineaContrato.Equipo.Sucursal.UnidadOperativa != null) { vista.UnidadOperativaID = lineaContrato.Equipo.Sucursal.UnidadOperativa.Id; } //this.vista.TipoTarifaID = (int?)lineaContrato.TipoTarifa; if (lineaContrato.Cobrable != null) { var tarifaContrato = ((TarifaContratoPSLBO)lineaContrato.Cobrable); vista.TarifaPSLID = tarifaContrato.TarifaPSLID; vista.DuracionDiasPeriodo = tarifaContrato.DuracionDiasPeriodo; vista.MaximoHrsTurno = tarifaContrato.MaximoHrsTurno; //Tarifas this.vista.TarifaHrsLibres = tarifaContrato.HorasLibres == null ? 0 : tarifaContrato.HorasLibres; this.vista.TarifaHrsExcedidas = tarifaContrato.RangoTarifas != null && tarifaContrato.RangoTarifas.Any() ? tarifaContrato.RangoTarifas.First().Cargo ?? 0 : 0; AVerificacionLineaPSLBO entrega = lineaContrato.ObtenerListadoVerificacionPorTipo <AVerificacionLineaPSLBO>(ETipoListadoVerificacion.ENTREGA); AVerificacionLineaPSLBO recepcion = lineaContrato.ObtenerListadoVerificacionPorTipo <AVerificacionLineaPSLBO>(ETipoListadoVerificacion.RECEPCION); this.vista.HrsExcedidas = lineaContrato.CalcularHorasExcedidas(); this.vista.HrsConsumidas = lineaContrato.CalcularHorasConsumidas(); this.vista.MontoHrsExcedidas = lineaContrato.CalcularMontoPorHorasExcedidas() == null ? 0 : lineaContrato.CalcularMontoPorHorasExcedidas(); this.vista.HrsEntrega = entrega.Horometro; this.vista.HrsRecepcion = recepcion.Horometro; this.vista.DiferenciaCombustible = lineaContrato.CalcularDiferenciaCombustible(); if (this.vista.ImporteUnidadCombustible != null) { this.vista.ImporteTotalCombustible = lineaContrato.CalcularMontoCombustible(this.vista.ImporteUnidadCombustible.Value); } else { this.vista.ImporteUnidadCombustible = null; } this.vista.CargoAbusoOperacion = lineaContrato.CargoAbusoOperacion; this.vista.CargoDisposicionBasura = lineaContrato.CargoDisposicionBasura; //Cálculos de Días de Renta this.vista.DiasRentaProgramada = bo.CalcularDiasPrometidosRenta(); this.vista.DiasEnTaller = 0; //TODO: Integración con módulo de mantenimiento this.vista.DiasRealesRenta = bo.CalcularDiasTranscurridosRenta(); if (this.vista.DiasRentaProgramada != null && this.vista.DiasRealesRenta != null) { this.vista.DiasAdicionales = this.vista.DiasRealesRenta.Value - this.vista.DiasRentaProgramada.Value; } else { this.vista.DiasAdicionales = null; } if (this.vista.DiasAdicionales != null && ((TarifaContratoPSLBO)lineaContrato.Cobrable).TarifaDiaria != null) { this.vista.MontoTotalDiasAdicionales = this.vista.DiasAdicionales * ((TarifaContratoPSLBO)lineaContrato.Cobrable).TarifaDiaria; } else { this.vista.MontoTotalDiasAdicionales = null; } } else { this.vista.TarifaHrsLibres = 0; this.vista.MontoHrsExcedidas = 0; } }
/// <summary> /// Registra un Contrato RO /// </summary> private void Registrar() { #region Se inicia la Transaccion dctx.SetCurrentProvider("Outsourcing"); Guid firma = Guid.NewGuid(); try { dctx.OpenConnection(firma); dctx.BeginTransaction(firma); } catch (Exception) { if (dctx.ConnectionState == ConnectionState.Open) { dctx.CloseConnection(firma); } throw new Exception("Se encontraron inconsistencias al insertar el Contrato."); } #endregion try { //Se obtiene la información a partir de la Interfaz de Usuario ContratoPSLBO bo = (ContratoPSLBO)this.InterfazUsuarioADato(); if (bo.Estatus == EEstatusContrato.EnPausa) { #region LLenar el anexo por cambios en la renovación. AnexosContratoPSLBO anexo = new AnexosContratoPSLBO(); anexo.FechaInicio = bo.FechaInicioActual; anexo.FechaFin = bo.FechaPromesaActual; anexo.FechaIntercambioUnidad = null; anexo.MontoTotalArrendamiento = bo.MontoTotalArrendamiento; anexo.TipoAnexoContrato = ETipoAnexoContrato.Contrato; anexo.Vigente = true; anexo.ContratoPSLID = this.vista.ContratoID; anexo.FC = this.vista.FUA; anexo.FUA = this.vista.FUA; anexo.UC = this.vista.UUA; anexo.UUA = this.vista.UUA; ArchivoBO archivo = new ArchivoBO(); archivo.Activo = true; archivo.Auditoria = new AuditoriaBO { FC = this.vista.FUA, FUA = this.vista.FUA, UC = this.vista.UUA, UUA = this.vista.UUA }; archivo.TipoAdjunto = ETipoAdjunto.AnexoContrato; archivo.TipoArchivo = this.presentadorDocumentos.Vista.TiposArchivo.Find(x => x.Extension.ToUpper() == "PDF"); Random random = new Random(); archivo.Nombre = "Anexo_" + DateTime.Now.ToShortDateString().Replace("/", string.Empty) + random.Next(99999).ToString() + ".pdf"; archivo.NombreCorto = archivo.Nombre; Dictionary <string, object> dataSources = new Dictionary <string, object>(); #region Consulta periodoTarifario. List <DiaPeriodoTarifaBO> lstTemp = new List <DiaPeriodoTarifaBO>(); DiaPeriodoTarifaBR periodoTarifaBR = new DiaPeriodoTarifaBR(); lstTemp = periodoTarifaBR.Consultar(dctx, new DiaPeriodoTarifaBO() { UnidadOperativaID = this.vista.UnidadOperativaID }); if (lstTemp.Count == 1) { dataSources.Add("PeriodoTarifa", lstTemp[0]); } if (!string.IsNullOrEmpty(bo.Divisa.MonedaDestino.Codigo)) { MonedaBO moneda = FacadeBR.ConsultarMoneda(this.dctx, new MonedaBO() { Codigo = bo.Divisa.MonedaDestino.Codigo }).FirstOrDefault(); dataSources.Add("Moneda", moneda); } #endregion dataSources["ContratoPSLBO"] = bo; ContratoAnexoROCRPT reporteCorrectivo = new ContratoAnexoROCRPT(dataSources); using (MemoryStream stream = new MemoryStream()) { reporteCorrectivo.CreateDocument(); reporteCorrectivo.ExportToPdf(stream); archivo.Archivo = stream.GetBuffer(); } anexo.AgregarAnexo(archivo); bo.AgregarAnexoContrato(anexo); #endregion #region Llenando información del pago GeneradorPagoPSLBR generadorPago = new GeneradorPagoPSLBR(); //Cuando se genera el pago se llenan los campos de acumulados de tarifas generadorPago.ObtenerPagos(new PagoContratoPSLBO(), bo, null, 0, ETipoPago.NORMAL); #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); //Se inserta en la base de datos this.controlador.InsertarCompleto(this.dctx, bo, seguridadBO); //Se consulta lo insertado para recuperar los ID DataSet ds = this.controlador.ConsultarSet(this.dctx, bo); if (ds.Tables[0].Rows.Count <= 0) { throw new Exception("Al consultar lo insertado no se encontraron coincidencias."); } if (ds.Tables[0].Rows.Count > 1) { throw new Exception("Al consultar lo insertado se encontró más de una coincidencia."); } bo.ContratoID = this.controlador.DataRowToContratoPSLBO(ds.Tables[0].Rows[0]).ContratoID; //El proceso de generación de pagos es eliminado de esta sección dctx.CommitTransaction(firma); //Se despliega la información en la Interfaz de Usuario this.DatoAInterfazUsuario(bo); } catch (Exception ex) { dctx.RollbackTransaction(firma); throw new Exception(this.nombreClase + ".Registrar:" + ex.Message); } finally { if (dctx.ConnectionState == ConnectionState.Open) { dctx.CloseConnection(firma); } } }
private LineaContratoPSLBO ObtenerLineaContrato(LineaContratoPSLBO lineaAnterior, UnidadBO unidadNueva, ContratoPSLBO bo) { LineaContratoPSLBO lineaBO = new LineaContratoPSLBO(); lineaBO.Equipo = unidadNueva; lineaBO.TipoTarifa = lineaAnterior.TipoTarifa; lineaBO.Cobrable = new TarifaContratoPSLBO { PeriodoTarifa = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).PeriodoTarifa, Tarifa = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).Tarifa, TarifaHrAdicional = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaHrAdicional, TarifaTurno = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaTurno, TipoTarifaID = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TipoTarifaID, Maniobra = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).Maniobra, TarifaPSLID = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaPSLID, DuracionDiasPeriodo = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).DuracionDiasPeriodo, MaximoHrsTurno = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).MaximoHrsTurno, TarifaDiaria = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaDiaria, TarifaRealAcumulada = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaRealAcumulada, TarifaCobradaAcumulada = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaCobradaAcumulada, TarifaCobradaEnPago = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaCobradaEnPago, TarifaDevueltaNotaC = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaDevueltaNotaC, TarifaDevueltaNotaCAcumulada = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaDevueltaNotaCAcumulada, Activo = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).Activo, PorcentajeDescuento = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).PorcentajeDescuento, PorcentajeDescuentoMaximo = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).PorcentajeDescuentoMaximo, EtiquetaDescuento = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).EtiquetaDescuento, TarifaConDescuento = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaConDescuento, PorcentajeSeguro = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).PorcentajeSeguro }; lineaBO.Activo = true; //Si el tipo de contrato es RO, significa que ya paso al menos por aquí y no será necesario realizar las validaciones de nuevo if (bo.Tipo != ETipoContrato.RO) { switch (vista.UnidadOperativaID) { case (int)ETipoEmpresa.Construccion: if ((EAreaConstruccion)((UnidadBO)lineaAnterior.Equipo).Area == EAreaConstruccion.RO) { bo.Tipo = ETipoContrato.RO; } break; case (int)ETipoEmpresa.Generacion: if ((EAreaGeneracion)((UnidadBO)lineaAnterior.Equipo).Area == EAreaGeneracion.RO) { bo.Tipo = ETipoContrato.RO; } break; case (int)ETipoEmpresa.Equinova: if ((EAreaEquinova)((UnidadBO)lineaAnterior.Equipo).Area == EAreaEquinova.RO) { bo.Tipo = ETipoContrato.RO; } break; default: break; } } return(lineaBO); }
/// <summary> /// Registra un intercambio de unidad /// </summary> private void Registrar() { #region Se inicia la Transaccion dctx.SetCurrentProvider("Outsourcing"); Guid firma = Guid.NewGuid(); try { this.dctx.OpenConnection(firma); this.dctx.BeginTransaction(firma); } catch (Exception) { if (this.dctx.ConnectionState == ConnectionState.Open) { this.dctx.CloseConnection(firma); } throw new Exception("Se encontraron inconsistencias al insertar el Contrato."); } #endregion try { //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 consulta la información del contrato ContratoPSLBO bo = (ContratoPSLBO)this.InterfazUsuarioADato(); UnidadBO unidadNueva = new UnidadBO() { UnidadID = this.vista.IntercambioUnidadID }; unidadNueva = controladorUnidades.ConsultarCompleto(this.dctx, unidadNueva, true).FirstOrDefault(); ContratoPSLBO contratoPrevio = new ContratoPSLBO(bo); if (bo.ObtenerLineaContrato() != null && bo.ObtenerLineaContrato().Equipo != null && bo.ObtenerLineaContrato().Equipo is UnidadBO && ((UnidadBO)bo.ObtenerLineaContrato().Equipo).UnidadID != null) { //Se obtiene el ID de la unidad que será intercambiada UnidadBO unidadActual = new UnidadBO() { UnidadID = this.vista.UnidadID }; LineaContratoPSLBO linea = bo.ObtenerLineaContrato(unidadActual); UnidadBO unidadBO = (UnidadBO)linea.Equipo; if (unidadBO.UnidadID == this.vista.UnidadID) { linea.Activo = false; //Agregar nueva línea al contrato bo.LineasContrato.Add(this.ObtenerLineaContrato(linea, unidadNueva, bo)); } } ContratoPSLBO contratoModificado = bo; //Generamos objeto tipo anexo AnexosContratoPSLBO anexo = new AnexosContratoPSLBO(); anexo.FechaIntercambioUnidad = this.vista.FechaIntercambio; anexo.MontoTotalArrendamiento = contratoModificado.MontoTotalArrendamiento; anexo.TipoAnexoContrato = ETipoAnexoContrato.Intercambio; anexo.Vigente = true; anexo.ContratoPSLID = contratoModificado.ContratoID; anexo.FC = this.vista.FC; anexo.FUA = this.vista.FUA; anexo.UC = this.vista.UC; anexo.UUA = this.vista.UUA; contratoModificado.AnexosContrato.Add(anexo); #region Archivos Adjuntos List <ArchivoBO> adjuntos = presentadorDocumentos.Vista.ObtenerArchivos() ?? new List <ArchivoBO>(); foreach (ArchivoBO adjunto in adjuntos) { if (contratoModificado.Tipo == ETipoContrato.RO) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoRO; } if (contratoModificado.Tipo == ETipoContrato.ROC) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoROC; } if (contratoModificado.Tipo == ETipoContrato.RE) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoRE; } if (contratoModificado.Tipo == ETipoContrato.RD) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoRD; } if (contratoModificado.Tipo == ETipoContrato.FSL) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoFSL; } if (contratoModificado.Tipo == ETipoContrato.CM) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoMantenimiento; } if (contratoModificado.Tipo == ETipoContrato.SD) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoServicioDedicado; } adjunto.Auditoria = new AuditoriaBO { FC = this.vista.FC, UC = this.vista.UC, FUA = this.vista.FUA, UUA = this.vista.UUA }; } contratoModificado.DocumentosAdjuntos = adjuntos; #endregion this.controlador.ActualizarCompleto(this.dctx, contratoModificado, contratoPrevio, seguridadBO); this.vista.UltimoObjeto = contratoModificado; #region Recuperar ID del la línea agregada LineaContratoPSLBO lineaNueva = contratoModificado.LineasContrato .ConvertAll(l => (LineaContratoPSLBO)l) .FirstOrDefault(lc => lc.Equipo.EquipoID == this.vista.IntercambioEquipoID); if (lineaNueva != null) { this.lineaContratoID = lineaNueva.LineaContratoID; } #endregion /Recuperar ID dctx.CommitTransaction(firma); } catch (Exception ex) { dctx.RollbackTransaction(firma); throw new Exception(this.nombreClase + ".Registrar:" + ex.Message); } finally { if (dctx.ConnectionState == ConnectionState.Open) { dctx.CloseConnection(firma); } } }
public void ObtenerDatosUnidad() { if (this.vista.lstUnidades != null) { if (this.vista.lstUnidades.Count > 0) { int? equipoId = this.vista.EquipoID.Value != null ? this.vista.EquipoID.Value : 0; UnidadBO unidad = this.vista.lstUnidades.Where(r => r.EquipoID == this.vista.EquipoID).FirstOrDefault(); if (unidad == null) { throw new Exception("La unidad seleccionada no es valida. Favor de recargar el contrato."); } //revisamos que tenga checklist de recepción ContratoPSLBO bo = (ContratoPSLBO)this.vista.ObtenerPaqueteNavegacion("UltimoContratoPSLBO"); ContratoPSLBR contratoPSLBR = new ContratoPSLBR(); //Obtenemos el Horómetro if (bo != null) { if (bo.LineasContrato != null) { LineaContratoPSLBO lineaContrato = (LineaContratoPSLBO)bo.LineasContrato.Where(r => r.Equipo.EquipoID == equipoId).FirstOrDefault(); //Verificamos que exista un checkList de recepción if (lineaContrato.ListadosVerificacion.Count < 2) { bool existeEntrega = lineaContrato.ListadosVerificacion.Where(r => r.Tipo == ETipoListadoVerificacion.ENTREGA).Any(); if (existeEntrega) { //Obtiene los últimos valores de Combustible y Horómetro List <Int32> linea = contratoPSLBR.ConsultarUltimosCombustibleHorometro(this.dctx, unidad.UnidadID, ETipoListadoVerificacion.ENTREGA); this.vista.PorcentajeUnidadCliente = linea.Count > 0 ? linea[0].ToString() : Convert.ToString(0); this.vista.HorometroUnidadCliente = linea.Count > 0 ? linea[1].ToString() : Convert.ToString(0); } } else { bool existeRecepcion = lineaContrato.ListadosVerificacion.Where(r => r.Tipo == ETipoListadoVerificacion.RECEPCION).Any(); if (existeRecepcion) { if (lineaContrato != null) { //LineaContratoPSLBO lineaContratoBO = new LineaContratoPSLBO(); AVerificacionLineaPSLBO listado = lineaContrato.ObtenerListadoVerificacionPorTipo <AVerificacionLineaPSLBO>(ETipoListadoVerificacion.RECEPCION); //Obtiene los últimos valores de Combustible y Horómetro List <Int32> linea = contratoPSLBR.ConsultarUltimosCombustibleHorometro(this.dctx, unidad.UnidadID, ETipoListadoVerificacion.RECEPCION); this.vista.PorcentajeUnidadCliente = linea.Count > 0 ? linea[0].ToString() : Convert.ToString(0); this.vista.HorometroUnidadCliente = linea.Count > 0 ? linea[1].ToString() : Convert.ToString(0); } } } } else { throw new Exception(this.nombreClase + ".ObtenerDatosUnidad: no se pueden obtener líneas del contrato de esta unidad "); } } else { throw new Exception(this.nombreClase + ".ObtenerDatosUnidad: no se pueden obtener datos del contrato "); } this.vista.ECodeCliente = unidad.NumeroEconomico; //consultamos el modelo this.vista.ModeloCliente = ConsultarModeloUnidad(unidad.IDLider).ConfiguracionModeloMotorizacion.Modelo.Nombre; this.vista.EquipoID = unidad.EquipoID; this.vista.UnidadID = unidad.UnidadID; this.vista.SucursalID = unidad.Sucursal.Id; } } else { throw new Exception(this.nombreClase + ".ObtenerDatosUnidad: no se pueden determinar la unidad del contrato "); } }
/// <summary> /// Obtiene los datos de la Vista /// </summary> /// <returns></returns> private object InterfazUsuarioADato() { UnidadOperativaBO unidadOperativa = new UnidadOperativaBO(); unidadOperativa.Empresa = new EmpresaBO(); if (this.vista.UnidadOperativaID != null) { unidadOperativa.Id = this.vista.UnidadOperativaID; } if (this.vista.UnidadOperativaNombre != null) { unidadOperativa.Nombre = vista.UnidadOperativaNombre; } if (this.presentadorDatosContrato.Vista.NombreEmpresa != null) { unidadOperativa.Empresa.Nombre = this.presentadorDatosContrato.Vista.NombreEmpresa; } ContratoPSLBO bo = new ContratoPSLBO(); bo.Cliente = new CuentaClienteIdealeaseBO(); bo.Cliente.UnidadOperativa = new UnidadOperativaBO(); bo.Divisa = new DivisaBO(); bo.Divisa.MonedaDestino = new MonedaBO(); bo.Sucursal = new SucursalBO(); bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); bo.LineasContrato = new List <ILineaContrato>(); bo.Operador = new OperadorBO(); bo.Operador.Direccion = new DireccionPersonaBO(); bo.Operador.Direccion.Ubicacion = new UbicacionBO() { Ciudad = new CiudadBO(), Estado = new EstadoBO(), Municipio = new MunicipioBO(), Pais = new PaisBO() }; bo.Operador.Licencia = new LicenciaBO(); bo.TasaInteres = this.presentadorDatosContrato.Vista.TasaInteres; //Configuración de días a cobrar bo.IncluyeSD = this.vista.IncluyeSD; bo.Tipo = ETipoContrato.ROC;//Se establece el tipo como ROC. if (this.vista.SucursalSeleccionada != null) { bo.Sucursal.Id = this.vista.SucursalSeleccionada.Id; bo.Sucursal.Nombre = this.vista.SucursalSeleccionada.Nombre; } bo.Sucursal.UnidadOperativa = unidadOperativa; bo.Cliente.UnidadOperativa = unidadOperativa; if (this.vista.CuentaClienteID != null) { bo.Cliente.Id = this.vista.CuentaClienteID; } if (vista.CuentaClienteNombre != null) { bo.Cliente.Nombre = vista.CuentaClienteNombre; } if (this.vista.CodigoMoneda != null) { bo.Divisa.MonedaDestino.Codigo = this.vista.CodigoMoneda; } if (this.vista.RepresentantesLegales != null) { bo.RepresentantesLegales = this.vista.RepresentantesLegales.ConvertAll(s => (PersonaBO)s); } bo.SoloRepresentantes = vista.SoloRepresentantes; bo.Avales = vista.Avales; #region Dirección del Cliente DireccionClienteBO direccion = new DireccionClienteBO { Ubicacion = new UbicacionBO { Pais = new PaisBO { Codigo = this.vista.ClienteDireccionPais }, Municipio = new MunicipioBO { Codigo = this.vista.ClienteDireccionMunicipio }, Estado = new EstadoBO { Codigo = this.vista.ClienteDireccionEstado }, Ciudad = new CiudadBO { Codigo = this.vista.ClienteDireccionCiudad } }, CodigoPostal = this.vista.ClienteDireccionCodigoPostal, Calle = this.vista.ClienteDireccionCalle, Colonia = this.vista.ClienteDireccionColonia, Id = this.vista.ClienteDireccionId }; bo.Cliente.RemoverDirecciones(); bo.Cliente.Agregar(direccion); #endregion if (this.vista.FechaContrato != null) { bo.FechaContrato = this.vista.FechaContrato; } if (this.vista.FechaInicioActual != null) { bo.FechaInicioActual = this.vista.FechaInicioActual; bo.FechaInicioArrendamiento = this.vista.FechaInicioActual; } if (this.vista.FechaPromesaActual != null) { bo.FechaPromesaActual = this.vista.FechaPromesaActual; bo.FechaPromesaDevolucion = this.vista.FechaPromesaActual; } if (this.vista.FormaPagoID != null) { bo.FormaPago = (EFormaPago)Enum.Parse(typeof(EFormaPago), this.vista.FormaPagoID.ToString()); } if (this.vista.FrecuenciaFacturacionID != null) { bo.FrecuenciaFacturacion = (EFrecuencia)Enum.Parse(typeof(EFrecuencia), this.vista.FrecuenciaFacturacionID.ToString()); } if (this.vista.AutorizadorTipoConfirmacion != null) { bo.AutorizadorTipoConfirmacion = this.vista.AutorizadorTipoConfirmacion; } if (this.vista.AutorizadorOrdenCompra != null) { bo.AutorizadorOrdenCompra = this.vista.AutorizadorOrdenCompra; } if (this.vista.DestinoAreaOperacion != null) { bo.DestinoAreaOperacion = this.vista.DestinoAreaOperacion; } if (this.vista.MercanciaTransportar != null) { bo.MercanciaTransportar = this.vista.MercanciaTransportar; } if (this.vista.TipoConfirmacionID != null) { bo.TipoConfirmacion = (ETipoConfirmacion)Enum.Parse(typeof(ETipoConfirmacion), this.vista.TipoConfirmacionID.ToString()); } if (this.vista.Observaciones != null) { bo.Observaciones = this.vista.Observaciones; } if (this.vista.DiasFacturar != null) { bo.DiasFacturar = this.vista.DiasFacturar; } if (this.vista.EstatusID != null) { bo.Estatus = (EEstatusContrato)Enum.Parse(typeof(EEstatusContrato), this.vista.EstatusID.ToString()); } if (this.vista.FC != null) { bo.FC = this.vista.FC; } if (this.vista.UC != null) { bo.UC = this.vista.UC; } if (this.vista.FUA != null) { bo.FUA = this.vista.FUA; } if (this.vista.UUA != null) { bo.UUA = this.vista.UUA; } if (!string.IsNullOrWhiteSpace(this.vista.ClaveProductoServicio)) { if (bo.ProductoServicio == null) { bo.ProductoServicio = new ProductoServicioBO(); } bo.ProductoServicio.Id = this.vista.ProductoServicioId; bo.ProductoServicio.NombreCorto = this.vista.ClaveProductoServicio; bo.ProductoServicio.Nombre = this.vista.DescripcionProductoServicio; } #region ConfiguracionUO.PorcentajeSeguro decimal? porcentajeSeguro = 0; ModuloBR configBR = new ModuloBR(); ConfiguracionUnidadOperativaBO configBO = new ConfiguracionUnidadOperativaBO() { UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativaID } }; List <ConfiguracionUnidadOperativaBO> listConfigUO = new List <ConfiguracionUnidadOperativaBO>(); listConfigUO = configBR.ConsultarConfiguracionUnidadOperativa(dctx, configBO, this.vista.ModuloID); if (listConfigUO != null && listConfigUO.Count > 0) { porcentajeSeguro = listConfigUO[0].PorcentajeSeguro != null ? listConfigUO[0].PorcentajeSeguro : 0; } #endregion #region Campos de ROC bo.MontoTotalArrendamiento = this.vista.MontoTotalArrendamiento; bo.FechaPagoRenta = this.vista.FechaPagoRenta; bo.Plazo = this.vista.Plazo; bo.InversionInicial = this.vista.InversionInicial; #endregion #region Linea de Contrato LineaContratoPSLBO lineaBO = null; foreach (LineaContratoPSLBO linea in this.vista.LineasContrato) { lineaBO = new LineaContratoPSLBO(); lineaBO.Equipo = (UnidadBO)linea.Equipo; lineaBO.TipoTarifa = linea.TipoTarifa; lineaBO.Cobrable = new TarifaContratoPSLBO { PeriodoTarifa = ((TarifaContratoPSLBO)linea.Cobrable).PeriodoTarifa, Tarifa = ((TarifaContratoPSLBO)linea.Cobrable).Tarifa, TarifaHrAdicional = ((TarifaContratoPSLBO)linea.Cobrable).TarifaHrAdicional, TarifaTurno = ((TarifaContratoPSLBO)linea.Cobrable).TarifaTurno, Maniobra = ((TarifaContratoPSLBO)linea.Cobrable).Maniobra, TarifaPSLID = ((TarifaContratoPSLBO)linea.Cobrable).TarifaPSLID, DuracionDiasPeriodo = ((TarifaContratoPSLBO)linea.Cobrable).DuracionDiasPeriodo, MaximoHrsTurno = ((TarifaContratoPSLBO)linea.Cobrable).MaximoHrsTurno, Activo = true, PorcentajeDescuento = ((TarifaContratoPSLBO)linea.Cobrable).PorcentajeDescuento, PorcentajeDescuentoMaximo = ((TarifaContratoPSLBO)linea.Cobrable).PorcentajeDescuentoMaximo, EtiquetaDescuento = ((TarifaContratoPSLBO)linea.Cobrable).EtiquetaDescuento, TarifaConDescuento = ((TarifaContratoPSLBO)linea.Cobrable).TarifaConDescuento, PorcentajeSeguro = porcentajeSeguro }; lineaBO.Activo = linea.Activo; lineaBO.Devuelta = linea.Devuelta; lineaBO.LineaOrigenIntercambioID = linea.LineaOrigenIntercambioID; bo.LineasContrato.Add(lineaBO); } //bo.LineasContrato = this.vista.LineasContrato.ConvertAll(s => (ILineaContrato)s); #endregion #region Archivos Adjuntos List <ArchivoBO> adjuntos = presentadorDocumentos.Vista.ObtenerArchivos() ?? new List <ArchivoBO>(); foreach (ArchivoBO adjunto in adjuntos) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoROC; adjunto.Auditoria = new AuditoriaBO { FC = this.vista.FC, UC = this.vista.UC, FUA = this.vista.FUA, UUA = this.vista.UUA }; } bo.DocumentosAdjuntos = adjuntos; #endregion return(bo); }
/// <summary> /// Despliega los datos a la Vista /// </summary> /// <param name="obj"></param> private void DatoAInterfazUsuario(object obj) { ContratoPSLBO bo = (ContratoPSLBO)obj; this.vista.ContratoID = bo.ContratoID; }
private void DatoAInterfazUsuario(object obj) { ContratoPSLBO bo = (ContratoPSLBO)obj; if (bo == null) { bo = new ContratoPSLBO(); } if (bo.Cliente == null) { bo.Cliente = new CuentaClienteIdealeaseBO(); } if (bo.Divisa == null) { bo.Divisa = new DivisaBO(); } if (bo.Divisa.MonedaDestino == null) { bo.Divisa.MonedaDestino = new MonedaBO(); } if (bo.Operador == null) { bo.Operador = new OperadorBO(); } if (bo.Operador.Direccion == null) { bo.Operador.Direccion = new DireccionPersonaBO(); } if (bo.Operador.Direccion.Ubicacion == null) { bo.Operador.Direccion.Ubicacion = new UbicacionBO(); } if (bo.Operador.Direccion.Ubicacion.Ciudad == null) { bo.Operador.Direccion.Ubicacion.Ciudad = new CiudadBO(); } if (bo.Operador.Direccion.Ubicacion.Estado == null) { bo.Operador.Direccion.Ubicacion.Estado = new EstadoBO(); } if (bo.Operador.Direccion.Ubicacion.Pais == null) { bo.Operador.Direccion.Ubicacion.Pais = new PaisBO(); } if (bo.Operador.Licencia == null) { bo.Operador.Licencia = new LicenciaBO(); } if (bo.Sucursal == null) { bo.Sucursal = new SucursalBO(); } if (bo.Sucursal.UnidadOperativa == null) { bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); } if (bo.CierreContrato == null) { bo.CierreContrato = new CancelacionContratoPSLBO(); } if (bo.CierreContrato.Usuario == null) { bo.CierreContrato.Usuario = new UsuarioBO(); } LineaContratoPSLBO linea = bo.ObtenerLineaContrato(); if (linea == null) { linea = new LineaContratoPSLBO(); } if (linea.Equipo == null) { linea.Equipo = new UnidadBO(); } if (linea.Cobrable == null) { linea.Cobrable = new TarifaContratoPSLBO(); } this.vista.ContratoID = bo.ContratoID; if (bo.Estatus != null) { this.vista.EstatusID = bo.Estatus; } else { this.vista.EstatusID = null; } this.vista.FechaCancelacion = bo.CierreContrato.Fecha; this.vista.ObservacionesCancelacion = bo.CierreContrato.Observaciones; if (bo.CierreContrato is CancelacionContratoPSLBO) { this.vista.MotivoCancelacion = ((CancelacionContratoPSLBO)bo.CierreContrato).Motivo; } else { this.vista.MotivoCancelacion = null; } this.vista.EquipoID = linea.Equipo.EquipoID; if (linea.Equipo is UnidadBO) { this.vista.UnidadID = ((UnidadBO)linea.Equipo).UnidadID; } else { this.vista.UnidadID = null; } this.vista.TipoContrato = (int)bo.Tipo; if (bo.Tipo is ETipoContrato) { this.vista.TipoContrato = (int)bo.Tipo; } else { this.vista.TipoContrato = null; } vista.FechaContrato = bo.FechaContrato; this.presentadorHerramientas.DatosAInterfazUsuario(bo); this.presentadorResumen.DatosAInterfazUsuario(bo); }
private void DatoAInterfazUsuario(object obj) { ContratoPSLBO bo = (ContratoPSLBO)obj; if (bo == null) { bo = new ContratoPSLBO(); } if (bo.Cliente == null) { bo.Cliente = new CuentaClienteIdealeaseBO(); } if (bo.Divisa == null) { bo.Divisa = new DivisaBO(); } if (bo.Divisa.MonedaDestino == null) { bo.Divisa.MonedaDestino = new MonedaBO(); } if (bo.Operador == null) { bo.Operador = new OperadorBO(); } if (bo.Operador.Direccion == null) { bo.Operador.Direccion = new DireccionPersonaBO(); } if (bo.Operador.Direccion.Ubicacion == null) { bo.Operador.Direccion.Ubicacion = new UbicacionBO(); } if (bo.Operador.Direccion.Ubicacion.Ciudad == null) { bo.Operador.Direccion.Ubicacion.Ciudad = new CiudadBO(); } if (bo.Operador.Direccion.Ubicacion.Estado == null) { bo.Operador.Direccion.Ubicacion.Estado = new EstadoBO(); } if (bo.Operador.Direccion.Ubicacion.Pais == null) { bo.Operador.Direccion.Ubicacion.Pais = new PaisBO(); } if (bo.Operador.Licencia == null) { bo.Operador.Licencia = new LicenciaBO(); } if (bo.Sucursal == null) { bo.Sucursal = new SucursalBO(); } if (bo.Sucursal.UnidadOperativa == null) { bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); } if (bo.CierreContrato == null) { bo.CierreContrato = new CancelacionContratoPSLBO(); } if (bo.CierreContrato.Usuario == null) { bo.CierreContrato.Usuario = new UsuarioBO(); } if (bo.LineasContrato != null) { this.vista.LineasContrato = bo.LineasContrato.ConvertAll(a => (LineaContratoPSLBO)a).Where(x => x.Activo == true).ToList(); } //Cierre del Contrato if (bo.CierreContrato is CierreContratoPSLBO) { this.vista.ImporteReembolso = ((CierreContratoPSLBO)bo.CierreContrato).ImporteReembolso; this.vista.PersonaRecibeReembolso = ((CierreContratoPSLBO)bo.CierreContrato).PersonaRecibeReembolso; } else { this.vista.ImporteReembolso = null; this.vista.PersonaRecibeReembolso = null; } foreach (var item in bo.LineasContrato) { if (item.Activo.HasValue && item.Activo == true) { LineaContratoPSLBO linea = new LineaContratoPSLBO((LineaContratoPSLBO)item); if (linea == null) { linea = new LineaContratoPSLBO(); } if (linea.Equipo == null) { linea.Equipo = new UnidadBO(); } if (linea.Cobrable == null) { linea.Cobrable = new TarifaContratoPSLBO(); } this.vista.EquipoID = linea.Equipo.EquipoID; if (linea.Equipo is UnidadBO) { this.vista.UnidadID = ((UnidadBO)linea.Equipo).UnidadID; } else { this.vista.UnidadID = null; } if (linea.Equipo.ActivoFijo != null && linea.Equipo.ActivoFijo.CostoSinIva != null) { Decimal?montoDeducibleCalcuado = 0; montoDeducibleCalcuado = linea.Equipo.ActivoFijo.CostoSinIva; var unidad = (UnidadBO)linea.Equipo; if (unidad.EquiposAliados.Count > 0) { montoDeducibleCalcuado = unidad.EquiposAliados.Aggregate(montoDeducibleCalcuado, (monto, equipoAliado) => equipoAliado.ActivoFijo != null ? equipoAliado.ActivoFijo.CostoSinIva != null ? monto + equipoAliado.ActivoFijo.CostoSinIva : monto : monto); } this.vista.ImporteDeposito = bo.CalcularMontoDeposito(montoDeducibleCalcuado.Value); } else { this.vista.ImporteDeposito = null; } } } this.vista.ContratoID = bo.ContratoID; if (bo.Estatus != null) { this.vista.EstatusID = (int)bo.Estatus; } else { this.vista.EstatusID = null; } this.vista.ContratoID = bo.ContratoID; this.vista.TipoContrato = (int)bo.Tipo; vista.FechaContrato = bo.FechaContrato; this.vista.UltimoObjeto = bo; this.presentadorHerramientas.DatosAInterfazUsuario(bo); this.presentadorResumen.DatosAInterfazUsuario(bo); }
/// <summary> /// Despliega la información del contrato en la Vista /// </summary> /// <param name="contrato"></param> public void DatosAInterfazUsuario(ContratoPSLBO contrato) { if (contrato == null) { contrato = new ContratoPSLBO(); } 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 != null) { 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(); }