Beispiel #1
0
        private void BuildMontosConsolContable(DataRow rubroMontosRow, CentroCostos centroCostos, Int64 modeloId, Int64 rubroId, DateTime fechaactual)
        {
            MontosConsolidados montos = new MontosConsolidados();

            montos.activo = true;
            montos.enero_abono_resultado      = ToDouble(rubroMontosRow["eneabonos"]);
            montos.enero_cargo_resultado      = ToDouble(rubroMontosRow["enecargos"]);
            montos.enero_total_resultado      = ToDouble(rubroMontosRow["enetotal"]);
            montos.febrero_abono_resultado    = ToDouble(rubroMontosRow["febabonos"]);
            montos.febrero_cargo_resultado    = ToDouble(rubroMontosRow["febcargos"]);
            montos.febrero_total_resultado    = ToDouble(rubroMontosRow["febtotal"]);
            montos.marzo_abono_resultado      = ToDouble(rubroMontosRow["marabonos"]);
            montos.marzo_cargo_resultado      = ToDouble(rubroMontosRow["marcargos"]);
            montos.marzo_total_resultado      = ToDouble(rubroMontosRow["martotal"]);
            montos.abril_abono_resultado      = ToDouble(rubroMontosRow["abrabonos"]);
            montos.abril_cargo_resultado      = ToDouble(rubroMontosRow["abrcargos"]);
            montos.abril_total_resultado      = ToDouble(rubroMontosRow["abrtotal"]);
            montos.mayo_abono_resultado       = ToDouble(rubroMontosRow["mayabonos"]);
            montos.mayo_cargo_resultado       = ToDouble(rubroMontosRow["maycargos"]);
            montos.mayo_total_resultado       = ToDouble(rubroMontosRow["maytotal"]);
            montos.junio_abono_resultado      = ToDouble(rubroMontosRow["junabonos"]);
            montos.junio_cargo_resultado      = ToDouble(rubroMontosRow["juncargos"]);
            montos.junio_total_resultado      = ToDouble(rubroMontosRow["juntotal"]);
            montos.julio_abono_resultado      = ToDouble(rubroMontosRow["julabonos"]);
            montos.julio_cargo_resultado      = ToDouble(rubroMontosRow["julcargos"]);
            montos.julio_total_resultado      = ToDouble(rubroMontosRow["jultotal"]);
            montos.agosto_abono_resultado     = ToDouble(rubroMontosRow["agoabonos"]);
            montos.agosto_cargo_resultado     = ToDouble(rubroMontosRow["agocargos"]);
            montos.agosto_total_resultado     = ToDouble(rubroMontosRow["agototal"]);
            montos.septiembre_abono_resultado = ToDouble(rubroMontosRow["sepabonos"]);
            montos.septiembre_cargo_resultado = ToDouble(rubroMontosRow["sepcargos"]);
            montos.septiembre_total_resultado = ToDouble(rubroMontosRow["septotal"]);
            montos.octubre_abono_resultado    = ToDouble(rubroMontosRow["octabonos"]);
            montos.octubre_cargo_resultado    = ToDouble(rubroMontosRow["octcargos"]);
            montos.octubre_total_resultado    = ToDouble(rubroMontosRow["octtotal"]);
            montos.noviembre_abono_resultado  = ToDouble(rubroMontosRow["novabonos"]);
            montos.noviembre_cargo_resultado  = ToDouble(rubroMontosRow["novcargos"]);
            montos.noviembre_total_resultado  = ToDouble(rubroMontosRow["novtotal"]);
            montos.diciembre_abono_resultado  = ToDouble(rubroMontosRow["dicabonos"]);
            montos.diciembre_cargo_resultado  = ToDouble(rubroMontosRow["diccargos"]);
            montos.diciembre_total_resultado  = ToDouble(rubroMontosRow["dictotal"]);
            montos.anio  = ToInt32(rubroMontosRow["year"]);
            montos.fecha = fechaactual;
            montos.mes   = fechaactual.Month;
            //montos.valor_tipo_cambio_resultado = cambiop;
            montos.centro_costo_id   = centroCostos.id;
            montos.empresa_id        = centroCostos.empresa_id;
            montos.modelo_negocio_id = modeloId;
            montos.proyecto_id       = centroCostos.proyecto_id;
            montos.rubro_id          = rubroId;
            montos.tipo_captura_id   = TipoCapturaContable;

            insertarMontos(montos);
        }
