private ArrayList ProcesarCantPlanBSCS(DataTable dtDetalle)
        {
            PlanBilletera objPlan;
            ArrayList     objLista = new ArrayList();

            foreach (DataRow dr in dtDetalle.Rows)
            {
                objPlan                = new PlanBilletera();
                objPlan.Plan           = dr["TMCODE"].ToString();
                objPlan.tipoFacturador = PlanBilletera.TIPO_FACTURADOR.BSCS;
                int nroPlanes = 0;

                objPlan.oBilletera = new ArrayList();
                if (Funciones.CheckInt(dr["NRO_MOVIL"]) > 0)
                {
                    nroPlanes            = Funciones.CheckInt(dr["NRO_MOVIL"]);
                    objPlan.idBilletera += (int)(Billetera.TIPO_BILLETERA.MOVIL);
                    objPlan.oBilletera.Add(new Billetera((int)(Billetera.TIPO_BILLETERA.MOVIL), nroPlanes));
                }
                if (Funciones.CheckInt(dr["NRO_INTERNET_FIJO"]) > 0)
                {
                    nroPlanes            = Funciones.CheckInt(dr["NRO_INTERNET_FIJO"]);
                    objPlan.idBilletera += (int)(Billetera.TIPO_BILLETERA.INTERNET);
                    objPlan.oBilletera.Add(new Billetera((int)(Billetera.TIPO_BILLETERA.INTERNET), nroPlanes));
                }
                if (Funciones.CheckInt(dr["NRO_CLARO_TV"]) > 0)
                {
                    nroPlanes            = Funciones.CheckInt(dr["NRO_CLARO_TV"]);
                    objPlan.idBilletera += (int)(Billetera.TIPO_BILLETERA.CLAROTV);
                    objPlan.oBilletera.Add(new Billetera((int)(Billetera.TIPO_BILLETERA.CLAROTV), nroPlanes));
                }
                if (Funciones.CheckInt(dr["NRO_TELEF_FIJA"]) > 0)
                {
                    nroPlanes            = Funciones.CheckInt(dr["NRO_TELEF_FIJA"]);
                    objPlan.idBilletera += (int)(Billetera.TIPO_BILLETERA.TELEFONIA);
                    objPlan.oBilletera.Add(new Billetera((int)(Billetera.TIPO_BILLETERA.TELEFONIA), nroPlanes));
                }
                if (Funciones.CheckInt(dr["NRO_BAM"]) > 0)
                {
                    nroPlanes            = Funciones.CheckInt(dr["NRO_BAM"]);
                    objPlan.idBilletera += (int)(Billetera.TIPO_BILLETERA.BAM);
                    objPlan.oBilletera.Add(new Billetera((int)(Billetera.TIPO_BILLETERA.BAM), nroPlanes));
                }

                objPlan.nroPlanes = nroPlanes;
                objPlan.tipoPlan  = PlanBilletera.TIPO_PLAN.MOVIL;
                if (Funciones.CheckInt(dr["NRO_BAM"]) > 0)
                {
                    objPlan.tipoPlan = PlanBilletera.TIPO_PLAN.DATOS;
                }

                objLista.Add(objPlan);
            }
            return(objLista);
        }
