Esempio n. 1
0
        //*******************************************************************************
        //NOMBRE DE LA FUNCIÓN:Consultar_Informacion
        //DESCRIPCIÓN: Metodo que permite llenar el Grid con la informacion de la consulta
        //PARAMETROS:
        //CREO       : Hugo Enrique Ramírez Aguilera
        //FECHA_CREO : 07/Abril/2016
        //MODIFICO:
        //FECHA_MODIFICO:
        //CAUSA_MODIFICACIÓN:
        //*******************************************************************************
        public void Consultar_Informacion()
        {
            Cls_Rpt_Plan_Volumenes_Negocio Rs_Consulta = new Cls_Rpt_Plan_Volumenes_Negocio();
            DataTable Dt_Consulta = new DataTable();
            DataTable Dt_Tarifas  = new DataTable();
            DataTable Dt_Reporte  = new DataTable();
            DataTable Dt_Auxiliar = new DataTable();
            DataTable Dt_Resumen  = new DataTable();
            DataRow   Dr_Nuevo_Elemento;
            String    Str_Nombre_Mes = "";
            Dictionary <Int32, String> Dic_Meses;
            Double    Db_Total      = 0;
            Decimal   Dc_Total      = 0;
            DataTable Dt_Existencia = new DataTable();

            try
            {
                Dic_Meses          = Cls_Metodos_Generales.Crear_Diccionario_Meses();
                Rs_Consulta.P_Anio = DateTime.Now.Year;
                Rs_Consulta.P_Mes  = DateTime.Now.Month;
                Dt_Tarifas         = Rs_Consulta.Consultar_Tarifas_Giro();
                Dt_Reporte         = Crear_Tabla_Reporte();



                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  Se ingresan los encabezados para las tomas
                foreach (DataRow Registro in Dt_Tarifas.Rows)
                {
                    Dr_Nuevo_Elemento = Dt_Reporte.NewRow();
                    Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Id"]        = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Accion"]    = 1;
                    Dr_Nuevo_Elemento["Concepto"]  = "Volumen facturado medido a " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")";


                    Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento);
                }

                //   se consultan las tomas que se realizaron en el año de consulta
                Rs_Consulta.P_Estimado = "NO";
                Dt_Consulta            = Rs_Consulta.Consultar_Volumenes();


                foreach (DataRow Registro in Dt_Reporte.Rows)
                {
                    Registro.BeginEdit();

                    Db_Total = 0;

                    for (int Cont_For = 1; Cont_For <= 12; Cont_For++)
                    {
                        Str_Nombre_Mes = "";
                        if (Dic_Meses.ContainsKey(Cont_For) == true)
                        {
                            Str_Nombre_Mes = Dic_Meses[Cont_For];
                        }//    fin de la validacion del diccionario


                        Dc_Total = (from ord in Dt_Consulta.AsEnumerable()
                                    where ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() &&
                                    ord.Field <Int32>("bimestre") == Cont_For &&
                                    ord.Field <Int32>("anio") == Rs_Consulta.P_Anio
                                    select ord.Field <Decimal>("Consumo")
                                    ).Sum();

                        Registro[Str_Nombre_Mes] = Convert.ToDouble(Dc_Total);
                        Db_Total = Db_Total + Convert.ToDouble(Dc_Total);
                    }

                    Registro["Total"] = Db_Total;
                    Db_Total          = 0;

                    Registro.EndEdit();
                    Registro.AcceptChanges();
                }


                //  se borraran las tarifas id, ya que comenzara con el tercer proceso
                foreach (DataRow Registro_Reporte in Dt_Reporte.Rows)
                {
                    Registro_Reporte.BeginEdit();
                    Registro_Reporte["Tarifa_Id"] = "";
                    Registro_Reporte.EndEdit();
                    Registro_Reporte.AcceptChanges();
                }


                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  Se ingresan los encabezados para las tomas
                foreach (DataRow Registro in Dt_Tarifas.Rows)
                {
                    Dr_Nuevo_Elemento = Dt_Reporte.NewRow();
                    Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Id"]        = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Accion"]    = 2;
                    Dr_Nuevo_Elemento["Concepto"]  = "Volumen facturado estimado " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")";


                    Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento);
                }

                //   se consultan las tomas que se realizaron en el año de consulta
                Rs_Consulta.P_Estimado = "SI";
                Dt_Consulta            = Rs_Consulta.Consultar_Volumenes();


                foreach (DataRow Registro in Dt_Reporte.Rows)
                {
                    if (!String.IsNullOrEmpty(Registro["tarifa_Id"].ToString()))
                    {
                        Registro.BeginEdit();

                        Db_Total = 0;

                        for (int Cont_For = 1; Cont_For <= 12; Cont_For++)
                        {
                            Str_Nombre_Mes = "";
                            if (Dic_Meses.ContainsKey(Cont_For) == true)
                            {
                                Str_Nombre_Mes = Dic_Meses[Cont_For];
                            }//    fin de la validacion del diccionario


                            Dc_Total = (from ord in Dt_Consulta.AsEnumerable()
                                        where ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() &&
                                        ord.Field <Int32>("bimestre") == Cont_For &&
                                        ord.Field <Int32>("anio") == Rs_Consulta.P_Anio
                                        select ord.Field <Decimal>("Consumo")
                                        ).Sum();

                            Registro[Str_Nombre_Mes] = Convert.ToDouble(Dc_Total);
                            Db_Total = Db_Total + Convert.ToDouble(Dc_Total);
                        }

                        Registro["Total"] = Db_Total;
                        Db_Total          = 0;

                        Registro.EndEdit();
                        Registro.AcceptChanges();
                    }
                }

                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  Volumen de agua distribuido en pipas********************************************************************************************************************
                Dr_Nuevo_Elemento = Dt_Reporte.NewRow();
                Dr_Nuevo_Elemento["tarifa_Id"] = "X";
                Dr_Nuevo_Elemento["Id"]        = "PIPA";
                Dr_Nuevo_Elemento["Concepto"]  = "Volumen de agua distribuido en pipas";
                Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento);

                Dt_Consulta.Clear();
                //Dt_Consulta = Rs_Consulta.Consultar_Volumenes_Pipa();


                foreach (DataRow Registro in Dt_Reporte.Rows)
                {
                    if (Registro["tarifa_id"] == "X")
                    {
                        Registro.BeginEdit();
                        Db_Total = 0;

                        Registro[Str_Nombre_Mes] = Convert.ToDouble(Dc_Total);
                        Db_Total = Db_Total + Convert.ToDouble(Dc_Total);


                        //  se recorreran los meses del año que se busca
                        for (int Cont_For = 1; Cont_For <= 12; Cont_For++)
                        {
                            Str_Nombre_Mes = "";
                            Dc_Total       = 0;

                            if (Dic_Meses.ContainsKey(Cont_For) == true)
                            {
                                Str_Nombre_Mes = Dic_Meses[Cont_For];
                            }//    fin de la validacion del diccionario


                            Dc_Total = (from ord in Dt_Consulta.AsEnumerable()
                                        where ord.Field <Int32>("mes") == Cont_For
                                        select ord.Field <Decimal>("M3")
                                        ).Sum();
                            Db_Total = Db_Total + Convert.ToDouble(Dc_Total);
                            Registro[Str_Nombre_Mes] = Dc_Total;
                        }

                        Registro["Total"] = Db_Total;
                        Registro.EndEdit();
                        Registro.AcceptChanges();
                    }
                }

                //  se borraran las tarifas id, ya que comenzara con el tercer proceso
                foreach (DataRow Registro_Reporte in Dt_Reporte.Rows)
                {
                    Registro_Reporte.BeginEdit();
                    Registro_Reporte["Tarifa_Id"] = "";
                    Registro_Reporte.EndEdit();
                    Registro_Reporte.AcceptChanges();
                }

                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  Volumen de agua distribuido en bebedero 1********************************************************************************************************************
                Dr_Nuevo_Elemento = Dt_Reporte.NewRow();
                Dr_Nuevo_Elemento["tarifa_Id"] = "X";
                Dr_Nuevo_Elemento["Id"]        = "BEB1";
                Dr_Nuevo_Elemento["Concepto"]  = "Volumen de agua distribuido en bebedero 1";
                Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento);

                Dr_Nuevo_Elemento = Dt_Reporte.NewRow();
                Dr_Nuevo_Elemento["tarifa_Id"] = "X";
                Dr_Nuevo_Elemento["Id"]        = "BEB2";
                Dr_Nuevo_Elemento["Concepto"]  = "Volumen de agua distribuido en bebedero 2";
                Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento);


                Dr_Nuevo_Elemento = Dt_Reporte.NewRow();
                Dr_Nuevo_Elemento["tarifa_Id"] = "X";
                Dr_Nuevo_Elemento["Id"]        = "BEB3";
                Dr_Nuevo_Elemento["Concepto"]  = "Volumen de agua distribuido en bebedero 3";
                Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento);


                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  llenan los espacios vacion con cero 0********************************************************************************************************************
                foreach (DataRow Registro_Reporte in Dt_Reporte.Rows)
                {
                    Registro_Reporte.BeginEdit();
                    Registro_Reporte["Tarifa_Id"] = "";

                    for (int Cont_For = 1; Cont_For <= 12; Cont_For++)
                    {
                        Str_Nombre_Mes = "";
                        if (Dic_Meses.ContainsKey(Cont_For) == true)
                        {
                            Str_Nombre_Mes = Dic_Meses[Cont_For];
                        }//    fin de la validacion del diccionario

                        if (String.IsNullOrEmpty(Registro_Reporte[Str_Nombre_Mes].ToString()))
                        {
                            Registro_Reporte[Str_Nombre_Mes] = 0;
                        }
                    }

                    if (String.IsNullOrEmpty(Registro_Reporte["Total"].ToString()))
                    {
                        Registro_Reporte["Total"] = 0;
                    }
                    Registro_Reporte.EndEdit();
                    Registro_Reporte.AcceptChanges();
                }


                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  se ingresara la informacion

                //  se realizara la insercion de la informacion
                foreach (DataRow Registro in Dt_Reporte.Rows)
                {
                    Dt_Existencia.Clear();

                    Str_Nombre_Mes = "";
                    Str_Nombre_Mes = Dic_Meses[DateTime.Now.Month];
                    Rs_Consulta.P_Str_Nombre_Mes = Str_Nombre_Mes;
                    Rs_Consulta.P_Giro_Id        = Registro["id"].ToString();
                    Rs_Consulta.P_Anio           = DateTime.Now.Year;
                    Rs_Consulta.P_Dr_Registro    = Registro;
                    Rs_Consulta.P_Str_Usuario    = "Servicio";

                    if (!String.IsNullOrEmpty(Registro["Accion"].ToString()))
                    {
                        Rs_Consulta.P_Str_Accion = Registro["Accion"].ToString();
                    }
                    else
                    {
                        Rs_Consulta.P_Str_Accion = "";
                    }


                    Dt_Existencia = Rs_Consulta.Consultar_Si_Existe_Registro_Volumen();

                    //  validacion de la consulta
                    if (Dt_Existencia != null && Dt_Existencia.Rows.Count > 0)
                    {
                        //  actualizacion
                        Rs_Consulta.P_Id = Dt_Existencia.Rows[0]["ID"].ToString();
                        Rs_Consulta.Actualizar_Registro_Volumenes();
                    }// fin del if
                    else
                    {
                        //  insercion
                        Rs_Consulta.Insertar_Registro_Volumenes();
                    } // fin el else
                }     // fin foreach
            }
            catch (Exception Ex)
            {
                MessageBox.Show("Eror:   " + Ex.Message, "Mensaje", MessageBoxButtons.OK);
            }
        }// fin