Beispiel #2
0
 public void insertarMontos(MontosConsolidados montos)
 {
     _batchExecuter.addCommand(new NpgsqlParameter("@activo", montos.activo),
                               new NpgsqlParameter("@enero_abono_resultado", montos.enero_abono_resultado),
                               new NpgsqlParameter("@enero_cargo_resultado", montos.enero_cargo_resultado),
                               new NpgsqlParameter("@enero_total_resultado", montos.enero_total_resultado),
                               new NpgsqlParameter("@febrero_abono_resultado", montos.febrero_abono_resultado),
                               new NpgsqlParameter("@febrero_cargo_resultado", montos.febrero_cargo_resultado),
                               new NpgsqlParameter("@febrero_total_resultado", montos.febrero_total_resultado),
                               new NpgsqlParameter("@marzo_abono_resultado", montos.marzo_abono_resultado),
                               new NpgsqlParameter("@marzo_cargo_resultado", montos.marzo_cargo_resultado),
                               new NpgsqlParameter("@marzo_total_resultado", montos.marzo_total_resultado),
                               new NpgsqlParameter("@abril_abono_resultado", montos.abril_abono_resultado),
                               new NpgsqlParameter("@abril_cargo_resultado", montos.abril_cargo_resultado),
                               new NpgsqlParameter("@abril_total_resultado", montos.abril_total_resultado),
                               new NpgsqlParameter("@mayo_abono_resultado", montos.mayo_abono_resultado),
                               new NpgsqlParameter("@mayo_cargo_resultado", montos.mayo_cargo_resultado),
                               new NpgsqlParameter("@mayo_total_resultado", montos.mayo_total_resultado),
                               new NpgsqlParameter("@junio_abono_resultado", montos.junio_abono_resultado),
                               new NpgsqlParameter("@junio_cargo_resultado", montos.junio_cargo_resultado),
                               new NpgsqlParameter("@junio_total_resultado", montos.junio_total_resultado),
                               new NpgsqlParameter("@julio_abono_resultado", montos.julio_abono_resultado),
                               new NpgsqlParameter("@julio_cargo_resultado", montos.julio_cargo_resultado),
                               new NpgsqlParameter("@julio_total_resultado", montos.julio_total_resultado),
                               new NpgsqlParameter("@agosto_abono_resultado", montos.agosto_abono_resultado),
                               new NpgsqlParameter("@agosto_cargo_resultado", montos.agosto_cargo_resultado),
                               new NpgsqlParameter("@agosto_total_resultado", montos.agosto_total_resultado),
                               new NpgsqlParameter("@septiembre_abono_resultado", montos.septiembre_abono_resultado),
                               new NpgsqlParameter("@septiembre_cargo_resultado", montos.septiembre_cargo_resultado),
                               new NpgsqlParameter("@septiembre_total_resultado", montos.septiembre_total_resultado),
                               new NpgsqlParameter("@octubre_abono_resultado", montos.octubre_abono_resultado),
                               new NpgsqlParameter("@octubre_cargo_resultado", montos.octubre_cargo_resultado),
                               new NpgsqlParameter("@octubre_total_resultado", montos.octubre_total_resultado),
                               new NpgsqlParameter("@noviembre_abono_resultado", montos.noviembre_abono_resultado),
                               new NpgsqlParameter("@noviembre_cargo_resultado", montos.noviembre_cargo_resultado),
                               new NpgsqlParameter("@noviembre_total_resultado", montos.noviembre_total_resultado),
                               new NpgsqlParameter("@diciembre_abono_resultado", montos.diciembre_abono_resultado),
                               new NpgsqlParameter("@diciembre_cargo_resultado", montos.diciembre_cargo_resultado),
                               new NpgsqlParameter("@diciembre_total_resultado", montos.diciembre_total_resultado),
                               new NpgsqlParameter("@anio", montos.anio),
                               new NpgsqlParameter("@fecha", montos.fecha),
                               new NpgsqlParameter("@mes", montos.mes),
                               new NpgsqlParameter("@valor_tipo_cambio_resultado", montos.valor_tipo_cambio_resultado),
                               new NpgsqlParameter("@centro_costo_id", montos.centro_costo_id),
                               new NpgsqlParameter("@empresa_id", montos.empresa_id),
                               new NpgsqlParameter("@modelo_negocio_id", montos.modelo_negocio_id),
                               new NpgsqlParameter("@proyecto_id", montos.proyecto_id),
                               new NpgsqlParameter("@rubro_id", montos.rubro_id),
                               new NpgsqlParameter("@tipo_captura_id", montos.tipo_captura_id));
 }
Beispiel #3
0
        private void BuildMontosConsolContable(CentroCostos centroCostos, Int64 modeloId, Int64 rubroId, DateTime fechaactual, Int32 anio)
        {
            MontosConsolidados montos = new MontosConsolidados();

            montos.activo = true;

            montos.anio              = ToInt32(anio);
            montos.fecha             = fechaactual;
            montos.mes               = fechaactual.Month;
            montos.centro_costo_id   = centroCostos.id;
            montos.empresa_id        = centroCostos.empresa_id;
            montos.modelo_negocio_id = modeloId;
            montos.proyecto_id       = centroCostos.proyecto_id;
            montos.rubro_id          = rubroId;
            montos.tipo_captura_id   = TipoCapturaContable;

            insertarMontos(montos);
        }