Esempio n. 2
0
        //PROY-24740
        public ArrayList ObtenerBilleteraxPlan(string strListaPlan)
        {
            DAABRequest.Parameter[] arrParam =
            {
                new DAABRequest.Parameter("P_PLANES", DbType.String, 4000, ParameterDirection.Input),
                new DAABRequest.Parameter("P_CURSOR", DbType.Object, ParameterDirection.Output)
            };
            arrParam[0].Value = strListaPlan;

            BDSISACT    obj        = new BDSISACT(BaseDatos.BD_SISACT);
            DAABRequest objRequest = obj.CreaRequest();

            objRequest.CommandType = CommandType.StoredProcedure;
            objRequest.Command     = string.Format("{0}{1}", BaseDatos.PKG_SISACT_EVALUACION_UNI, ".SP_PLAN_X_PRODUCTO");
            objRequest.Parameters.AddRange(arrParam);

            ArrayList     objLista     = new ArrayList();
            ArrayList     objListaPlan = new ArrayList();
            PlanBilletera objItem;
            Billetera     objBilletera;
            string        plan;
            IDataReader   dr = null;

            try
            {
                dr = objRequest.Factory.ExecuteReader(ref objRequest).ReturnDataReader;
                while (dr.Read())
                {
                    plan         = Funciones.CheckStr(dr["PLAN"]);
                    objBilletera = new Billetera(Funciones.CheckInt(dr["PRODUCTO"]), Funciones.CheckStr(dr["DESCRIPCION"]));

                    if (!objListaPlan.Contains(plan))
                    {
                        objItem            = new PlanBilletera();
                        objItem.Plan       = plan;
                        objItem.oBilletera = new ArrayList();
                        objItem.oBilletera.Add(objBilletera);

                        objLista.Add(objItem);
                        objListaPlan.Add(plan);
                    }
                }
            }
            finally
            {
                if (dr != null && dr.IsClosed == false)
                {
                    dr.Close();
                }
                objRequest.Parameters.Clear();
                objRequest.Factory.Dispose();
            }
            return(objLista);
        }
