/// <summary> /// Cancela los pagos restantes de un contrato /// </summary> /// <param name="pagosList">Listado de Pagos</param> /// <param name="fechaCierre">Fecha de Cierre del Contrato</param> /// <param name="seguridadBo">Seguridad del Usuario Actual</param> private void CancelarPagosPosteriores(List <PagoUnidadContratoManttoBO> pagosList, DateTime?fechaCierre, SeguridadBO seguridadBo) { foreach (var pago in pagosList) { if (pago.FechaVencimiento >= fechaCierre && pago.EnviadoFacturacion == false) { var anterior = new PagoUnidadContratoManttoBO(pago); pago.Activo = false; anterior.Auditoria = new AuditoriaBO { FC = pago.Auditoria.FC, UC = pago.Auditoria.UC, FUA = pago.Auditoria.FUA, UUA = pago.Auditoria.UUA }; pagoCtrl.Actualizar(dctx, pago, anterior, seguridadBo); } } }
/// <summary> /// Decide que controlador usar para consultar pagos /// </summary> private List <PagoUnidadContratoBO> ConsultarPagos(Int32?pagoId, Int32?referenciaContratoId, Int32?unidadId, ETipoContrato?tipoContrato, Boolean esCompleto) { var listaPagos = new List <PagoUnidadContratoBO>(); PagoUnidadContratoBR pagoBr = null; PagoUnidadContratoBO pago = new PagoUnidadContratoBOF(); switch (tipoContrato) { case ETipoContrato.FSL: pagoBr = new PagoUnidadContratoFSLBR(); pago = new PagoUnidadContratoFSLBO() { Tarifa = new TarifaPagoEquipoBO() }; break; case ETipoContrato.RD: pagoBr = new PagoUnidadContratoRDBR(); pago = new PagoUnidadContratoRDBO() { Tarifa = new TarifaPagoEquipoBO() }; break; case ETipoContrato.CM: case ETipoContrato.SD: pagoBr = new PagoUnidadContratoBR(); pago = new PagoUnidadContratoManttoBO(tipoContrato.Value) { Tarifa = new TarifaPagoEquipoBO() }; break; } if (pagoId != null) { pago.PagoID = pagoId; } if (referenciaContratoId != null) { pago.ReferenciaContrato = new ReferenciaContratoBO() { ReferenciaContratoID = referenciaContratoId } } ; if (unidadId != null) { pago.Unidad = new UnidadBO() { UnidadID = unidadId } } ; switch (tipoContrato) { case ETipoContrato.FSL: listaPagos.AddRange(esCompleto ? ((PagoUnidadContratoFSLBR)pagoBr).ConsultarCompleto(this.dataContext, (PagoUnidadContratoFSLBO)pago, true) : ((PagoUnidadContratoFSLBR)pagoBr).Consultar(this.dataContext, (PagoUnidadContratoFSLBO)pago)); break; case ETipoContrato.RD: listaPagos.AddRange(esCompleto ? ((PagoUnidadContratoRDBR)pagoBr).ConsultarCompleto(this.dataContext, (PagoUnidadContratoRDBO)pago) : ((PagoUnidadContratoRDBR)pagoBr).Consultar(this.dataContext, (PagoUnidadContratoRDBO)pago)); break; case ETipoContrato.CM: case ETipoContrato.SD: listaPagos.AddRange(esCompleto ? pagoBr.ConsultarCompleto(this.dataContext, pago) : pagoBr.Consultar(this.dataContext, pago)); break; } return(listaPagos); }