Esempio n. 2
0
        //*******************************************************************************
        //NOMBRE DE LA FUNCIÓN:Consultar_Informacion
        //DESCRIPCIÓN: Metodo que permite llenar el Grid con la informacion de la consulta
        //PARAMETROS:
        //CREO       : Hugo Enrique Ramírez Aguilera
        //FECHA_CREO : 07/Abril/2016
        //MODIFICO:
        //FECHA_MODIFICO:
        //CAUSA_MODIFICACIÓN:
        //*******************************************************************************
        public void Consultar_Informacion()
        {
            Cls_Cat_Cor_Parametros_Negocio Rs_Parametros  = new Cls_Cat_Cor_Parametros_Negocio();
            Cls_Rpt_Plan_Montos_Negocio    Rs_Consulta    = new Cls_Rpt_Plan_Montos_Negocio();
            DataTable Dt_Consulta_Facturacion_Estimado_No = new DataTable();
            DataTable Dt_Consulta_Facturacion_Estimado_Si = new DataTable();
            DataTable Dt_Consulta_Pagos = new DataTable();
            DataTable Dt_Tarifas        = new DataTable();
            DataTable Dt_Reporte        = new DataTable();
            DataTable Dt_Reporte_Pagos  = new DataTable();
            DataTable Dt_Auxiliar       = new DataTable();
            DataTable Dt_Resumen        = new DataTable();
            DataTable Dt_Parametros     = new DataTable();
            DataRow   Dr_Nuevo_Elemento;
            Int32     Int_Mes        = 0;
            String    Str_Nombre_Mes = "";
            Dictionary <Int32, String> Dic_Meses;
            int       Cont_Encabezao                 = 0;
            Double    Db_Total                       = 0;
            Double    Db_Total_Concepto              = 0;
            String    Str_Concepto_Agua_Id           = "";
            String    Str_Concepto_Agua_Comercial_Id = "";
            String    Str_Concepto_Drenaje_Id        = "";
            String    Str_Concepto_Saneamiento_Id    = "";
            Decimal   Dc_Total_Facturado_Estimado_No = 0;
            Decimal   Dc_Total_Facturado_Estimado_Si = 0;
            Decimal   Dc_Total_Pagado                = 0;
            DataTable Dt_Existencia                  = new DataTable();

            try
            {
                //  se consultan los parametros
                Dt_Parametros = Rs_Parametros.Consulta_Parametros();

                //  se obtienen los id de los parametros
                foreach (DataRow Registro in Dt_Parametros.Rows)
                {
                    Str_Concepto_Agua_Id           = Registro["CONCEPTO_AGUA"].ToString();
                    Str_Concepto_Agua_Comercial_Id = Registro["Concepto_Agua_Comercial"].ToString();
                    Str_Concepto_Drenaje_Id        = Registro["CONCEPTO_DRENAJE"].ToString();
                    Str_Concepto_Saneamiento_Id    = Registro["CONCEPTO_SANAMIENTO"].ToString();
                }


                //  se consultan los valeres a reportar
                Dic_Meses          = Cls_Metodos_Generales.Crear_Diccionario_Meses();
                Rs_Consulta.P_Anio = DateTime.Now.Year;
                Rs_Consulta.P_Mes  = DateTime.Now.Month;
                Dt_Tarifas         = Rs_Consulta.Consultar_Tarifas_Giro();
                Dt_Reporte         = Crear_Tabla_Reporte();
                Dt_Reporte_Pagos   = Crear_Tabla_Reporte();

                Dt_Consulta_Facturacion_Estimado_No = Rs_Consulta.Consultar_Facturacion_Planeacion();
                Dt_Consulta_Facturacion_Estimado_Si = Rs_Consulta.Consultar_Facturacion_Planeacion_Estimado_Si();
                Dt_Consulta_Pagos = Rs_Consulta.Consultar_Pagos_A_Facturacion_Planeacion();


                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  Se ingresan los encabezados para la facturacion
                foreach (DataRow Registro in Dt_Tarifas.Rows)
                {
                    Dr_Nuevo_Elemento = Dt_Reporte.NewRow();
                    Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Accion"]    = "0";
                    Dr_Nuevo_Elemento["Concepto"]  = "Monto facturado por el servicio de agua de las tomas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")";

                    Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento);
                    //********************************************************************************
                    //********************************************************************************
                    //********************************************************************************
                    Dr_Nuevo_Elemento = Dt_Reporte.NewRow();
                    Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Accion"]    = "1";
                    Dr_Nuevo_Elemento["Concepto"]  = "Monto facturado por el servicio de drenaje de las descargas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")";

                    Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento);
                    //********************************************************************************
                    //********************************************************************************
                    //********************************************************************************
                    Dr_Nuevo_Elemento = Dt_Reporte.NewRow();
                    Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Accion"]    = "2";
                    Dr_Nuevo_Elemento["Concepto"]  = "Monto facturado por el servicio de tratemiento de las descargas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")";

                    Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento);
                }

                int cont_x = 0;
                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  Facturacion********************************************************************************************************************
                foreach (DataRow Registro in Dt_Reporte.Rows)
                {
                    Registro.BeginEdit();

                    Db_Total = 0;

                    for (int Cont_For = 1; Cont_For <= 12; Cont_For++)
                    {
                        //Dt_Auxiliar = Dt_Consulta_Facturacion.Copy();
                        //Dt_Auxiliar.DefaultView.RowFilter = "giro_id = '" + Registro["tarifa_id"].ToString() + "' and bimestre = '" + Cont_For.ToString() + "'";
                        //Dt_Auxiliar = Dt_Auxiliar.DefaultView.ToTable();

                        Str_Nombre_Mes = "";
                        if (Dic_Meses.ContainsKey(Cont_For) == true)
                        {
                            Str_Nombre_Mes = Dic_Meses[Cont_For];
                        }//    fin de la validacion del diccionario

                        Db_Total_Concepto = 0;


                        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        if (Registro["Accion"].ToString() == "0")// Agua ó Agua_comercial
                        {
                            //foreach (DataColumn Columna in Dt_Consulta_Facturacion_Estimado_Si.Columns)
                            //{
                            //    Type Tipo_Dato = Columna.DataType;
                            //}


                            //  1   ********************************************************************************
                            Dc_Total_Facturado_Estimado_No = (from ord in Dt_Consulta_Facturacion_Estimado_No.AsEnumerable()
                                                              where (ord.Field <String>("Concepto_id") == Str_Concepto_Agua_Id ||
                                                                     ord.Field <String>("Concepto_id") == Str_Concepto_Agua_Comercial_Id) &&
                                                              ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() &&
                                                              ord.Field <Int32>("bimestre") == Cont_For
                                                              select ord.Field <Decimal>("Total_Facturado"))
                                                             .Sum();

                            cont_x++;

                            //if (cont_x == 28)
                            //{
                            //    String X = "";
                            //}

                            //  1   ********************************************************************************
                            Dc_Total_Facturado_Estimado_Si = (from ord in Dt_Consulta_Facturacion_Estimado_Si.AsEnumerable()
                                                              where (ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() &&
                                                                     ord.Field <Int32>("bimestre") == Cont_For)
                                                              select ord.Field <Decimal>("Agua"))
                                                             .Sum();
                        }
                        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        else if (Registro["Accion"].ToString() == "1")// DRENAJE
                        {
                            //  2   ********************************************************************************
                            Dc_Total_Facturado_Estimado_No = (from ord in Dt_Consulta_Facturacion_Estimado_No.AsEnumerable()
                                                              where ord.Field <String>("Concepto_id") == Str_Concepto_Drenaje_Id &&
                                                              ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() &&
                                                              ord.Field <Int32>("bimestre") == Cont_For
                                                              select ord.Field <Decimal>("Total_Facturado"))
                                                             .Sum();

                            //  2   ********************************************************************************
                            Dc_Total_Facturado_Estimado_Si = (from ord in Dt_Consulta_Facturacion_Estimado_Si.AsEnumerable()
                                                              where (ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() &&
                                                                     ord.Field <Int32>("bimestre") == Cont_For)
                                                              select ord.Field <Decimal>("drenaje"))
                                                             .Sum();
                        }
                        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        else if (Registro["Accion"].ToString() == "2")// SANEAMIENTO
                        {
                            //  3   ********************************************************************************
                            Dc_Total_Facturado_Estimado_No = (from ord in Dt_Consulta_Facturacion_Estimado_No.AsEnumerable()
                                                              where ord.Field <String>("Concepto_id") == Str_Concepto_Saneamiento_Id &&
                                                              ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() &&
                                                              ord.Field <Int32>("bimestre") == Cont_For
                                                              select ord.Field <Decimal>("Total_Facturado"))
                                                             .Sum();
                            //  3   ********************************************************************************
                            Dc_Total_Facturado_Estimado_Si = (from ord in Dt_Consulta_Facturacion_Estimado_Si.AsEnumerable()
                                                              where (ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() &&
                                                                     ord.Field <Int32>("bimestre") == Cont_For)
                                                              select ord.Field <Decimal>("saneamiento"))
                                                             .Sum();
                        }
                        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


                        //  se agrega el concepto al mes correspondiente
                        Registro[Str_Nombre_Mes] = Dc_Total_Facturado_Estimado_No + Dc_Total_Facturado_Estimado_Si;
                        Db_Total = Db_Total + Convert.ToDouble(Dc_Total_Facturado_Estimado_No) + Convert.ToDouble(Dc_Total_Facturado_Estimado_Si);
                    }

                    Registro["Total"] = Db_Total;
                    Db_Total          = 0;

                    Registro.EndEdit();
                    Registro.AcceptChanges();
                }


                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  Se ingresan los encabezados para los pagos
                foreach (DataRow Registro in Dt_Tarifas.Rows)
                {
                    Dr_Nuevo_Elemento = Dt_Reporte_Pagos.NewRow();
                    Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Accion"]    = "0";
                    Dr_Nuevo_Elemento["Concepto"]  = "Monto ingresados por el servicio de agua de las tomas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")";

                    Dt_Reporte_Pagos.Rows.Add(Dr_Nuevo_Elemento);
                    //********************************************************************************
                    //********************************************************************************
                    //********************************************************************************
                    Dr_Nuevo_Elemento = Dt_Reporte_Pagos.NewRow();
                    Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Accion"]    = "1";
                    Dr_Nuevo_Elemento["Concepto"]  = "Monto ingresados por el servicio de drenaje de las descargas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")";

                    Dt_Reporte_Pagos.Rows.Add(Dr_Nuevo_Elemento);
                    //********************************************************************************
                    //********************************************************************************
                    //********************************************************************************
                    Dr_Nuevo_Elemento = Dt_Reporte_Pagos.NewRow();
                    Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Accion"]    = "2";
                    Dr_Nuevo_Elemento["Concepto"]  = "Monto ingresados por el servicio de tratemiento de las descargas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")";

                    Dt_Reporte_Pagos.Rows.Add(Dr_Nuevo_Elemento);
                }


                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  pagos********************************************************************************************************************
                foreach (DataRow Registro in Dt_Reporte_Pagos.Rows)
                {
                    Registro.BeginEdit();

                    Db_Total = 0;

                    for (int Cont_For = 1; Cont_For <= 12; Cont_For++)
                    {
                        //if (Cont_For == 5)
                        //{
                        //    string x = "";

                        //}


                        Dt_Auxiliar = Dt_Consulta_Pagos.Copy();
                        Dt_Auxiliar.DefaultView.RowFilter = "giro_id = '" + Registro["tarifa_id"].ToString() + "' and mes = '" + Cont_For.ToString() + "'";
                        Dt_Auxiliar = Dt_Auxiliar.DefaultView.ToTable();

                        Str_Nombre_Mes = "";
                        if (Dic_Meses.ContainsKey(Cont_For) == true)
                        {
                            Str_Nombre_Mes = Dic_Meses[Cont_For];
                        }//    fin de la validacion del diccionario

                        Dc_Total_Pagado = 0;



                        if (Registro["Accion"].ToString() == "0")// Agua ó Agua_comercial
                        {
                            //foreach (DataColumn Columna in Dt_Consulta_Pagos.Columns)
                            //{
                            //    Type Tipo_Dato = Columna.DataType;
                            //}


                            //  1   ********************************************************************************
                            Dc_Total_Pagado = (from ord in Dt_Consulta_Pagos.AsEnumerable()
                                               where (ord.Field <String>("Concepto_id") == Str_Concepto_Agua_Id ||
                                                      ord.Field <String>("Concepto_id") == Str_Concepto_Agua_Comercial_Id) &&
                                               ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() &&
                                               ord.Field <Int32>("Mes") == Cont_For
                                               select ord.Field <Decimal>("Pagado"))
                                              .Sum();
                        }
                        else if (Registro["Accion"].ToString() == "1")// DRENAJE
                        {
                            //  2   ********************************************************************************
                            Dc_Total_Pagado = (from ord in Dt_Consulta_Pagos.AsEnumerable()
                                               where ord.Field <String>("Concepto_id") == Str_Concepto_Drenaje_Id &&
                                               ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() &&
                                               ord.Field <Int32>("Mes") == Cont_For
                                               select ord.Field <Decimal>("Pagado"))
                                              .Sum();
                        }
                        else if (Registro["Accion"].ToString() == "2")// SANEAMIENTO
                        {
                            //  3   ********************************************************************************
                            Dc_Total_Pagado = (from ord in Dt_Consulta_Pagos.AsEnumerable()
                                               where ord.Field <String>("Concepto_id") == Str_Concepto_Saneamiento_Id &&
                                               ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() &&
                                               ord.Field <Int32>("Mes") == Cont_For
                                               select ord.Field <Decimal>("Pagado"))
                                              .Sum();
                        }


                        //  se agrega el concepto al mes correspondiente
                        Registro[Str_Nombre_Mes] = Dc_Total_Pagado;
                        Db_Total = Db_Total + Convert.ToDouble(Dc_Total_Pagado);
                    }

                    Registro["Total"] = Db_Total;
                    Db_Total          = 0;

                    Registro.EndEdit();
                    Registro.AcceptChanges();
                }

                Rs_Consulta.P_Str_Usuario = "Servicio";

                //  se realizara la insercion de la informacion
                foreach (DataRow Registro in Dt_Reporte.Rows)
                {
                    Dt_Existencia.Clear();

                    Str_Nombre_Mes = "";
                    Str_Nombre_Mes = Dic_Meses[DateTime.Now.Month];
                    Rs_Consulta.P_Str_Nombre_Mes = Str_Nombre_Mes;
                    Rs_Consulta.P_Int_Servicio   = Convert.ToInt32(Registro["Accion"].ToString());
                    Rs_Consulta.P_Giro_Id        = Registro["tarifa_id"].ToString();
                    Rs_Consulta.P_Anio           = DateTime.Now.Year;
                    Rs_Consulta.P_Mes_Insercion  = DateTime.Now.Month;
                    Rs_Consulta.P_Dr_Registro    = Registro;
                    Dt_Existencia = Rs_Consulta.Consultar_Si_Existe_Registro_Facturacion();

                    //  validacion de la consulta
                    if (Dt_Existencia != null && Dt_Existencia.Rows.Count > 0)
                    {
                        //  actualizacion
                        Rs_Consulta.P_Id = Dt_Existencia.Rows[0]["ID"].ToString();
                        Rs_Consulta.Actualizar_Registro_Facturacion();
                    }// fin del if
                    else
                    {
                        //  insercion
                        Rs_Consulta.Insertar_Registro_Facturacion();
                    } // fin el else
                }     // fin foreach


                //  se realizara la insercion de la informacion
                foreach (DataRow Registro in Dt_Reporte_Pagos.Rows)
                {
                    Dt_Existencia.Clear();

                    Str_Nombre_Mes = "";
                    Str_Nombre_Mes = Dic_Meses[DateTime.Now.Month];
                    Rs_Consulta.P_Str_Nombre_Mes = Str_Nombre_Mes;
                    Rs_Consulta.P_Int_Servicio   = Convert.ToInt32(Registro["Accion"].ToString());
                    Rs_Consulta.P_Giro_Id        = Registro["tarifa_id"].ToString();
                    Rs_Consulta.P_Anio           = Convert.ToInt32(DateTime.Now.Year);
                    Rs_Consulta.P_Mes_Insercion  = DateTime.Now.Month;
                    Rs_Consulta.P_Dr_Registro    = Registro;
                    Dt_Existencia = Rs_Consulta.Consultar_Si_Existe_Registro_Pago();

                    //  validacion de la consulta
                    if (Dt_Existencia != null && Dt_Existencia.Rows.Count > 0)
                    {
                        //  actualizacion
                        Rs_Consulta.P_Id = Dt_Existencia.Rows[0]["ID"].ToString();
                        Rs_Consulta.Actualizar_Registro_Pago();
                    }// fin del if
                    else
                    {
                        //  insercion
                        Rs_Consulta.Insertar_Registro_Pago();
                    } // fin el else
                }     // fin foreach



                MessageBox.Show("Proceso exitoso", "Aviso");
            }
            catch (Exception Ex)
            {
                //Mostrar_Informacion(1, "Error: (Consultar_Notificaciones)" + Ex.ToString());
                MessageBox.Show("Error: (Consultar_Notificaciones)" + Ex.ToString(), "Aviso");
            }
        }