Esempio n. 3
0
        //PROY-24740
        public ArrayList ObtenerPlanesxBilletera(int flgSistema)
        {
            DAABRequest.Parameter[] arrParam =
            {
                new DAABRequest.Parameter("P_CONSULTA", DbType.Object, ParameterDirection.Output),
                new DAABRequest.Parameter("P_SISTEMA",  DbType.Int16,  ParameterDirection.Input)
            };
            arrParam[1].Value = flgSistema;

            BDSISACT    obj        = new BDSISACT(BaseDatos.BD_SISACT);
            DAABRequest objRequest = obj.CreaRequest();

            objRequest.CommandType = CommandType.StoredProcedure;
            objRequest.Command     = string.Format("{0}{1}", BaseDatos.PKG_SISACT_EVALUACION_UNI, ".SP_CON_PLAN_BILLETERA");
            objRequest.Parameters.AddRange(arrParam);

            ArrayList     objLista     = new ArrayList();
            ArrayList     objListaPlan = new ArrayList();
            PlanBilletera objItem;
            Billetera     objBilletera;
            string        plan;
            IDataReader   dr = null;

            try
            {
                dr = objRequest.Factory.ExecuteReader(ref objRequest).ReturnDataReader;
                while (dr.Read())
                {
                    plan         = Funciones.CheckStr(dr["SOLV_CODIGO"]);
                    objBilletera = new Billetera(Funciones.CheckInt(dr["PRCLV_CODIGO"]), 1);
                    if (!objListaPlan.Contains(plan))
                    {
                        objItem            = new PlanBilletera();
                        objItem.Plan       = plan;
                        objItem.oBilletera = new ArrayList();
                        objItem.oBilletera.Add(objBilletera);
                        objLista.Add(objItem);
                        objListaPlan.Add(plan);
                    }
                }
            }
            finally
            {
                if (dr != null && dr.IsClosed == false)
                {
                    dr.Close();
                }
                objRequest.Parameters.Clear();
                objRequest.Factory.Dispose();
            }
            return(objLista);
        }
        private void ProcesarDetalleSISACT(DataTable dtDetalleSISACT, ref ArrayList objListaMontoFactura, ref ArrayList objListaPlanActivos)
        {
            PlanBilletera objPlan;
            int           intSistemaSISACT = (int)PlanBilletera.TIPO_SISTEMA.SISACT;
            ArrayList     objListaPlan     = (new EvaluacionNegocio()).ObtenerPlanesxBilletera(intSistemaSISACT);

            if (objListaMontoFactura == null)
            {
                objListaMontoFactura = new ArrayList();
            }
            if (objListaPlanActivos == null)
            {
                objListaPlanActivos = new ArrayList();
            }

            foreach (DataRow dr in dtDetalleSISACT.Rows)
            {
                objPlan                  = new PlanBilletera();
                objPlan.Plan             = dr["PLAN_BSCS"].ToString();
                objPlan.MontoFacturado   = 0;
                objPlan.MontoNoFacturado = Funciones.CheckDbl(dr["CARGO_FIJO"], 2);

                objPlan.tipoPlan       = PlanBilletera.TIPO_PLAN.MOVIL;
                objPlan.tipoFacturador = PlanBilletera.TIPO_FACTURADOR.BSCS;
                objPlan.nroPlanes      = 1;

                ArrayList objListaBilletera = null;
                foreach (PlanBilletera obj in objListaPlan)
                {
                    if (obj.Plan == objPlan.Plan)
                    {
                        objListaBilletera = obj.oBilletera;
                        break;
                    }
                }

                if (objListaBilletera != null)
                {
                    objPlan.oBilletera = new ArrayList();
                    foreach (Billetera obj in objListaBilletera)
                    {
                        objPlan.idBilletera += obj.idBilletera;
                        objPlan.oBilletera.Add(new Billetera(obj.idBilletera, 1));

                        if (obj.idBilletera == (int)Billetera.TIPO_BILLETERA.BAM)
                        {
                            objPlan.tipoPlan = PlanBilletera.TIPO_PLAN.DATOS;
                        }
                    }
                }
                else
                {
                    objPlan.idBilletera = (int)Billetera.TIPO_BILLETERA.MOVIL;

                    objPlan.oBilletera = new ArrayList();
                    objPlan.oBilletera.Add(new Billetera((int)(Billetera.TIPO_BILLETERA.MOVIL), 1));
                }

                objListaPlanActivos.Add(objPlan);
                objListaMontoFactura.Add(objPlan);
            }
        }
        private void ProcesarDetalleSGA(DataTable dtDetalleSGA, ref ArrayList objListaMontoFactura, ref ArrayList objListaPlanActivos, ref int intMesesPermanencia)
        {
            System.DateTime datFechaActiva;
            int             intMeses = 0;

            intMesesPermanencia = 0;
            PlanBilletera objPlan;
            int           intSistemaSGA = (int)PlanBilletera.TIPO_SISTEMA.SGA;
            ArrayList     objListaPlan  = (new EvaluacionNegocio()).ObtenerPlanesxBilletera(intSistemaSGA);

            if (objListaMontoFactura == null)
            {
                objListaMontoFactura = new ArrayList();
            }
            if (objListaPlanActivos == null)
            {
                objListaPlanActivos = new ArrayList();
            }

            foreach (DataRow dr in dtDetalleSGA.Rows)
            {
                if (dr["ESTADO"].ToString().ToUpper() == "ACTIVO")
                {
                    objPlan                  = new PlanBilletera();
                    objPlan.Plan             = dr["IDPAQ"].ToString();
                    objPlan.MontoFacturado   = Funciones.CheckDbl(dr["PROM_FAC"], 2);
                    objPlan.MontoNoFacturado = Funciones.CheckDbl(dr["MONTO_NO_FAC"], 2);

                    objPlan.tipoFacturador = PlanBilletera.TIPO_FACTURADOR.SGA;
                    objPlan.nroPlanes      = 1;

                    ArrayList objListaBilletera = null;
                    foreach (PlanBilletera obj in objListaPlan)
                    {
                        if (obj.Plan == objPlan.Plan)
                        {
                            objListaBilletera = obj.oBilletera;
                            break;
                        }
                    }

                    if (objListaBilletera != null)
                    {
                        objPlan.oBilletera = new ArrayList();
                        foreach (Billetera obj in objListaBilletera)
                        {
                            objPlan.idBilletera += obj.idBilletera;
                            objPlan.oBilletera.Add(new Billetera(obj.idBilletera, 1));
                        }
                    }
                    else
                    {
                        objPlan.idBilletera = (int)Billetera.TIPO_BILLETERA.TRIPLEPLAY;

                        objPlan.oBilletera = new ArrayList();
                        objPlan.oBilletera.Add(new Billetera((int)(Billetera.TIPO_BILLETERA.INTERNET), 1));
                        objPlan.oBilletera.Add(new Billetera((int)(Billetera.TIPO_BILLETERA.CLAROTV), 1));
                        objPlan.oBilletera.Add(new Billetera((int)(Billetera.TIPO_BILLETERA.TELEFONIA), 1));
                    }

                    objListaPlanActivos.Add(objPlan);
                    objListaMontoFactura.Add(objPlan);

                    if (dr["FECHA_ACTIVACION"].ToString() != String.Empty)
                    {
                        datFechaActiva = DateTime.Parse(dr["FECHA_ACTIVACION"].ToString());
                        intMeses       = (DateTime.Now.Subtract(datFechaActiva).Days / 30);
                        if (intMesesPermanencia < intMeses)
                        {
                            intMesesPermanencia = intMeses;
                        }
                    }
                }
            }
        }
        private void ProcesarDetalleBSCS(DataTable dtDetalleBSCS, ref ArrayList objListaMontoFactura, ref ArrayList objListaPlanActivos, ref int intMesesPermanencia)
        {
            System.DateTime datFechaActiva;
            int             intMeses = 0;

            intMesesPermanencia = 0;

            if (objListaMontoFactura == null)
            {
                objListaMontoFactura = new ArrayList();
            }
            ArrayList     objListaCuenta = new ArrayList();
            PlanBilletera objBilletera;
            String        strCuenta;

            foreach (DataRow dr in dtDetalleBSCS.Rows)
            {
                strCuenta = dr["CUENTA"].ToString();
                if (!objListaCuenta.Contains(strCuenta))
                {
                    if (dr["ESTADO"].ToString().ToUpper() == "ACTIVO")
                    {
                        objBilletera                  = new PlanBilletera();
                        objBilletera.Cuenta           = strCuenta;
                        objBilletera.MontoFacturado   = Funciones.CheckDbl(dr["PROM_FACT"], 2);
                        objBilletera.MontoNoFacturado = Funciones.CheckDbl(dr["MONTO_NO_FACT"], 2);

                        int intCodBilletera = 0;
                        if (Funciones.CheckInt(dr["NRO_MOVIL"]) > 0)
                        {
                            intCodBilletera += (int)Billetera.TIPO_BILLETERA.MOVIL;
                        }
                        if (Funciones.CheckInt(dr["NRO_INTERNET_FIJO"]) > 0)
                        {
                            intCodBilletera += (int)Billetera.TIPO_BILLETERA.INTERNET;
                        }
                        if (Funciones.CheckInt(dr["NRO_CLARO_TV"]) > 0)
                        {
                            intCodBilletera += (int)Billetera.TIPO_BILLETERA.CLAROTV;
                        }
                        if (Funciones.CheckInt(dr["NRO_TELEF_FIJA"]) > 0)
                        {
                            intCodBilletera += (int)Billetera.TIPO_BILLETERA.TELEFONIA;
                        }
                        if (Funciones.CheckInt(dr["NRO_BAM"]) > 0)
                        {
                            intCodBilletera += (int)Billetera.TIPO_BILLETERA.BAM;
                        }

                        objBilletera.idBilletera = intCodBilletera;

                        objListaMontoFactura.Add(objBilletera);
                        objListaCuenta.Add(strCuenta);
                    }
                }

                if (tipoDocumento != constCodTipoDocRUC)
                {
                    //Consulta Apadece Vigente SIGA PENDIENTE

                    if (dr["ESTADO"].ToString().ToUpper() == "ACTIVO" && dr["FECHA_ACTIVACION"].ToString() != String.Empty)
                    {
                        datFechaActiva = DateTime.Parse(dr["FECHA_ACTIVACION"].ToString());
                        intMeses       = (DateTime.Now.Subtract(datFechaActiva).Days / 30);
                        if (intMesesPermanencia < intMeses)
                        {
                            intMesesPermanencia = intMeses;
                        }
                    }
                }
                else
                {
                    if (dr["FECHA_ACTIVACION"].ToString() != String.Empty)
                    {
                        datFechaActiva = DateTime.Parse(dr["FECHA_ACTIVACION"].ToString());
                        intMeses       = (DateTime.Now.Subtract(datFechaActiva).Days / 30);
                        if (intMesesPermanencia < intMeses)
                        {
                            intMesesPermanencia = intMeses;
                        }
                    }
                }
            }

            // Detalle Cantidad de Planes x Billetera
            DataTable dtListaCantPlanBSCS = (new ConsumerNegocio()).ListarCantPlanxBilleteraBSCS(objDocumento.ID_BSCS, nroDocumento);

            objListaPlanActivos = ProcesarCantPlanBSCS(dtListaCantPlanBSCS);
        }