示例#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
示例#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");
            }
        }
        private void botonActualizar_Click(object sender, System.EventArgs e)
        {
            DataSet Ejecucion = EjecucionObrasBD.EjecucionObras("2005", Fecha.Text);

            DataColumn Columna;

            Columna               = new DataColumn();
            Columna.DataType      = Ejecucion.Tables[0].Columns["Asignado"].DataType;
            Columna.ColumnName    = "Acordado";
            Columna.AutoIncrement = false;
            Columna.Caption       = "Acordado";
            Ejecucion.Tables[0].Columns.Add(Columna);

            Columna               = new DataColumn();
            Columna.DataType      = Ejecucion.Tables[0].Columns["Asignado"].DataType;
            Columna.ColumnName    = "Disponible";
            Columna.AutoIncrement = false;
            Columna.Caption       = "Disponible";
            Ejecucion.Tables[0].Columns.Add(Columna);

            Columna               = new DataColumn();
            Columna.DataType      = Ejecucion.Tables[0].Columns["Asignado"].DataType;
            Columna.ColumnName    = "Deuda";
            Columna.AutoIncrement = false;
            Columna.Caption       = "Deuda";
            Ejecucion.Tables[0].Columns.Add(Columna);

            string Partida = Ejecucion.Tables[0].Rows[0]["Nro_Det"].ToString();

            foreach (DataRow Registro in Ejecucion.Tables[0].Rows)
            {
                Registro.BeginEdit();

                string Modificado = Registro["Modificado"].ToString();
                if ((Modificado == null) || (Modificado == ""))
                {
                    Registro["Modificado"] = 0;
                }

                string Reintegro = Registro["Reintegro"].ToString();
                if ((Reintegro == null) || (Reintegro == ""))
                {
                    Registro["Reintegro"] = 0;
                }

                string Comprometido = Registro["Comprometido"].ToString();
                if ((Comprometido == null) || (Comprometido == ""))
                {
                    Registro["Comprometido"] = 0;
                }

                string Causado = Registro["Causado"].ToString();
                if ((Causado == null) || (Causado == ""))
                {
                    Registro["Causado"] = 0;
                }

                string Pagado = Registro["Pagado"].ToString();
                if ((Pagado == null) || (Pagado == ""))
                {
                    Registro["Pagado"] = 0;
                }

                Registro["Acordado"] = Convert.ToDouble(Registro["Asignado"]) + Convert.ToDouble(Registro["Modificado"]);

                Registro["Disponible"] = (Convert.ToDouble(Registro["Asignado"]) + Convert.ToDouble(Registro["Modificado"])) - Convert.ToDouble(Registro["Comprometido"]) + Convert.ToDouble(Registro["Reintegro"]);

                Registro["Deuda"] = Convert.ToDouble(Registro["Causado"]) - Convert.ToDouble(Registro["Pagado"]);

                Registro.AcceptChanges();
            }

            Datos.DataSource = Ejecucion;
            Datos.DataBind();
        }