Esempio n. 3
0
        }// fin

        //*******************************************************************************
        //NOMBRE DE LA FUNCIÓN:Actualizar_Informacion
        //DESCRIPCIÓN: Metodo que permite llenar el Grid con la informacion de la consulta
        //PARAMETROS:
        //CREO       : Hugo Enrique Ramírez Aguilera
        //FECHA_CREO : 07/Abril/2016
        //MODIFICO:
        //FECHA_MODIFICO:
        //CAUSA_MODIFICACIÓN:
        //*******************************************************************************
        public void Actualizar_Informacion()
        {
            Cls_Rpt_Plan_Tomas_Negocio Rs_Consulta = new Cls_Rpt_Plan_Tomas_Negocio();
            DataTable Dt_Consulta             = new DataTable();
            DataTable Dt_Tarifas              = new DataTable();
            DataTable Dt_Reporte              = new DataTable();
            DataTable Dt_Reporte_Agua         = new DataTable();
            DataTable Dt_Existencia           = new DataTable();
            DataTable Dt_Reporte_MicroMedidor = new DataTable();
            DataTable Dt_Reporte_Descarga     = new DataTable();
            DataTable Dt_Auxiliar             = new DataTable();
            DataTable Dt_Resumen              = new DataTable();
            DataRow   Dr_Nuevo_Elemento;
            Int32     Int_Mes        = 0;
            String    Str_Nombre_Mes = "";
            Dictionary <Int32, String> Dic_Meses;

            //StreamWriter SW = new StreamWriter("C:\\Servicios_siac\\Historial.txt", true);

            try
            {
                //SW.WriteLine("************************************************************");

                Dic_Meses          = Cls_Metodos_Generales.Crear_Diccionario_Meses();
                Rs_Consulta.P_Anio = DateTime.Now.Year;
                Dt_Tarifas         = Rs_Consulta.Consultar_Tarifas_Giro();


                Dt_Reporte              = Crear_Tabla_Reporte();
                Dt_Reporte_Agua         = Crear_Tabla_Reporte();
                Dt_Reporte_MicroMedidor = Crear_Tabla_Reporte();
                Dt_Reporte_Descarga     = Crear_Tabla_Reporte();

                //SW.WriteLine("1___ " + DateTime.Now.ToString());


                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  Tomas domésticas  en localidades rurales integradas al sistema
                //Dr_Nuevo_Elemento = Dt_Reporte.NewRow();
                //Dr_Nuevo_Elemento["tarifa_Id"] = "Y";
                //Dr_Nuevo_Elemento["Giro_id"] = "0000000000";
                //Dr_Nuevo_Elemento["Tomas_Por_Tarifa"] = "Tomas domésticas  en localidades rurales integradas al sistema";
                //Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento);



                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  Se ingresan los encabezados para las tomas
                foreach (DataRow Registro in Dt_Tarifas.Rows)
                {
                    Dr_Nuevo_Elemento = Dt_Reporte_Agua.NewRow();
                    Dr_Nuevo_Elemento["tarifa_Id"]        = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Giro_id"]          = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Tomas_Por_Tarifa"] = "Tomas " + Registro["Nombre_Giro"].ToString() + " (" +
                                                            Registro["clave"].ToString() + ")" + " agua potable";


                    Dt_Reporte_Agua.Rows.Add(Dr_Nuevo_Elemento);
                }

                //   se consultan las tomas que se realizaron en el año de consulta
                Dt_Consulta = Rs_Consulta.Consultar_Tomas_Realizadas();

                //SW.WriteLine("************************************************************");
                //SW.WriteLine("2___ " + DateTime.Now.ToString());


                //  se recorre la tabla del reporte final
                foreach (DataRow Registro_Reporte in Dt_Reporte_Agua.Rows)
                {
                    Registro_Reporte.BeginEdit();

                    //  se recorre la informacion de la consulta
                    foreach (DataRow Registro_Consulta in Dt_Consulta.Rows)
                    {
                        //  se valida que sea la misma tarifa que la que se encuentra en el reporte
                        if (Registro_Reporte["Tarifa_Id"].ToString() == Registro_Consulta["giro_id"].ToString())
                        {
                            Int_Mes = 0;

                            //  validamos que tenga informacion el campo de mes, ya que se convertira a numerico
                            if (!String.IsNullOrEmpty(Registro_Consulta["Mes"].ToString()))
                            {
                                Int_Mes = Convert.ToInt32(Registro_Consulta["Mes"].ToString());

                                if (Dic_Meses.ContainsKey(Int_Mes) == true)
                                {
                                    Str_Nombre_Mes = Dic_Meses[Int_Mes];
                                }//    fin de la validacion del diccionario

                                Registro_Reporte[Str_Nombre_Mes] = Convert.ToDouble(Registro_Consulta["Total_Tomas"].ToString());
                            } // fin de la validacion mes
                        }     // fin del if tarifa id
                    }         // fin foreach consulta

                    Registro_Reporte.EndEdit();
                    Registro_Reporte.AcceptChanges();
                }// fin foreach reporte


                //SW.WriteLine("************************************************************");
                //SW.WriteLine("3___ " + DateTime.Now.ToString());

                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  segundo proceso tomas con medidor********************************************************************************************************************
                //  se ingresa el envabezao principal de los micromedidores

                foreach (DataRow Registro in Dt_Tarifas.Rows)
                {
                    Dr_Nuevo_Elemento = Dt_Reporte_MicroMedidor.NewRow();
                    Dr_Nuevo_Elemento["tarifa_Id"]        = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Tomas_Por_Tarifa"] = "Tomas " + Registro["Nombre_Giro"].ToString() + " (" +
                                                            Registro["clave"].ToString() + ")" + " con micromedidor";

                    Dt_Reporte_MicroMedidor.Rows.Add(Dr_Nuevo_Elemento);
                }

                Dt_Consulta = new DataTable();
                Dt_Consulta = Rs_Consulta.Consultar_Tomas_Con_Medidor();

                //  se recorre la tabla del reporte final
                foreach (DataRow Registro_Reporte in Dt_Reporte_MicroMedidor.Rows)
                {
                    Registro_Reporte.BeginEdit();

                    //  se recorre la informacion de la consulta
                    foreach (DataRow Registro_Consulta in Dt_Consulta.Rows)
                    {
                        //  se valida que sea la misma tarifa que la que se encuentra en el reporte
                        if (Registro_Reporte["Tarifa_Id"].ToString() == Registro_Consulta["giro_id"].ToString())
                        {
                            Int_Mes = 0;

                            //  validamos que tenga informacion el campo de mes, ya que se convertira a numerico
                            if (!String.IsNullOrEmpty(Registro_Consulta["Mes"].ToString()))
                            {
                                Int_Mes = Convert.ToInt32(Registro_Consulta["Mes"].ToString());

                                if (Dic_Meses.ContainsKey(Int_Mes) == true)
                                {
                                    Str_Nombre_Mes = Dic_Meses[Int_Mes];
                                }//    fin de la validacion del diccionario

                                Registro_Reporte[Str_Nombre_Mes] = Convert.ToDouble(Registro_Consulta["Total_Tomas"].ToString());
                            } // fin de la validacion mes
                        }     // fin del if tarifa id
                    }         // fin foreach consulta

                    Registro_Reporte.EndEdit();
                    Registro_Reporte.AcceptChanges();
                }// fin foreach reporte



                //SW.WriteLine("************************************************************");
                //SW.WriteLine("4___ " + DateTime.Now.ToString());


                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************
                //  tomas con descarga a la red de drenaje y saneamiento********************************************************************************************************************
                foreach (DataRow Registro in Dt_Tarifas.Rows)
                {
                    Dr_Nuevo_Elemento = Dt_Reporte_Descarga.NewRow();
                    Dr_Nuevo_Elemento["tarifa_Id"]        = Registro["giro_id"].ToString();
                    Dr_Nuevo_Elemento["Tomas_Por_Tarifa"] = "Descargas " + Registro["Nombre_Giro"].ToString() + " (" +
                                                            Registro["clave"].ToString() + ")" + " al sistema de drenaje sanitario";

                    Dt_Reporte_Descarga.Rows.Add(Dr_Nuevo_Elemento);
                }

                Dt_Consulta = new DataTable();

                Dt_Consulta = Rs_Consulta.Consultar_Tomas_Descarga();

                //  se recorre la tabla del reporte final
                foreach (DataRow Registro_Reporte in Dt_Reporte_Descarga.Rows)
                {
                    Registro_Reporte.BeginEdit();

                    //  se recorre la informacion de la consulta
                    foreach (DataRow Registro_Consulta in Dt_Consulta.Rows)
                    {
                        //  se valida que sea la misma tarifa que la que se encuentra en el reporte
                        if (Registro_Reporte["Tarifa_Id"].ToString() == Registro_Consulta["giro_id"].ToString())
                        {
                            Int_Mes = 0;

                            //  validamos que tenga informacion el campo de mes, ya que se convertira a numerico
                            if (!String.IsNullOrEmpty(Registro_Consulta["Mes"].ToString()))
                            {
                                Int_Mes = Convert.ToInt32(Registro_Consulta["Mes"].ToString());

                                if (Dic_Meses.ContainsKey(Int_Mes) == true)
                                {
                                    Str_Nombre_Mes = Dic_Meses[Int_Mes];
                                }//    fin de la validacion del diccionario

                                Registro_Reporte[Str_Nombre_Mes] = Convert.ToDouble(Registro_Consulta["Total_Tomas"].ToString());
                            } // fin de la validacion mes
                        }     // fin del if tarifa id
                    }         // fin foreach consulta

                    Registro_Reporte.EndEdit();
                    Registro_Reporte.AcceptChanges();
                }// fin foreach reporte



                //SW.WriteLine("************************************************************");
                //SW.WriteLine("5___ " + DateTime.Now.ToString());


                //********************************************************************************************************************
                //********************************************************************************************************************
                //********************************************************************************************************************

                //  se borraran las tarifas id, ya que comenzara con el tercer proceso
                foreach (DataRow Registro_Reporte in Dt_Reporte_Agua.Rows)
                {
                    Registro_Reporte.BeginEdit();

                    for (int Cont_For = 1; Cont_For <= 12; Cont_For++)
                    {
                        Str_Nombre_Mes = "";
                        if (Dic_Meses.ContainsKey(Cont_For) == true)
                        {
                            Str_Nombre_Mes = Dic_Meses[Cont_For];
                        }//    fin de la validacion del diccionario

                        if (String.IsNullOrEmpty(Registro_Reporte[Str_Nombre_Mes].ToString()))
                        {
                            Registro_Reporte[Str_Nombre_Mes] = 0;
                        }
                    }

                    Registro_Reporte.EndEdit();
                    Registro_Reporte.AcceptChanges();
                }

                //  se borraran las tarifas id, ya que comenzara con el tercer proceso
                foreach (DataRow Registro_Reporte in Dt_Reporte_MicroMedidor.Rows)
                {
                    Registro_Reporte.BeginEdit();

                    for (int Cont_For = 1; Cont_For <= 12; Cont_For++)
                    {
                        Str_Nombre_Mes = "";
                        if (Dic_Meses.ContainsKey(Cont_For) == true)
                        {
                            Str_Nombre_Mes = Dic_Meses[Cont_For];
                        }//    fin de la validacion del diccionario

                        if (String.IsNullOrEmpty(Registro_Reporte[Str_Nombre_Mes].ToString()))
                        {
                            Registro_Reporte[Str_Nombre_Mes] = 0;
                        }
                    }

                    Registro_Reporte.EndEdit();
                    Registro_Reporte.AcceptChanges();
                }

                //  se borraran las tarifas id, ya que comenzara con el tercer proceso
                foreach (DataRow Registro_Reporte in Dt_Reporte_Descarga.Rows)
                {
                    Registro_Reporte.BeginEdit();

                    for (int Cont_For = 1; Cont_For <= 12; Cont_For++)
                    {
                        Str_Nombre_Mes = "";
                        if (Dic_Meses.ContainsKey(Cont_For) == true)
                        {
                            Str_Nombre_Mes = Dic_Meses[Cont_For];
                        }//    fin de la validacion del diccionario

                        if (String.IsNullOrEmpty(Registro_Reporte[Str_Nombre_Mes].ToString()))
                        {
                            Registro_Reporte[Str_Nombre_Mes] = 0;
                        }
                    }

                    Registro_Reporte.EndEdit();
                    Registro_Reporte.AcceptChanges();
                }


                //SW.WriteLine("************************************************************");
                //SW.WriteLine("6___ " + DateTime.Now.ToString());


                //******************************************************************************************************************
                //******************************************************************************************************************
                //  se ingresara la informacion
                //  se realizara la insercion de la informacion
                foreach (DataRow Registro in Dt_Reporte_Agua.Rows)
                {
                    Dt_Existencia.Clear();
                    Str_Nombre_Mes = Dic_Meses[DateTime.Now.Month];
                    Rs_Consulta.P_Str_Nombre_Mes = Str_Nombre_Mes;
                    Rs_Consulta.P_Anio           = DateTime.Now.Year;
                    Rs_Consulta.P_Giro_Id        = Registro["tarifa_id"].ToString();
                    Rs_Consulta.P_Dr_Registro    = Registro;
                    Rs_Consulta.P_Str_Usuario    = "Servicio";

                    //  se consulta la existencia
                    Dt_Existencia = Rs_Consulta.Consultar_Si_Historico_Agua();

                    //  validacion de la consulta
                    if (Dt_Existencia != null && Dt_Existencia.Rows.Count > 0)
                    {
                        //  actualizacion
                        Rs_Consulta.P_Id = Dt_Existencia.Rows[0]["ID"].ToString();
                        Rs_Consulta.Actualizar_Registro_Agua();
                    }// fin del if
                    else
                    {
                        //  insercion
                        Rs_Consulta.Insertar_Registro_Agua();
                    }// fin el else
                }


                //SW.WriteLine("************************************************************");
                //SW.WriteLine("7___ " + DateTime.Now.ToString());


                //******************************************************************************************************************
                //******************************************************************************************************************
                //  se ingresara la informacion de los micromedidores **************************************************************
                foreach (DataRow Registro in Dt_Reporte_MicroMedidor.Rows)
                {
                    Dt_Existencia.Clear();
                    Str_Nombre_Mes = Dic_Meses[DateTime.Now.Month];
                    Rs_Consulta.P_Str_Nombre_Mes = Str_Nombre_Mes;
                    Rs_Consulta.P_Anio           = DateTime.Now.Year;
                    Rs_Consulta.P_Giro_Id        = Registro["tarifa_id"].ToString();
                    Rs_Consulta.P_Dr_Registro    = Registro;
                    Rs_Consulta.P_Str_Usuario    = "Servicio";

                    //  se consulta la existencia
                    Dt_Existencia = Rs_Consulta.Consultar_Si_Historico_Micromedidor();

                    //  validacion de la consulta
                    if (Dt_Existencia != null && Dt_Existencia.Rows.Count > 0)
                    {
                        //  actualizacion
                        Rs_Consulta.P_Id = Dt_Existencia.Rows[0]["ID"].ToString();
                        Rs_Consulta.Actualizar_Registro_Micromedidor();
                    }// fin del if
                    else
                    {
                        //  insercion
                        Rs_Consulta.Insertar_Registro_Micromedidor();
                    }// fin el else
                }


                //SW.WriteLine("************************************************************");
                //SW.WriteLine("8___ " + DateTime.Now.ToString());

                //******************************************************************************************************************
                //******************************************************************************************************************
                //  se ingresara la informacion de los descargas **************************************************************
                foreach (DataRow Registro in Dt_Reporte_Descarga.Rows)
                {
                    Dt_Existencia.Clear();
                    Str_Nombre_Mes = Dic_Meses[DateTime.Now.Month];
                    Rs_Consulta.P_Str_Nombre_Mes = Str_Nombre_Mes;
                    Rs_Consulta.P_Anio           = DateTime.Now.Year;
                    Rs_Consulta.P_Giro_Id        = Registro["tarifa_id"].ToString();
                    Rs_Consulta.P_Dr_Registro    = Registro;
                    Rs_Consulta.P_Str_Usuario    = "Servicio";

                    //  se consulta la existencia
                    Dt_Existencia = Rs_Consulta.Consultar_Si_Historico_Descargas();

                    //  validacion de la consulta
                    if (Dt_Existencia != null && Dt_Existencia.Rows.Count > 0)
                    {
                        //  actualizacion
                        Rs_Consulta.P_Id = Dt_Existencia.Rows[0]["ID"].ToString();
                        Rs_Consulta.Actualizar_Registro_Descargas();
                    }// fin del if
                    else
                    {
                        //  insercion
                        Rs_Consulta.Insertar_Registro_Descargas();
                    }// fin el else
                }

                //SW.WriteLine("************************************************************");
                //SW.WriteLine("9___ " + DateTime.Now.ToString());
            }
            catch (Exception Ex)
            {
                //SW.WriteLine("Error: " + Ex.Message);
            }
            finally
            {
                //SW.Close();
            }
        }// fin del metodo