Beispiel #4
0
        private void BuildMontosFujo(DataTable sumaMontos, CentroCostos centroCostos, Int64 modeloId, Int64 rubroId,
                                     DateTime fechaactual, ConcurrentDictionary <Int32, byte> aniosdefault)
        {
            int numInserts = 0;
            Dictionary <int, MontosConsolidados> montosPorAnio =
                new Dictionary <int, MontosConsolidados>();

            foreach (DataRow rubf in sumaMontos.Rows)
            {
                int year = ToInt32(rubf["year"]);
                aniosdefault.TryAdd(year, 1);
                if (!montosPorAnio.ContainsKey(year))
                {
                    montosPorAnio.Add(year, new MontosConsolidados());
                }

                MontosConsolidados montos = montosPorAnio[year];
                Double             mes    = ToDouble(rubf["mes"]);

                switch (mes)
                {
                case 1:
                    montos.enero_total_resultado = ToDouble(rubf["saldo"]);
                    break;

                case 2:
                    montos.febrero_total_resultado = ToDouble(rubf["saldo"]);
                    break;

                case 3:
                    montos.marzo_total_resultado = ToDouble(rubf["saldo"]);
                    break;

                case 4:
                    montos.abril_total_resultado = ToDouble(rubf["saldo"]);
                    break;

                case 5:
                    montos.mayo_total_resultado = ToDouble(rubf["saldo"]);
                    break;

                case 6:
                    montos.junio_total_resultado = ToDouble(rubf["saldo"]);
                    break;

                case 7:
                    montos.julio_total_resultado = ToDouble(rubf["saldo"]);
                    break;

                case 8:
                    montos.agosto_total_resultado = ToDouble(rubf["saldo"]);
                    break;

                case 9:
                    montos.septiembre_total_resultado = ToDouble(rubf["saldo"]);
                    break;

                case 10:
                    montos.octubre_total_resultado = ToDouble(rubf["saldo"]);
                    break;

                case 11:
                    montos.noviembre_total_resultado = ToDouble(rubf["saldo"]);
                    break;

                case 12:
                    montos.diciembre_total_resultado = ToDouble(rubf["saldo"]);
                    break;
                }
            }

            foreach (KeyValuePair <int, MontosConsolidados> kv in montosPorAnio)
            {
                MontosConsolidados montos = kv.Value;
                montos.anio              = kv.Key;
                montos.activo            = true;
                montos.fecha             = fechaactual;
                montos.mes               = fechaactual.Month;
                montos.centro_costo_id   = centroCostos.id;
                montos.empresa_id        = centroCostos.empresa_id;
                montos.modelo_negocio_id = modeloId;
                montos.proyecto_id       = centroCostos.proyecto_id;
                montos.rubro_id          = rubroId;
                montos.tipo_captura_id   = TipoCapturaFlujo;

                insertarMontos(montos);
            }
        }
