public vSL_LIQESTAMPILLAS GetLiquidacionTotal(DateTime FechaVen, string Username, decimal VAL_BAS)
        {
            BLL.SignusFacade.ParametrosLiq o = new SignusFacade.ParametrosLiq();
            o.Fecha_Lim = FechaVen;
            o.UserName = Username;
            o.Val_Base = VAL_BAS;

            SignusFacade osig = new SignusFacade();
            vSL_LIQESTAMPILLAS liq = osig.Liquidacion(o);

            return liq;
        }
        public vCONSOLTA_COMPLETA ConsultaLE(string Vigencia, string Periodo, string AgenteRecaudador)
        {
            using (ctx = new Entities())
            {
                short Vig = short.Parse(Vigencia);
                List<vCONSULTALE> Consulta = new List<vCONSULTALE>();
                vCONSOLTA_COMPLETA CON_COM = new vCONSOLTA_COMPLETA();

                decimal TotalPagado = 0;
                decimal TotalLiquidado = 0;

                SignusFacade oSignus = new SignusFacade();
                List<BLL.SignusFacade.ImpuestosTarDto> Impuestos = oSignus.GetImpuestos();
                foreach (BLL.SignusFacade.ImpuestosTarDto item in Impuestos)
                {
                    vCONSULTALE oCon = new vCONSULTALE();
                    oCon.COD_IMP = item.Cod_Imp;
                    oCon.NOM_IMP = item.Nom_Imp;
                    oCon.TOTAL_LIQUIDADO = 0;
                    oCon.TOTAL_PAGADO = 0;
                    Consulta.Add(oCon);
                }

                List<SL_LIQESTAMPILLAS> lLiquidacionesAgente = new List<SL_LIQESTAMPILLAS>();

                if (AgenteRecaudador != "") lLiquidacionesAgente = ctx.SL_LIQESTAMPILLAS.Where(t => ((t.VIG_LIQ == Vig && t.PER_LIQ == Periodo) || (t.VIG_PAG == Vigencia && t.PER_PAG == Periodo)) && t.AGE_REC == AgenteRecaudador).ToList();
                else lLiquidacionesAgente = ctx.SL_LIQESTAMPILLAS.Where(t => ((t.VIG_LIQ == Vig && t.PER_LIQ == Periodo) || (t.VIG_PAG == Vigencia && t.PER_PAG == Periodo))).ToList();

                foreach (SL_LIQESTAMPILLAS item2 in lLiquidacionesAgente)
                {
                    foreach (SL_DETLIQ item3 in item2.SL_DETLIQ)
                    {
                        if (item2.ESTADO == "LI")
                        {
                            TotalLiquidado += (decimal)(item3.TAR_IMP * item3.VAL_BAS);
                            Consulta.Where(t => t.COD_IMP == item3.COD_IMP).FirstOrDefault().TOTAL_LIQUIDADO += (decimal)(item3.TAR_IMP * item3.VAL_BAS);
                        }
                        if ((item2.ESTADO == "PA") && (item2.PER_PAG == Periodo))
                        {
                           TotalPagado += (decimal)(item3.TAR_IMP * item3.VAL_BAS);
                           Consulta.Where(t => t.COD_IMP == item3.COD_IMP).FirstOrDefault().TOTAL_PAGADO += (decimal)(item3.TAR_IMP * item3.VAL_BAS);
                        }

                    }
                }

                vCONSULTALE totales = new vCONSULTALE();
                totales.NOM_IMP = "<div class='text-right'>Total</div>";
                totales.TOTAL_PAGADO = TotalPagado;
                totales.TOTAL_LIQUIDADO = TotalLiquidado;
                Consulta.Add(totales);

                CON_COM.CONSULTA = Consulta;

                CON_COM.FECHA_VENCIMIENTO = (DateTime) ctx.CALENDARIO.Where(t => t.CAL_CLA == "40" && t.CAL_VIG == Vigencia && t.CAL_PER == Periodo).FirstOrDefault().CAL_FVEN;
                BASES_LIQ repo = 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 (repo == null) CON_COM.ESTADO = "NO REPORTADO";
                else CON_COM.ESTADO = "REPORTADO";

                return CON_COM;
            }
        }
 public DateTime GetCalcularFechaVencimiento(DateTime FechaSuscripcion)
 {
     SignusFacade osig = new SignusFacade();
     return osig.CalcularFechaVencimiento(FechaSuscripcion);
 }
        public vSL_LIQESTAMPILLAS Get(decimal NRO_LIQ, string VIGENCIA)
        {
            using (ctx = new Entities())
            {
                short Vig = short.Parse(VIGENCIA);

                vSL_LIQESTAMPILLAS r = new vSL_LIQESTAMPILLAS();
                SL_LIQESTAMPILLAS o = ctx.SL_LIQESTAMPILLAS.Where(t => t.NRO_LIQ == NRO_LIQ && t.VIG_LIQ == Vig).FirstOrDefault();

                if (o != null)
                {

                    TERCEROS ter = ctx.TERCEROS.Where(t => t.TER_NIT == o.AGE_REC).FirstOrDefault();

                    List<BLL.SignusFacade.ImpuestosTarDto> lImp = new List<BLL.SignusFacade.ImpuestosTarDto>();
                    SignusFacade oSignusFacade = new SignusFacade();
                    lImp = oSignusFacade.GetImpuestos();

                    Mapper.Map(o, r);

                    r.NOM_AGE = ter.TER_NOM;

                    foreach (vSL_DETLIQ item in r.lDetallesLiquidacion)
                    {
                        item.NOM_IMP = lImp.Where(t => t.Cod_Imp == item.COD_IMP).FirstOrDefault().Nom_Imp;
                    }
                    return r;
                }
                else return null;
            }
        }