private void ArmarReporte()
            {
                mTerceros oTer = new mTerceros();
                vTerceros TerAge = oTer.GetTercerobyId(AgenteRecaudador);
                short Vig = short.Parse(Vigencia);

                vBASES_LIQ BaseL = new vBASES_LIQ();

                DateTime FechaActual = DateTime.Now;
                BaseL.BALI_NRAD = 0;
                BaseL.BALI_NIT = AgenteRecaudador;
                BaseL.BALI_CDEC = "40";
                BaseL.BALI_AÑO = Vigencia;
                BaseL.BALI_PERI = Periodo;
                BaseL.BALI_ARCH = "2534.txt"; // Que es esto???
                BaseL.BALI_EST = "AC";
                BaseL.BALI_USAP = AgenteRecaudador;
                BaseL.BALI_USBD = "DERWEB";
                BaseL.BALI_FESI = FechaActual;
                BaseL.BALI_FECH = FechaActual;
                BaseL.BALI_FDCO = "4001";
                BaseL.BALI_FREG = FechaActual;
                BaseL.BALI_FNOV = FechaActual;
                BaseL.FM_BASESLIQ01 = new List<vFM_BASESLIQ01>();

                foreach (SL_LIQESTAMPILLAS item in lLiquidaciones)
                {
                    SL_TERCEROS Contr = ctx.SL_TERCEROS.Where(t => t.TER_NIT == item.TER_NIT).FirstOrDefault();

                    foreach (SL_DETLIQ item2 in item.SL_DETLIQ)
                    {
                        vFM_BASESLIQ01 FmBase = new vFM_BASESLIQ01();
                        FmBase.NIT_AR = long.Parse(AgenteRecaudador);
                        FmBase.DV_AR = short.Parse(TerAge.TER_DVER);
                        FmBase.CDEC = "40";
                        FmBase.IMPTO = item2.COD_IMP;
                        FmBase.AGRAVABLE = Vigencia;
                        FmBase.PGRAVABLE = Periodo;
                        FmBase.NDOC = long.Parse(item.NRO_LIQ.ToString());
                        FmBase.FOPER = (DateTime)item.SL_PAGOS.Where(t => t.ESTADO == "AC").FirstOrDefault().FEC_PAGO;
                        FmBase.TIDE = item2.SL_LIQESTAMPILLAS.SL_TERCEROS.TER_TDOC;
                        FmBase.NIDE = long.Parse(item2.SL_LIQESTAMPILLAS.SL_TERCEROS.TER_NIT);
                        if (Contr.TER_DVER != null) FmBase.DV = short.Parse(Contr.TER_DVER); else FmBase.DV = short.Parse("4");
                        FmBase.RAZSOC = item2.SL_LIQESTAMPILLAS.SL_TERCEROS.TER_NOM;
                        FmBase.CONCEPTO = "CONTRATO " + item.NUM_CTO;
                        FmBase.VALORBASE = (decimal)item2.VAL_BAS;
                        FmBase.TARIFA = (decimal)item2.TAR_IMP;
                        FmBase.VALORIMPTO = FmBase.VALORBASE * FmBase.TARIFA;
                        FmBase.NRO_RAD = 0;
                        FmBase.USAP = AgenteRecaudador;
                        //FmBase.USBD = "DERWEB";
                        FmBase.FESI = FechaActual;
                        FmBase.FREG = FechaActual;
                        FmBase.FNOV = FechaActual;
                        FmBase.COD_MPIO = "";

                        BaseL.FM_BASESLIQ01.Add(FmBase);
                    }
                    item.REPLICADO = "SI";
                }
                oDto = BaseL;
            }
 protected internal override bool esValido()
 {
     BASES_LIQ BaseOld = ctx.BASES_LIQ.Where(t => t.BALI_NIT == AgenteRecaudador && t.BALI_PERI == Periodo && t.BALI_CDEC == "40" && t.BALI_AÑO == Vigencia && t.BALI_EST == "AC").FirstOrDefault();
     if (BaseOld == null)
     {
         vBASES_LIQ BaseL = new vBASES_LIQ();
         lLiquidaciones = ctx.SL_LIQESTAMPILLAS.Where(t => t.AGE_REC == AgenteRecaudador && t.ESTADO == "PA" && t.PER_PAG == Periodo && t.VIG_PAG == Vigencia).ToList();
         if (lLiquidaciones.Count() > 0)
         {
             return true;
         }
         else
         {
             byaRpt.Error = true;
             byaRpt.Mensaje = "No existen liquidaciones pagas para este periodo!!";
             return byaRpt;
         }
     }
     else
     {
         byaRpt.Error = true;
         byaRpt.Mensaje = "Ya Existe un archivo para el Año Gravable " + Vigencia + " y periodo Gravable " + Periodo;
         return false;
     }
 }