Exemple #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
Exemple #2
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