Beispiel #5
0
        private void manageModeloFlujo(CentroCostos centroCostos, Empresa empresa, DateTime fechaactual)
        {
            StopWatch swGral = new StopWatch($"manageModeloFlujo cc={centroCostos.desc_id} emp={empresa.desc_id} fec={fechaactual}");

            swGral.start();
            int            numInserts = 0;
            Int64          modeloId   = centroCostos.modelo_negocio_flujo_id;
            Modelo_Negocio mn         = new ModeloNegocioDataAccessLayer().GetModelo(modeloId.ToString());

            if (!mn.activo)
            {
                return;
            }

            List <Rubros>                      rubrosDeModelo         = GetRubrosFromModeloId(modeloId);
            Int64                              numRegistrosExistentes = getNumMontosOfTipoCaptura(TipoCapturaFlujo);
            ConcurrentQueue <Rubros>           rubrosSinMontos        = new ConcurrentQueue <Rubros>();
            ConcurrentDictionary <Int32, byte> aniosDefault           = new ConcurrentDictionary <Int32, byte>();

            Parallel.ForEach(rubrosDeModelo, (rubro) =>
            {
                StopWatch sw = new StopWatch(
                    $"consulta_flujo cc.id='{centroCostos.id}',empr.id='{centroCostos.empresa_id}',proy.id='{centroCostos.proyecto_id}',modelo.id='{centroCostos.modelo_negocio_flujo_id}',rubro.id='{rubro.id}'");
                sw.start("getQuerySemanalSums");
                GeneraQry qry   = new GeneraQry("semanal", "itm::text", 2);
                String consulta = qry.getQuerySemanalSums(rubro, centroCostos, empresa, numRegistrosExistentes);
                logger.Debug(
                    "consulta_flujo cc.id='{0}',empr.id='{1}',proy.id='{2}',modelo.id='{3}',rubro.id='{4}', ===>> '{5}'",
                    centroCostos.id, centroCostos.empresa_id, centroCostos.proyecto_id,
                    centroCostos.modelo_negocio_flujo_id, rubro.id, consulta);
                DataTable sumaMontos = new QueryExecuter().ExecuteQuery(consulta);
                sw.stop();
                sw.start("BuildMontosFujo");

                if (sumaMontos.Rows.Count > 0)
                {
                    BuildMontosFujo(sumaMontos, centroCostos, modeloId, rubro.id, fechaactual,
                                    aniosDefault);
                }
                else
                {
                    rubrosSinMontos.Enqueue(rubro);
                }
                sw.stop();
                logger.Info(sw.prettyPrint());
            });

            foreach (var rubro in rubrosSinMontos)
            {
                foreach (var anio in aniosDefault.Keys)
                {
                    MontosConsolidados montos = new MontosConsolidados();
                    montos.anio              = anio;
                    montos.activo            = true;
                    montos.fecha             = fechaactual;
                    montos.mes               = fechaactual.Month;
                    montos.centro_costo_id   = centroCostos.id;
                    montos.empresa_id        = centroCostos.empresa_id;
                    montos.modelo_negocio_id = modeloId;
                    montos.proyecto_id       = centroCostos.proyecto_id;
                    montos.rubro_id          = rubro.id;
                    montos.tipo_captura_id   = TipoCapturaFlujo;
                    insertarMontos(montos);
                }
            }
            swGral.stop();
            logger.Info(swGral.prettyPrint());
        }
        public IEnumerable <MontosConsolidados> GetMontosConsolidados(int montConsAnio, int montConsMes, int montConsEmpresa, int montConsModeloNeg, int montConsProyecto, int montConsRubro)
        {
            string consulta = "";

            consulta += " select ";
            consulta += "	 id, anio, mes, empresa_id, modelo_negocio_id, proyecto_id, rubro_id, ";
            consulta += "	 coalesce(enero_abono_financiero, 0) as enero_abono_financiero, coalesce(enero_abono_resultado, 0) as enero_abono_resultado, ";
            consulta += "	 coalesce(enero_cargo_financiero, 0) as enero_cargo_financiero, coalesce(enero_cargo_resultado, 0) as enero_cargo_resultado, ";
            consulta += "	 coalesce(febrero_abono_financiero, 0) as febrero_abono_financiero, coalesce(febrero_abono_resultado, 0) as febrero_abono_resultado, ";
            consulta += "	 coalesce(febrero_cargo_financiero, 0) as febrero_cargo_financiero, coalesce(febrero_cargo_resultado, 0) as febrero_cargo_resultado, ";
            consulta += "	 coalesce(marzo_abono_financiero, 0) as marzo_abono_financiero, coalesce(marzo_abono_resultado, 0) as marzo_abono_resultado, ";
            consulta += "	 coalesce(marzo_cargo_financiero, 0) as marzo_cargo_financiero, coalesce(marzo_cargo_resultado, 0) as marzo_cargo_resultado, ";
            consulta += "	 coalesce(abril_abono_financiero, 0) as abril_abono_financiero, coalesce(abril_abono_resultado, 0) as abril_abono_resultado, ";
            consulta += "	 coalesce(abril_cargo_financiero, 0) as abril_cargo_financiero, coalesce(abril_cargo_resultado, 0) as abril_cargo_resultado, ";
            consulta += "	 coalesce(mayo_abono_financiero, 0) as mayo_abono_financiero, coalesce(mayo_abono_resultado, 0) as mayo_abono_resultado, ";
            consulta += "	 coalesce(mayo_cargo_financiero, 0) as mayo_cargo_financiero, coalesce(mayo_cargo_resultado, 0) as mayo_cargo_resultado, ";
            consulta += "	 coalesce(junio_abono_financiero, 0) as junio_abono_financiero, coalesce(junio_abono_resultado, 0) as junio_abono_resultado, ";
            consulta += "	 coalesce(junio_cargo_financiero, 0) as junio_cargo_financiero, coalesce(junio_cargo_resultado, 0) as junio_cargo_resultado, ";
            consulta += "	 coalesce(julio_abono_financiero, 0) as julio_abono_financiero, coalesce(julio_abono_resultado, 0) as julio_abono_resultado, ";
            consulta += "	 coalesce(julio_cargo_financiero, 0) as julio_cargo_financiero, coalesce(julio_cargo_resultado, 0) as julio_cargo_resultado, ";
            consulta += "	 coalesce(agosto_abono_financiero, 0) as agosto_abono_financiero, coalesce(agosto_abono_resultado, 0) as agosto_abono_resultado, ";
            consulta += "	 coalesce(agosto_cargo_financiero, 0) as agosto_cargo_financiero, coalesce(agosto_cargo_resultado, 0) as agosto_cargo_resultado, ";
            consulta += "	 coalesce(septiembre_abono_financiero, 0) as septiembre_abono_financiero, coalesce(septiembre_abono_resultado, 0) as septiembre_abono_resultado, ";
            consulta += "	 coalesce(septiembre_cargo_financiero, 0) as septiembre_cargo_financiero, coalesce(septiembre_cargo_resultado, 0) as septiembre_cargo_resultado, ";
            consulta += "	 coalesce(octubre_abono_financiero, 0) as octubre_abono_financiero, coalesce(octubre_abono_resultado, 0) as octubre_abono_resultado, ";
            consulta += "	 coalesce(octubre_cargo_financiero, 0) as octubre_cargo_financiero, coalesce(octubre_cargo_resultado, 0) as octubre_cargo_resultado, ";
            consulta += "	 coalesce(noviembre_abono_financiero, 0) as noviembre_abono_financiero, coalesce(noviembre_abono_resultado, 0) as noviembre_abono_resultado, ";
            consulta += "	 coalesce(noviembre_cargo_financiero, 0) as noviembre_cargo_financiero, coalesce(noviembre_cargo_resultado, 0) as noviembre_cargo_resultado, ";
            consulta += "	 coalesce(diciembre_abono_financiero, 0) as diciembre_abono_financiero, coalesce(diciembre_abono_resultado, 0) as diciembre_abono_resultado, ";
            consulta += "	 coalesce(diciembre_cargo_financiero, 0) as diciembre_cargo_financiero, coalesce(diciembre_cargo_resultado, 0) as diciembre_cargo_resultado, ";
            consulta += "	 coalesce(valor_tipo_cambio_financiero, 0) as valor_tipo_cambio_financiero, ";
            consulta += "	 coalesce(valor_tipo_cambio_resultado, 0) as valor_tipo_cambio_resultado, ";
            consulta += "	 activo, fecha ";
            consulta += " from montos_consolidados ";
            consulta += " where activo = 'true' ";
            consulta += " and anio = " + montConsAnio.ToString();
            consulta += " and mes = " + montConsMes.ToString();
            consulta += " and empresa_id = " + montConsEmpresa.ToString();
            consulta += " and modelo_negocio_id = " + montConsModeloNeg.ToString();
            consulta += " and proyecto_id = " + montConsProyecto.ToString();
            consulta += " and rubro_id = " + montConsRubro.ToString();

            try
            {
                List <MontosConsolidados> lstMontosConsolidados = new List <MontosConsolidados>();

                con.Open();
                NpgsqlCommand    cmd = new NpgsqlCommand(consulta.Trim(), con);
                NpgsqlDataReader rdr = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    MontosConsolidados montos_consolidados = new MontosConsolidados();
                    montos_consolidados.id                           = Convert.ToInt32(rdr["id"]);
                    montos_consolidados.anio                         = Convert.ToInt32(rdr["anio"]);
                    montos_consolidados.mes                          = Convert.ToInt32(rdr["mes"]);
                    montos_consolidados.empresa_id                   = Convert.ToInt32(rdr["empresa_id"]);
                    montos_consolidados.modelo_negocio_id            = Convert.ToInt32(rdr["modelo_negocio_id"]);
                    montos_consolidados.proyecto_id                  = Convert.ToInt32(rdr["proyecto_id"]);
                    montos_consolidados.rubro_id                     = Convert.ToInt32(rdr["rubro_id"]);
                    montos_consolidados.enero_abono_financiero       = Convert.ToDouble(rdr["enero_abono_financiero"]);
                    montos_consolidados.enero_abono_resultado        = Convert.ToDouble(rdr["enero_abono_resultado"]);
                    montos_consolidados.enero_cargo_financiero       = Convert.ToDouble(rdr["enero_cargo_financiero"]);
                    montos_consolidados.enero_cargo_resultado        = Convert.ToDouble(rdr["enero_cargo_resultado"]);
                    montos_consolidados.febrero_abono_financiero     = Convert.ToDouble(rdr["febrero_abono_financiero"]);
                    montos_consolidados.febrero_abono_resultado      = Convert.ToDouble(rdr["febrero_abono_resultado"]);
                    montos_consolidados.febrero_cargo_financiero     = Convert.ToDouble(rdr["febrero_cargo_financiero"]);
                    montos_consolidados.febrero_cargo_resultado      = Convert.ToDouble(rdr["febrero_cargo_resultado"]);
                    montos_consolidados.marzo_abono_financiero       = Convert.ToDouble(rdr["marzo_abono_financiero"]);
                    montos_consolidados.marzo_abono_resultado        = Convert.ToDouble(rdr["marzo_abono_resultado"]);
                    montos_consolidados.marzo_cargo_financiero       = Convert.ToDouble(rdr["marzo_cargo_financiero"]);
                    montos_consolidados.marzo_cargo_resultado        = Convert.ToDouble(rdr["marzo_cargo_resultado"]);
                    montos_consolidados.abril_abono_financiero       = Convert.ToDouble(rdr["abril_abono_financiero"]);
                    montos_consolidados.abril_abono_resultado        = Convert.ToDouble(rdr["abril_abono_resultado"]);
                    montos_consolidados.abril_cargo_financiero       = Convert.ToDouble(rdr["abril_cargo_financiero"]);
                    montos_consolidados.abril_cargo_resultado        = Convert.ToDouble(rdr["abril_cargo_resultado"]);
                    montos_consolidados.mayo_abono_financiero        = Convert.ToDouble(rdr["mayo_abono_financiero"]);
                    montos_consolidados.mayo_abono_resultado         = Convert.ToDouble(rdr["mayo_abono_resultado"]);
                    montos_consolidados.mayo_cargo_financiero        = Convert.ToDouble(rdr["mayo_cargo_financiero"]);
                    montos_consolidados.mayo_cargo_resultado         = Convert.ToDouble(rdr["mayo_cargo_resultado"]);
                    montos_consolidados.junio_abono_financiero       = Convert.ToDouble(rdr["junio_abono_financiero"]);
                    montos_consolidados.junio_abono_resultado        = Convert.ToDouble(rdr["junio_abono_resultado"]);
                    montos_consolidados.junio_cargo_financiero       = Convert.ToDouble(rdr["junio_cargo_financiero"]);
                    montos_consolidados.junio_cargo_resultado        = Convert.ToDouble(rdr["junio_cargo_resultado"]);
                    montos_consolidados.julio_abono_financiero       = Convert.ToDouble(rdr["julio_abono_financiero"]);
                    montos_consolidados.julio_abono_resultado        = Convert.ToDouble(rdr["julio_abono_resultado"]);
                    montos_consolidados.julio_cargo_financiero       = Convert.ToDouble(rdr["julio_cargo_financiero"]);
                    montos_consolidados.julio_cargo_resultado        = Convert.ToDouble(rdr["julio_cargo_resultado"]);
                    montos_consolidados.agosto_abono_financiero      = Convert.ToDouble(rdr["agosto_abono_financiero"]);
                    montos_consolidados.agosto_abono_resultado       = Convert.ToDouble(rdr["agosto_abono_resultado"]);
                    montos_consolidados.agosto_cargo_financiero      = Convert.ToDouble(rdr["agosto_cargo_financiero"]);
                    montos_consolidados.agosto_cargo_resultado       = Convert.ToDouble(rdr["agosto_cargo_resultado"]);
                    montos_consolidados.septiembre_abono_financiero  = Convert.ToDouble(rdr["septiembre_abono_financiero"]);
                    montos_consolidados.septiembre_abono_resultado   = Convert.ToDouble(rdr["septiembre_abono_resultado"]);
                    montos_consolidados.septiembre_cargo_financiero  = Convert.ToDouble(rdr["septiembre_cargo_financiero"]);
                    montos_consolidados.septiembre_cargo_resultado   = Convert.ToDouble(rdr["septiembre_cargo_resultado"]);
                    montos_consolidados.octubre_abono_financiero     = Convert.ToDouble(rdr["octubre_abono_financiero"]);
                    montos_consolidados.octubre_abono_resultado      = Convert.ToDouble(rdr["octubre_abono_resultado"]);
                    montos_consolidados.octubre_cargo_financiero     = Convert.ToDouble(rdr["octubre_cargo_financiero"]);
                    montos_consolidados.octubre_cargo_resultado      = Convert.ToDouble(rdr["octubre_cargo_resultado"]);
                    montos_consolidados.noviembre_abono_financiero   = Convert.ToDouble(rdr["noviembre_abono_financiero"]);
                    montos_consolidados.noviembre_abono_resultado    = Convert.ToDouble(rdr["noviembre_abono_resultado"]);
                    montos_consolidados.noviembre_cargo_financiero   = Convert.ToDouble(rdr["noviembre_cargo_financiero"]);
                    montos_consolidados.noviembre_cargo_resultado    = Convert.ToDouble(rdr["noviembre_cargo_resultado"]);
                    montos_consolidados.diciembre_abono_financiero   = Convert.ToDouble(rdr["diciembre_abono_financiero"]);
                    montos_consolidados.diciembre_abono_resultado    = Convert.ToDouble(rdr["diciembre_abono_resultado"]);
                    montos_consolidados.diciembre_cargo_financiero   = Convert.ToDouble(rdr["diciembre_cargo_financiero"]);
                    montos_consolidados.diciembre_cargo_resultado    = Convert.ToDouble(rdr["diciembre_cargo_resultado"]);
                    montos_consolidados.valor_tipo_cambio_financiero = Convert.ToDouble(rdr["valor_tipo_cambio_financiero"]);
                    montos_consolidados.valor_tipo_cambio_resultado  = Convert.ToDouble(rdr["valor_tipo_cambio_resultado"]);
                    montos_consolidados.activo                       = Convert.ToBoolean(rdr["activo"]);
                    montos_consolidados.fecha                        = Convert.ToDateTime(rdr["fecha"]);
                    lstMontosConsolidados.Add(montos_consolidados);
                }
                return(lstMontosConsolidados);
            }
            catch
            {
                throw;
            }
            finally
            {
                con.Close();
            }
        }
        public int AddMontosConsolidados(MontosConsolidados montos_consolidados)
        {
            string consulta = "";

            consulta += " insert into montos_consolidados ( ";
            consulta += "	 id, anio, mes, empresa_id, modelo_negocio_id, proyecto_id, rubro_id, ";
            consulta += "	 enero_abono_financiero, enero_abono_resultado, enero_cargo_financiero, enero_cargo_resultado, ";
            consulta += "	 febrero_abono_financiero, febrero_abono_resultado, febrero_cargo_financiero, febrero_cargo_resultado, ";
            consulta += "	 marzo_abono_financiero, marzo_abono_resultado, marzo_cargo_financiero, marzo_cargo_resultado, ";
            consulta += "	 abril_abono_financiero, abril_abono_resultado, abril_cargo_financiero, abril_cargo_resultado, ";
            consulta += "	 mayo_abono_financiero, mayo_abono_resultado, mayo_cargo_financiero, mayo_cargo_resultado, ";
            consulta += "	 junio_abono_financiero, junio_abono_resultado, junio_cargo_financiero, junio_cargo_resultado, ";
            consulta += "	 julio_abono_financiero, julio_abono_resultado, julio_cargo_financiero, julio_cargo_resultado, ";
            consulta += "	 agosto_abono_financiero, agosto_abono_resultado, agosto_cargo_financiero, agosto_cargo_resultado, ";
            consulta += "	 septiembre_abono_financiero, septiembre_abono_resultado, septiembre_cargo_financiero, septiembre_cargo_resultado, ";
            consulta += "	 octubre_abono_financiero, octubre_abono_resultado, octubre_cargo_financiero, octubre_cargo_resultado, ";
            consulta += "	 noviembre_abono_financiero, noviembre_abono_resultado, noviembre_cargo_financiero, noviembre_cargo_resultado, ";
            consulta += "	 diciembre_abono_financiero, diciembre_abono_resultado, diciembre_cargo_financiero, diciembre_cargo_resultado, ";
            consulta += "	 valor_tipo_cambio_financiero, valor_tipo_cambio_resultado, activo, fecha ";
            consulta += "	 ) values ( ";
            consulta += "	 nextval('seq_montos_consol'), @anio, @mes, @empresa_id, @modelo_negocio_id, @proyecto_id, @rubro_id, ";
            consulta += "	 @enero_abono_financiero, @enero_abono_resultado, @enero_cargo_financiero, @enero_cargo_resultado, ";
            consulta += "	 @febrero_abono_financiero, @febrero_abono_resultado, @febrero_cargo_financiero, @febrero_cargo_resultado, ";
            consulta += "	 @marzo_abono_financiero, @marzo_abono_resultado, @marzo_cargo_financiero, @marzo_cargo_resultado, ";
            consulta += "	 @abril_abono_financiero, @abril_abono_resultado, @abril_cargo_financiero, @abril_cargo_resultado, ";
            consulta += "	 @mayo_abono_financiero, @mayo_abono_resultado, @mayo_cargo_financiero, @mayo_cargo_resultado, ";
            consulta += "	 @junio_abono_financiero, @junio_abono_resultado, @junio_cargo_financiero, @junio_cargo_resultado, ";
            consulta += "	 @julio_abono_financiero, @julio_abono_resultado, @julio_cargo_financiero, @julio_cargo_resultado, ";
            consulta += "	 @agosto_abono_financiero, @agosto_abono_resultado, @agosto_cargo_financiero, @agosto_cargo_resultado, ";
            consulta += "	 @septiembre_abono_financiero, @septiembre_abono_resultado, @septiembre_cargo_financiero, @septiembre_cargo_resultado, ";
            consulta += "	 @octubre_abono_financiero, @octubre_abono_resultado, @octubre_cargo_financiero, @octubre_cargo_resultado, ";
            consulta += "	 @noviembre_abono_financiero, @noviembre_abono_resultado, @noviembre_cargo_financiero, @noviembre_cargo_resultado, ";
            consulta += "	 @diciembre_abono_financiero, @diciembre_abono_resultado, @diciembre_cargo_financiero, @diciembre_cargo_resultado, ";
            consulta += "	 @valor_tipo_cambio_financiero, @valor_tipo_cambio_resultado, @activo, @fecha ";
            consulta += "	 ) ";

            try
            {
                con.Open();
                NpgsqlCommand cmd = new NpgsqlCommand(consulta.Trim(), con);
                cmd.Parameters.AddWithValue("@anio", montos_consolidados.anio);
                cmd.Parameters.AddWithValue("@mes", montos_consolidados.mes);
                cmd.Parameters.AddWithValue("@empresa_id", montos_consolidados.empresa_id);
                cmd.Parameters.AddWithValue("@modelo_negocio_id", montos_consolidados.modelo_negocio_id);
                cmd.Parameters.AddWithValue("@proyecto_id", montos_consolidados.proyecto_id);
                cmd.Parameters.AddWithValue("@rubro_id", montos_consolidados.rubro_id);
                cmd.Parameters.AddWithValue("@enero_abono_financiero", montos_consolidados.enero_abono_financiero);
                cmd.Parameters.AddWithValue("@enero_abono_resultado", montos_consolidados.enero_abono_resultado);
                cmd.Parameters.AddWithValue("@enero_cargo_financiero", montos_consolidados.enero_cargo_financiero);
                cmd.Parameters.AddWithValue("@enero_cargo_resultado", montos_consolidados.enero_cargo_resultado);
                cmd.Parameters.AddWithValue("@febrero_abono_financiero", montos_consolidados.febrero_abono_financiero);
                cmd.Parameters.AddWithValue("@febrero_abono_resultado", montos_consolidados.febrero_abono_resultado);
                cmd.Parameters.AddWithValue("@febrero_cargo_financiero", montos_consolidados.febrero_cargo_financiero);
                cmd.Parameters.AddWithValue("@febrero_cargo_resultado", montos_consolidados.febrero_cargo_resultado);
                cmd.Parameters.AddWithValue("@marzo_abono_financiero", montos_consolidados.marzo_abono_financiero);
                cmd.Parameters.AddWithValue("@marzo_abono_resultado", montos_consolidados.marzo_abono_resultado);
                cmd.Parameters.AddWithValue("@marzo_cargo_financiero", montos_consolidados.marzo_cargo_financiero);
                cmd.Parameters.AddWithValue("@marzo_cargo_resultado", montos_consolidados.marzo_cargo_resultado);
                cmd.Parameters.AddWithValue("@abril_abono_financiero", montos_consolidados.abril_abono_financiero);
                cmd.Parameters.AddWithValue("@abril_abono_resultado", montos_consolidados.abril_abono_resultado);
                cmd.Parameters.AddWithValue("@abril_cargo_financiero", montos_consolidados.abril_cargo_financiero);
                cmd.Parameters.AddWithValue("@abril_cargo_resultado", montos_consolidados.abril_cargo_resultado);
                cmd.Parameters.AddWithValue("@mayo_abono_financiero", montos_consolidados.mayo_abono_financiero);
                cmd.Parameters.AddWithValue("@mayo_abono_resultado", montos_consolidados.mayo_abono_resultado);
                cmd.Parameters.AddWithValue("@mayo_cargo_financiero", montos_consolidados.mayo_cargo_financiero);
                cmd.Parameters.AddWithValue("@mayo_cargo_resultado", montos_consolidados.mayo_cargo_resultado);
                cmd.Parameters.AddWithValue("@junio_abono_financiero", montos_consolidados.junio_abono_financiero);
                cmd.Parameters.AddWithValue("@junio_abono_resultado", montos_consolidados.junio_abono_resultado);
                cmd.Parameters.AddWithValue("@junio_cargo_financiero", montos_consolidados.junio_cargo_financiero);
                cmd.Parameters.AddWithValue("@junio_cargo_resultado", montos_consolidados.junio_cargo_resultado);
                cmd.Parameters.AddWithValue("@julio_abono_financiero", montos_consolidados.julio_abono_financiero);
                cmd.Parameters.AddWithValue("@julio_abono_resultado", montos_consolidados.julio_abono_resultado);
                cmd.Parameters.AddWithValue("@julio_cargo_financiero", montos_consolidados.julio_cargo_financiero);
                cmd.Parameters.AddWithValue("@julio_cargo_resultado", montos_consolidados.julio_cargo_resultado);
                cmd.Parameters.AddWithValue("@agosto_abono_financiero", montos_consolidados.agosto_abono_financiero);
                cmd.Parameters.AddWithValue("@agosto_abono_resultado", montos_consolidados.agosto_abono_resultado);
                cmd.Parameters.AddWithValue("@agosto_cargo_financiero", montos_consolidados.agosto_cargo_financiero);
                cmd.Parameters.AddWithValue("@agosto_cargo_resultado", montos_consolidados.agosto_cargo_resultado);
                cmd.Parameters.AddWithValue("@septiembre_abono_financiero", montos_consolidados.septiembre_abono_financiero);
                cmd.Parameters.AddWithValue("@septiembre_abono_resultado", montos_consolidados.septiembre_abono_resultado);
                cmd.Parameters.AddWithValue("@septiembre_cargo_financiero", montos_consolidados.septiembre_cargo_financiero);
                cmd.Parameters.AddWithValue("@septiembre_cargo_resultado", montos_consolidados.septiembre_cargo_resultado);
                cmd.Parameters.AddWithValue("@octubre_abono_financiero", montos_consolidados.octubre_abono_financiero);
                cmd.Parameters.AddWithValue("@octubre_abono_resultado", montos_consolidados.octubre_abono_resultado);
                cmd.Parameters.AddWithValue("@octubre_cargo_financiero", montos_consolidados.octubre_cargo_financiero);
                cmd.Parameters.AddWithValue("@octubre_cargo_resultado", montos_consolidados.octubre_cargo_resultado);
                cmd.Parameters.AddWithValue("@noviembre_abono_financiero", montos_consolidados.noviembre_abono_financiero);
                cmd.Parameters.AddWithValue("@noviembre_abono_resultado", montos_consolidados.noviembre_abono_resultado);
                cmd.Parameters.AddWithValue("@noviembre_cargo_financiero", montos_consolidados.noviembre_cargo_financiero);
                cmd.Parameters.AddWithValue("@noviembre_cargo_resultado", montos_consolidados.noviembre_cargo_resultado);
                cmd.Parameters.AddWithValue("@diciembre_abono_financiero", montos_consolidados.diciembre_abono_financiero);
                cmd.Parameters.AddWithValue("@diciembre_abono_resultado", montos_consolidados.diciembre_abono_resultado);
                cmd.Parameters.AddWithValue("@diciembre_cargo_financiero", montos_consolidados.diciembre_cargo_financiero);
                cmd.Parameters.AddWithValue("@diciembre_cargo_resultado", montos_consolidados.diciembre_cargo_resultado);
                cmd.Parameters.AddWithValue("@valor_tipo_cambio_financiero", montos_consolidados.valor_tipo_cambio_financiero);
                cmd.Parameters.AddWithValue("@valor_tipo_cambio_resultado", montos_consolidados.valor_tipo_cambio_resultado);
                cmd.Parameters.AddWithValue("@activo", montos_consolidados.activo);
                cmd.Parameters.AddWithValue("@fecha", montos_consolidados.fecha);
                int regInsert = cmd.ExecuteNonQuery();

                return(regInsert);
            }
            catch
            {
                throw;
            }
            finally
            {
                con.Close();
            }
        }