Ejemplo n.º 1
0
        private static void asyncFileProc(HttpPostedFile fileContent)
        {
            var fileIdx  = files.Length;
            var filePath = string.Format(System.Configuration.ConfigurationManager.AppSettings["Avance"], "Documentos", "PlanOperativo", fileIdx, fileContent.FileName);

            fileContent.SaveAs(filePath);
            var codigoformato_ = new DataTable();

            codigoformato_.Load(new Clases.genericQueries().executeQueryReader("SELECT * FROM [dbo].[DocumentoFormato]"));
            var uhb = codigoformato_.Select(string.Format("Extension='{0}'", (fileContent.FileName.Substring(fileContent.FileName.LastIndexOf('.'), fileContent.FileName.Length - fileContent.FileName.LastIndexOf('.')))));

            _codigoformato = uhb != null?uhb.FirstOrDefault()["Id_DocumentoFormato"].ToString() : "0";

            _url         = filePath;
            _codtipointv = "1";
            _nombre      = fileContent.FileName;
            _borrado     = "0";
            _fecha       = DateTime.Today.ToShortDateString();
            var _qry = string.Format("INSERT INTO [dbo].[AvanceVentasPOAnexos]" +
                                     "([CodProducto],[NomDocumento],[CodContacto],[URL],[Mes],[CodDocumentoFormato],[Fecha],[Borrado],[Comentario],[CodTipoInterventor]) " +
                                     "VALUES ({0},'{1}',{2},'{3}',{4},{5},Convert(datetime,'{6}',103),{7},'{8}',{9}) ",
                                     _codCargo, _nombre, _codcontacto, _url, _mes, _codigoformato, _fecha, _borrado, _comentario, _codtipointv);
            var rdx = new Clases.genericQueries().executeQueryReader(_qry, 1);

            files  = null;
            _trsct = true;
            System.Threading.Thread.CurrentThread.Join();
        }
Ejemplo n.º 2
0
        private void CargarGridEmpleos()
        {
            DataTable respuesta  = new DataTable();
            DataTable respuesta2 = new DataTable();

            Datos.Consultas consultas = new Consultas();

            string consulta =
                " select cast(id_cargo as int) as IdCargo, cast(cargo as varchar(100)) as Cargo, valormensual as ValorMensual, ";

            consulta += " cast(GeneradoPrimerAno as varchar) as GeneradoPrimerAnio, Joven as EsJoven, Desplazado as EsDesplazado, Madre as EsMadre, ";
            consulta += " Minoria as EsMinoria, Recluido as EsRecluido, Desmovilizado as EsDesmovilizado, Discapacitado as EsDiscapacitado,  Desvinculado as EsDesvinculado ";
            consulta += " from  proyectoempleocargo right OUTER JOIN proyectogastospersonal ";
            consulta += "on id_cargo=codcargo where codproyecto= " + CodigoProyecto;

            respuesta = consultas.ObtenerDataTable(consulta, "text");

            string consulta2 = "select " +
                               " cast(id_insumo as int) as IdCargo, cast(nominsumo as varchar(100)) as Cargo, Convert(Numeric, sueldomes) as ValorMensual, cast(GeneradoPrimerAno as varchar)  as GeneradoPrimerAnio, Joven  as EsJoven, " +
                               " Desplazado as EsDesplazado, Madre as EsMadre, Minoria as EsMinoria,Recluido as EsRecluido, Desmovilizado as EsDesmovilizado, " +
                               " Discapacitado as EsDiscapacitado, Desvinculado as EsDesvinculado " +
                               " from proyectoinsumo " +
                               " inner join ProyectoProductoInsumo on id_Insumo = CodInsumo " +
                               " left join proyectoempleomanoobra on id_Insumo = CodManoObra " +
                               " where codTipoInsumo = 2 and CodProyecto = " + CodigoProyecto;

            respuesta2 = consultas.ObtenerDataTable(consulta2, "text");

            //Se crea nueva funcionalidad para enumerar cantidad de empleos a generar
            string consulta3 = "select * from ProyectoMetaSocial where codproyecto=" + CodigoProyecto;

            var empleosGenerar = consultas.ObtenerDataTable(consulta3, "text");

            var kjh = empleosGenerar.Compute("SUM([EmpleoIndirecto])", string.Format("[CodProyecto]={0}", CodigoProyecto)) ?? 0;

            primer_ano.Text = empleosGenerar.Rows.Count.ToString();

            Total_empleos.Text = string.IsNullOrEmpty(kjh.ToString()) ? "0" : kjh.ToString();
            var qry = "select (select COUNT(*) from proyectoinsumo inner join ProyectoProductoInsumo on CodInsumo = Id_Insumo LEFT OUTER JOIN" + " proyectoempleomanoobra  on id_insumo=codmanoobra where codtipoinsumo=2 and codproyecto={0}) + " +
                      "(select COUNT(*) from proyectoempleocargo right OUTER JOIN proyectogastospersonal  on id_cargo=codcargo where codproyecto={0}) as Conteototal, " +
                      "(select COUNT(*) from proyectoinsumo  inner join ProyectoProductoInsumo  on CodInsumo = Id_Insumo LEFT OUTER JOIN proyectoempleomanoobra on id_insumo=codmanoobra" + " where codtipoinsumo=2 and codproyecto={0} and GeneradoPrimerAno  is not null and GeneradoPrimerAno!=0) + " +
                      "(select COUNT(*) from proyectoempleocargo right OUTER JOIN proyectogastospersonal on id_cargo=codcargo  where codproyecto={0} and GeneradoPrimerAno is not null" + " and GeneradoPrimerAno!=0) as ConteoAño";
            var       xct      = new Clases.genericQueries().executeQueryReader(string.Format(qry, CodigoProyecto));
            DataTable dtEmpTtl = new DataTable();

            dtEmpTtl.Load(xct, LoadOption.OverwriteChanges);
            primer_ano.Text    = dtEmpTtl.Rows[0]["ConteoAño"].ToString();
            Total_empleos.Text = dtEmpTtl.Rows[0]["Conteototal"].ToString();
            if (respuesta2.Rows.Count > 0)
            {
                Label_ManoObra.Visible = true;
            }


            gw_Empleos.DataSource  = respuesta;
            gw_ManoObra.DataSource = respuesta2;
            gw_Empleos.DataBind();
            gw_ManoObra.DataBind();
        }
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            var         indicefila   = ((GridViewRow)((Control)sender).NamingContainer).RowIndex;
            GridViewRow GVInventario = GV_productoServicio.Rows[indicefila];

            String Id_Producto = GV_productoServicio.DataKeys[GVInventario.RowIndex].Value.ToString();

            var qry = string.Format("SELECT  ProyectoProductoInsumo.CodInsumo, ProyectoInsumo.nomInsumo FROM ProyectoProductoInsumo INNER JOIN " +
                                    "ProyectoInsumo ON ProyectoProductoInsumo.CodInsumo = ProyectoInsumo.Id_Insumo WHERE " +
                                    "(ProyectoProductoInsumo.CodProducto = {0})", Id_Producto);
            var tyu = new Clases.genericQueries().executeQueryReader(qry);
            var iop = string.Empty;

            while (tyu.Read())
            {
                iop += string.Format("{0} - {1}", tyu["CodInsumo"], tyu["nomInsumo"]);
            }
            qry = string.Format("Error durante la eliminación del producto, tiene asignados los siguientes insumos:{0}", iop);
            if (!string.IsNullOrEmpty(iop))
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "msg", string.Format("alert('{0}');", qry), true);
            }
            else
            {
                SqlCommand    cmd;
                SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());

                try
                {
                    conn.Open();
                    cmd = new SqlCommand("DELETE FROM [proyectoproductoprecio] WHERE [codproducto] = " + Id_Producto, conn);
                    //conn.Open();
                    cmd.ExecuteNonQuery();
                    //conn.Close();
                    cmd = new SqlCommand("DELETE FROM [proyectoproductounidadesventas] WHERE [codproducto] = " + Id_Producto, conn);
                    //conn.Open();
                    cmd.ExecuteNonQuery();
                    //conn.Close();
                    cmd = new SqlCommand("DELETE FROM [ProyectoProducto] WHERE [Id_Producto] = " + Id_Producto, conn);
                    //conn.Open();
                    cmd.ExecuteNonQuery();
                    //conn.Close();
                    ProyectoGeneral.GetUltimaActualizacion(lblUltimaActualizacion, lblFechaUltimaActualizacion, chkEsRealizado, btnUpdateTab, CodigoTab, CodigoProyecto);
                }
                catch (SqlException se)
                {
                    throw se;
                }
                finally
                {
                    conn.Close();
                    conn.Dispose();
                }
            }
            llenarGridView();
            Tabla_VentasUnidades();
            Tabla_IngresosVenta();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Carga el numero de salarios minimos prestados dependiendo de el numero de empleos generados
        /// </summary>
        protected void CargarNumeroSMLVNV()
        {
            int numeroEmpleosNV = 0;

            codigoConvocatoria = 0;

            var qry = "select (select COUNT(*) from proyectoinsumo inner join ProyectoProductoInsumo on CodInsumo = Id_Insumo LEFT OUTER JOIN" + " proyectoempleomanoobra  on id_insumo=codmanoobra where codtipoinsumo=2 and codproyecto={0}) + " +
                      "(select COUNT(*) from proyectoempleocargo right OUTER JOIN proyectogastospersonal  on id_cargo=codcargo where codproyecto={0}) as Conteototal, " +
                      "(select COUNT(*) from proyectoinsumo  inner join ProyectoProductoInsumo  on CodInsumo = Id_Insumo LEFT OUTER JOIN proyectoempleomanoobra on id_insumo=codmanoobra" + " where codtipoinsumo=2 and codproyecto={0} and GeneradoPrimerAno  is not null and GeneradoPrimerAno!=0) + " +
                      "(select COUNT(*) from proyectoempleocargo right OUTER JOIN proyectogastospersonal on id_cargo=codcargo  where codproyecto={0} and GeneradoPrimerAno is not null" + " and GeneradoPrimerAno!=0) as ConteoAño";
            var       xct      = new Clases.genericQueries().executeQueryReader(string.Format(qry, CodigoProyecto));
            DataTable dtEmpTtl = new DataTable();

            dtEmpTtl.Load(xct, LoadOption.OverwriteChanges);
            var total = dtEmpTtl.Rows[0]["Conteototal"].ToString();

            numeroEmpleosNV = Convert.ToInt32(total);

            try
            {
                using (Datos.FonadeDBDataContext consultas = new Datos.FonadeDBDataContext(cadenaConexion))
                {
                    var queryConvoca = (from cp in consultas.ConvocatoriaProyectos
                                        where cp.CodProyecto == Convert.ToInt32(CodigoProyecto)
                                        select new { cp.CodConvocatoria }
                                        ).FirstOrDefault();
                    if (queryConvoca != null)
                    {
                        codigoConvocatoria = queryConvoca.CodConvocatoria;
                    }
                    else
                    {
                        codigoConvocatoria = 1;
                    }
                }
            }
            catch
            {
                throw;
            }

            ConsultarSalarioSMLVNV(1, numeroEmpleosNV, codigoConvocatoria);
            ConsultarSalarioSMLVNV(2, numeroEmpleosNV, codigoConvocatoria);
            ConsultarSalarioSMLVNV(3, numeroEmpleosNV, codigoConvocatoria);
            ConsultarSalarioSMLVNV(4, numeroEmpleosNV, codigoConvocatoria);
            ConsultarSalarioSMLVNV(5, numeroEmpleosNV, codigoConvocatoria);
            ConsultarSalarioSMLVNV(6, numeroEmpleosNV, codigoConvocatoria);
        }
Ejemplo n.º 5
0
        public DataTable ProyectoInsumoPrecio()
        {
            var dttProyectoInsumoPrecio = new DataTable();
            int CodInsumo = 0;
            var qry       = string.Empty;

            qry = string.Format("SELECT [TiempoProyeccion] FROM [dbo].[ProyectoMercadoProyeccionVentas] WHERE [CodProyecto] = {0}",
                                Convert.ToInt32(HttpContext.Current.Session["CodProyecto"] ?? 0)); var okm = new Clases.genericQueries().executeQueryReader(qry);
            okm.Read();
            int TiempoProyeccion = okm["TiempoProyeccion"] == null ?0:Convert.ToInt32(okm["TiempoProyeccion"]);

            Session["TiempoProyeccion"] = TiempoProyeccion;
            CodInsumo = Session["Insumo"] == null ? 0 : Convert.ToInt32(Session["Insumo"]);
            string Camposformat = "SELECT CONVERT(varchar, convert(money, isnull([1],0)), 1) [Costo Año1] ,CONVERT(varchar, convert(money, isnull([2],0)), 1) [Costo Año2], CONVERT(varchar, convert(money, isnull([3],0)), 1)  [Costo Año3]," +
                                  "CONVERT(varchar, convert(money, isnull([4],0)), 1) [Costo Año4], CONVERT(varchar, convert(money, isnull([5],0)), 1)  [Costo Año5],CONVERT(varchar, convert(money, isnull([6],0)), 1) [Costo Año6]," +
                                  "CONVERT(varchar, convert(money, isnull([6],0)), 1)  [Costo Año7],isnull([8],0) [Costo Año8],CONVERT(varchar, convert(money, isnull([9],0)), 1)  [Costo Año9],CONVERT(varchar, convert(money, isnull([10],0)), 1) [Costo Año10]  ";

            Camposformat += "FROM (SELECT CodInsumo, Periodo, Precio FROM [dbo].[ProyectoInsumoPrecio]) N PIVOT(SUM(Precio) FOR [Periodo] IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10]) ) AS Periodo WHERE CodInsumo = " + CodInsumo;
            dttProyectoInsumoPrecio.Load(new Clases.genericQueries().executeQueryReader(Camposformat));
            var idx = dttProyectoInsumoPrecio.Columns.Count;
            var inx = TiempoProyeccion;

            while (idx > inx)
            {
                --idx;
                dttProyectoInsumoPrecio.Columns.RemoveAt(idx);
            }
            if (dttProyectoInsumoPrecio.Rows.Count == 0)
            {
                var ijn = dttProyectoInsumoPrecio.NewRow();
                for (int k = 0; k < dttProyectoInsumoPrecio.Columns.Count; k++)
                {
                    ijn[k] = 0;
                }
                dttProyectoInsumoPrecio.Rows.Add(ijn);
            }
            return(dttProyectoInsumoPrecio);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Crear, Actualizar, Eliminar.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void B_Crear_Click(object sender, EventArgs e)
        {
            //Inicializar variables.
            SqlConnection conn         = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());
            SqlCommand    cmd          = new SqlCommand();
            DataTable     RsActividad  = new DataTable();
            bool          bRepetido    = false;
            string        correcto     = "";
            DataTable     Rs           = new DataTable();
            String        ActividadTmp = "";
            String        validado     = "";

            //Establecer el valor de la variable "CodTipo" de acuerdo a la selección del ítem en el DropDownList.
            if (DD_TipoIndicador.SelectedValue == "1")
            {
                CodTipo = Constantes.CONST_IndicadoresGen;
            }
            else
            {
                CodTipo = Constantes.CONST_IndicadoresEsp;
            }

            validado = ValidarCampos();

            if (validado.Trim() == "")
            {
                if (B_Crear.Text.Equals("EDITAR") || B_Crear.Text == "Actualizar" || B_Crear.Text == "Modificar")
                {
                    #region Editar.

                    //Si es interventor actualiza los registros en tablas temporales para la aprobación del coordinador
                    //y el gerente INTERVENTOR.

                    #region Procesar si es Interventor.

                    if (usuario.CodGrupo == Constantes.CONST_Interventor)
                    {
                        //Verifica si el interventor tiene un coordinador asignado.
                        txtSQL = "select CodCoordinador from interventor where codcontacto = " + usuario.IdContacto;

                        var dt = consultas.ObtenerDataTable(txtSQL, "text");

                        if (dt.Rows.Count > 0)
                        {
                            #region Asigna la tarea al coordinador.

                            #region COMENTARIOS NO BORRAR!
                            //txtSQL = " Insert into InterventorIndicadorTMP (Id_indicadorinter, CodProyecto, Aspecto, FechaSeguimiento, Numerador, Denominador, Descripcion, RangoAceptable, CodTipoIndicadorInter, Observacion, Tarea) " +
                            //         " values (" + CodIndicador + "," + CodProyecto + ",'" + TB_Aspecto.Text.Trim() + "','" + TB_fechaSeguimiento.Text.Trim() + "', '" + TB_Numerador.Text.Trim() + "', '" + TB_Denominador.Text.Trim() + "', '" + TB_Descripcion.Text.Trim() + "', " + TB_rango.Text.Trim() + "," + CodTipo + ",'" + TB_Observacion.Text.Trim() + "','Modificar')";

                            ////Ejecutar consulta.
                            //cmd = new SqlCommand(txtSQL, conn);
                            //correcto = String_EjecutarSQL(conn, cmd);

                            //if (correcto != "") { }
                            ////EN FONADE Clásico, este código está comentado.
                            ////prTareaAsignarCoordinadorIndicadores Rs("CodCoordinador"),Session("CodUsuario"),CodProyecto,txtNomProyecto,CodIndicador
                            #endregion

                            txtSQL = @" Insert into InterventorIndicadorTMP (Id_indicadorinter, CodProyecto, Aspecto, FechaSeguimiento, Numerador, Denominador, Descripcion, RangoAceptable, CodTipoIndicadorInter, Observacion, Tarea) " +
                                     " values (" + CodIndicador + "," + CodProyecto + ",'" + TB_Aspecto.Text.Trim() + "','" + TB_fechaSeguimiento.Text.Trim() + "', '" + TB_Numerador.Text.Trim() + "', '" + TB_Denominador.Text.Trim() + "', '" + TB_Descripcion.Text.Trim() + "', " + TB_rango.Text.Trim() + "," + CodTipo + ",'" + TB_Observacion.Text.Trim() + "','Modificar')";

                            //Ejecutar setencia.
                            ejecutaReader(txtSQL, 2);

                            #endregion
                        }
                        else
                        {
                            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('No tiene ningún coordinador asignado.')", true);
                        }
                    }

                    #endregion

                    #region Coordinador de Interventoría.

                    if (usuario.CodGrupo == Constantes.CONST_CoordinadorInterventor)
                    {
                        if (checkAprobar.Checked)
                        {
                            #region Actualización.

                            txtSQL = " UPDATE InterventorIndicadorTMP SET ChequeoCoordinador = 1 " +
                                     " where CodProyecto = " + CodProyecto + " and Id_indicadorinter = " + CodIndicador;

                            //Ejecutar consulta.
                            cmd      = new SqlCommand(txtSQL, conn);
                            correcto = String_EjecutarSQL(conn, cmd);

                            if (correcto != "")
                            {
                            }

                            #endregion

                            #region MyRegion (1).

                            txtSQL      = " select Id_grupo from Grupo where NomGrupo = 'Gerente Interventor' ";
                            RsActividad = consultas.ObtenerDataTable(txtSQL, "text");

                            #endregion

                            #region MyRegion (2).

                            txtSQL      = " select CodContacto from GrupoContacto where CodGrupo = " + RsActividad.Rows[0]["Id_Grupo"].ToString();
                            RsActividad = consultas.ObtenerDataTable(txtSQL, "text");

                            #endregion

                            #region Comentado en el clásico.

                            //'prTareaAsignarGerenteIndicadores RsActividad("CodContacto"),Session("CodUsuario"),CodProyecto,txtNomProyecto,CodIndicador

                            /*
                             * Actualización requerimiento REV COORDINT14 checklist-final-diciembre 19-02-015
                             * Envío de tareas al Gerente administrador
                             */

                            var gerInterv = new Clases.genericQueries()
                                            .getGerenteInterventorProyecto(Convert.ToInt32(CodProyecto ?? "0"), usuario.CodOperador);
                            var agendar =
                                new Clases.AgendarTarea(gerInterv.Id_Contacto, "Verificacion indicador de gestion", "Confirmar actualización del indicador en cuestion", CodProyecto, 13, string.Empty, true, 1, false, false, usuario.IdContacto, string.Empty, string.Empty, string.Empty);
                            agendar.Agendar();
                            #endregion

                            RsActividad = null;
                            txtSQL      = null;
                        }
                        //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "window.opener.location.reload();", true);
                        //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Salida por solicitud del usuario", "window.close();", true);
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "window.close();", true);
                    }

                    #endregion

                    #region Gerente de interventoría.

                    if (usuario.CodGrupo == Constantes.CONST_GerenteInterventor)
                    {
                        if (checkAprobar.Checked)
                        {
                            #region TRAE LOS REGISTROS DE LA TABLA TEMPORAL.

                            txtSQL = " select * from InterventorIndicadorTMP where CodProyecto = " + CodProyecto +
                                     " and Id_indicadorinter = " + CodIndicador;

                            RsActividad = consultas.ObtenerDataTable(txtSQL, "text");

                            #endregion

                            #region INSERTA LOS NUEVOS REGISTROS EN LA TABLA DEFINITIVA.

                            string aspecto     = "";
                            string descripcion = "";
                            string observacion = "";

                            try { aspecto = RsActividad.Rows[0]["Aspecto"].ToString().Replace("'", ""); }
                            catch { aspecto = RsActividad.Rows[0]["Aspecto"].ToString(); }

                            try { descripcion = RsActividad.Rows[0]["Descripcion"].ToString().Replace("'", ""); }
                            catch { descripcion = RsActividad.Rows[0]["Descripcion"].ToString(); }

                            try { observacion = RsActividad.Rows[0]["Observacion"].ToString().Replace("'", ""); }
                            catch { observacion = RsActividad.Rows[0]["Observacion"].ToString(); }

                            txtSQL = " INSERT INTO InterventorIndicador(CodProyecto, Aspecto, FechaSeguimiento, Numerador, Denominador, Descripcion, RangoAceptable, CodTipoIndicadorInter, Observacion) " +
                                     " VALUES (" + CodProyecto + ", '" + aspecto + "', '" + RsActividad.Rows[0]["FechaSeguimiento"].ToString() + "', '" + RsActividad.Rows[0]["Numerador"].ToString().Replace("'", ".") + "', '" + RsActividad.Rows[0]["Denominador"].ToString() + "', '" + descripcion + "', " + RsActividad.Rows[0]["RangoAceptable"].ToString() + "," + RsActividad.Rows[0]["CodTipoIndicadorInter"].ToString() + ", '" + observacion + "')";

                            //Ejecutar consulta.
                            ejecutaReader(txtSQL, 2);
                            //cmd = new SqlCommand(txtSQL, conn);
                            //correcto = String_EjecutarSQL(conn, cmd);

                            //if (correcto != "") { }

                            #endregion

                            //Actualizar fecha modificación del tab.
                            prActualizarTabInter(txtTab.ToString(), CodProyecto);
                            bRepetido = false;

                            #region BORRAR EL REGISTRO YA INSERTADO DE LA TABLA TEMPORAL.

                            txtSQL = " DELETE FROM InterventorIndicadorTMP where CodProyecto = " + CodProyecto + " and Id_indicadorinter = " + CodIndicador;

                            //Ejecutar consulta.
                            ejecutaReader(txtSQL, 2);
                            //cmd = new SqlCommand(txtSQL, conn);
                            //correcto = String_EjecutarSQL(conn, cmd);

                            //if (correcto != "") { }

                            #endregion
                        }

                        #region El siguiente código se ha dejado comentado porque no es claro de dónde se crea la variable "Session("Tarea")".

                        #region Actualizar.

                        //        If Session("CodGrupo") = CONST_GerenteInterventor and Session("Tarea") = "Modificar" Then
                        //    If request("AprobarGerente")=1 Then
                        //        'TRAE LOS REGISTROS DE LA TABLA TEMPORAL
                        //        txtSQL = "select * from InterventorIndicadorTMP "&_
                        //                    "where CodProyecto="&CodProyecto&" and Id_indicadorinter="&CodIndicador
                        //        Set RsActividad = Conn.Execute(txtSQL)

                        //        'ACTUALIZA LOS REGISTROS EN LA TABLA DEFINITIVA
                        //        txtSQL=	"UPDATE InterventorIndicador "&_
                        //                "SET Aspecto = '"&replace(RsActividad("Aspecto"),"'","")&"', "&_
                        //                    "FechaSeguimiento = '"&RsActividad("FechaSeguimiento")&"', "&_
                        //                    "Numerador = '"&RsActividad("Numerador")&"', "&_
                        //                    "Denominador = '"&RsActividad("Denominador")&"', "&_
                        //                    "Descripcion = '"&replace(RsActividad("Descripcion"),"'","")&"', "&_
                        //                    "RangoAceptable = "&RsActividad("RangoAceptable")&", "&_
                        //                    "CodTipoIndicadorInter = "&RsActividad("CodTipoIndicadorInter")&", "&_
                        //                    "Observacion = '"&replace(RsActividad("Observacion"),"'","")&"' "&_
                        //                "WHERE Id_IndicadorInter=" & CodIndicador
                        //        Conn.Execute txtSQL

                        //        'Actualizar fecha modificación del tab
                        //        prActualizarTabInter txtTab, CodProyecto
                        //        bRepetido = false

                        //        'BORRAR EL REGISTRO YA ACTUALIZADO DE LA TABLA TEMPORAL
                        //        txtSQL = "DELETE FROM InterventorIndicadorTMP "&_
                        //                        "where CodProyecto="&CodProyecto&" and Id_indicadorinter="&CodIndicador
                        //        Conn.Execute(txtSQL)
                        //    End If
                        //    txtScript = "document.location.reload();" & vbCrLf & "window.close();"
                        //End If

                        //If Session("CodGrupo") = CONST_GerenteInterventor and Session("Tarea") = "Borrar" Then
                        //    If request("AprobarGerente")=1 Then
                        //        'BORRA LOS REGISTROS EN LA TABLA DEFINITIVA
                        //        txtSQL = "DELETE FROM InterventorIndicador WHERE Id_IndicadorInter="&CodIndicador
                        //        Conn.execute(txtSQL)

                        //        'Actualizar fecha modificación del tab
                        //        prActualizarTabInter txtTab, CodProyecto

                        //        'BORRAR EL REGISTRO YA INSERTADO DE LA TABLA TEMPORAL
                        //        txtSQL = "DELETE FROM InterventorIndicadorTMP "&_
                        //                        "where CodProyecto="&CodProyecto&" and Id_indicadorinter="&CodIndicador
                        //        Conn.Execute(txtSQL)
                        //    End If
                        //    txtScript = "document.location.reload();" & vbCrLf & "window.close();"
                        //End If

                        #endregion

                        #region Eliminar.

                        //            If Session("CodGrupo") = CONST_GerenteInterventor and Session("Tarea") = "Borrar" Then
                        //    If request("AprobarGerente")=1 Then
                        //        'BORRA LOS REGISTROS EN LA TABLA DEFINITIVA
                        //        txtSQL = "DELETE FROM InterventorIndicador WHERE Id_IndicadorInter="&CodIndicador
                        //        Conn.execute(txtSQL)

                        //        'Actualizar fecha modificación del tab
                        //        prActualizarTabInter txtTab, CodProyecto

                        //        'BORRAR EL REGISTRO YA INSERTADO DE LA TABLA TEMPORAL
                        //        txtSQL = "DELETE FROM InterventorIndicadorTMP "&_
                        //                        "where CodProyecto="&CodProyecto&" and Id_indicadorinter="&CodIndicador
                        //        Conn.Execute(txtSQL)
                        //    End If
                        //    txtScript = "document.location.reload();" & vbCrLf & "window.close();"
                        //End If

                        #endregion

                        #endregion

                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "window.close();", true);
                    }

                    #endregion

                    #endregion
                }
                if (B_Crear.Text.Equals("Modificar"))
                {
                    ClientScriptManager cm = this.ClientScript;

                    txtSQL = " UPDATE InterventorIndicador SET " +
                             " Aspecto = '" + TB_Aspecto.Text + "', " +
                             " FechaSeguimiento = '" + TB_fechaSeguimiento.Text + "', " +
                             " Numerador = '" + TB_Numerador.Text + "', " +
                             " Denominador = '" + TB_Denominador.Text + "', " +
                             " Descripcion = '" + TB_Descripcion.Text + "', " +
                             " RangoAceptable = '" + TB_rango.Text + "', " +
                             " Observacion = '" + TB_Observacion.Text + "'" +
                             " WHERE id_indicadorInter = " + CodIndicador;
                    ejecutaReader(txtSQL, 2);
                    cm.RegisterClientScriptBlock(this.GetType(), "", "<script type='text/javascript'>window.close();</script>");
                }
                if (B_Crear.Text.Equals("CREAR"))
                {
                    #region Crear "Nueva versión".

                    if (usuario.CodGrupo == Constantes.CONST_Interventor)
                    {
                        if (string.IsNullOrEmpty(TB_Aspecto.Text) ||
                            string.IsNullOrEmpty(TB_Numerador.Text) ||
                            string.IsNullOrEmpty(TB_Descripcion.Text) ||
                            string.IsNullOrEmpty(TB_fechaSeguimiento.Text) ||
                            string.IsNullOrEmpty(TB_rango.Text) ||
                            string.IsNullOrEmpty(DD_TipoIndicador.Text))
                        {
                            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('Hay algunos campos requeridos')", true);
                            return;
                        }
                        else
                        {
                            if (DD_TipoIndicador.SelectedValue.Equals("1"))
                            {
                                if (TB_Denominador.Visible == true)
                                {
                                    if (String.IsNullOrEmpty(TB_Denominador.Text))
                                    {
                                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('El Campo Denominador es requerido')", true);
                                        return;
                                    }
                                }
                            }

                            //Verifica si el interventor tiene un coordinador asignado
                            txtSQL = " select CodCoordinador from interventor where codcontacto = " + usuario.IdContacto;
                            Rs     = consultas.ObtenerDataTable(txtSQL, "text");

                            if (Rs.Rows.Count > 0)
                            {
                                ClientScriptManager cm = this.ClientScript;
                                //Asigna la tarea al coordinador
                                //Variable para capturar el número temporal de la actividad
                                String txtSQL2;
                                txtSQL2 = "SELECT max(Id_indicadorinter)+1 FROM InterventorIndicadorTMP";
                                var Num    = consultas.ObtenerDataTable(txtSQL2, "text");
                                int numMax = int.Parse(Num.Rows[0][0].ToString());

                                if (numMax > 0)
                                {
                                    ActividadTmp = numMax++.ToString();
                                }
                                else
                                {
                                    ActividadTmp = "1";
                                }

                                #region Inserción (versión 1 COMENTADA).

                                //txtSQL = " Insert into InterventorIndicadorTMP (Id_indicadorinter, CodProyecto, Aspecto, FechaSeguimiento, Numerador, Denominador, Descripcion, RangoAceptable, CodTipoIndicadorInter, Observacion) " +
                                //         " values (" + ActividadTmp + "," + CodProyecto + ",'" + TB_Aspecto.Text + "','" + TB_fechaSeguimiento.Text + "', '" + TB_Numerador.Text + "', '" + TB_Denominador.Text + "', '" + TB_Descripcion.Text + "', " + TB_rango.Text + "," + CodTipo + ",'" + TB_Observacion.Text + "')";
                                //try
                                //{
                                //    //NEW RESULTS:
                                //    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString);
                                //    cmd = new SqlCommand(txtSQL, con);

                                //    if (con != null) { if (con.State != ConnectionState.Open) { con.Open(); } }
                                //    cmd.CommandType = CommandType.Text;
                                //    cmd.ExecuteNonQuery();
                                //    con.Close();
                                //    con.Dispose();
                                //    cmd.Dispose();
                                //}
                                //catch { }

                                ////prTareaAsignarCoordinadorIndicadores Rs("CodCoordinador"),Session("CodUsuario"),CodProyecto,txtNomProyecto,ActividadTmp

                                #endregion

                                #region Inserción (versión 2).

                                //txtSQL = @" Insert into InterventorIndicadorTMP (Id_indicadorinter, CodProyecto, Aspecto, FechaSeguimiento, Numerador, Denominador, Descripcion, RangoAceptable, CodTipoIndicadorInter, Observacion) " +
                                //         " values (" + ActividadTmp + "," + CodProyecto + ",'" + TB_Aspecto.Text + "','" + TB_fechaSeguimiento.Text + "', '" + TB_Numerador.Text + "', '" + TB_Denominador.Text + "', '" + TB_Descripcion.Text + "', " + TB_rango.Text + "," + CodTipo + ",'" + TB_Observacion.Text + "')";

                                //Se actualiza la consulta de la insercion
                                txtSQL = @" Insert into InterventorIndicadorTMP (Id_indicadorinter, CodProyecto, Aspecto, FechaSeguimiento, Numerador, Denominador, Descripcion, RangoAceptable, CodTipoIndicadorInter, Observacion) " +
                                         " values (" + ActividadTmp + "," + CodProyecto + ",'" + TB_Aspecto.Text + "','" + TB_fechaSeguimiento.Text + "', '" + TB_Numerador.Text + "', '" + TB_Denominador.Text + "', '" + TB_Descripcion.Text + "', " + TB_rango.Text + "," + CodTipo + ",'" + TB_Observacion.Text + "')";


                                //Ejecutar setencia.
                                ejecutaReader(txtSQL, 2);

                                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Salida por solicitud del usuario", "window.close();", true);
                                #endregion
                            }
                            else
                            {
                                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('No tiene ningún coordinador asignado.')", true);
                            }
                        }
                    }


                    #endregion
                }
                if (B_Crear.Text.Equals("ELIMINAR"))
                {
                    #region Eliminar.

                    if (usuario.CodGrupo == Constantes.CONST_Interventor)
                    {
                        //Verifica si el interventor tiene un coordinador asignado.
                        txtSQL = " select CodCoordinador from interventor where codcontacto = " + usuario.IdContacto;

                        Rs = consultas.ObtenerDataTable(txtSQL, "text");

                        if (Rs.Rows.Count > 0)
                        {
                            #region Asigna la tarea al coordinador (inserción).
                            txtSQL = "SELECT * FROM InterventorIndicador WHERE CodIndicador = " + CodIndicador;

                            RsActividad = consultas.ObtenerDataTable(txtSQL, "text");

                            txtSQL = "Insert into InterventorIndicadorTMP (CodIndicador,CodProyecto,Aspecto,FechaSeguimiento,Numerador,Denominador,Descripcion,RangoAceptable,CodTipoIndicadorInter,Observacion,Tarea) " +
                                     " values (" + CodIndicador + "," + CodProyecto + ",'" + RsActividad.Rows[0]["Aspecto"].ToString() + "','" + RsActividad.Rows[0]["FechaSeguimiento"].ToString() + "', '" + RsActividad.Rows[0]["Numerador"].ToString() + "', '" + RsActividad.Rows[0]["Denominador"].ToString() + "', '" + RsActividad.Rows[0]["Descripcion"].ToString() + "', " + RsActividad.Rows[0]["RangoAceptable"].ToString() + "," + RsActividad.Rows[0]["CodTipoIndicadorInter"].ToString() + ",'" + RsActividad.Rows[0]["Observacion"].ToString() + "','Borrar')";
                            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString);
                            try
                            {
                                //NEW RESULTS:

                                cmd = new SqlCommand("MD_Update_EmpresaInterventor", con);

                                if (con != null)
                                {
                                    if (con.State != ConnectionState.Open)
                                    {
                                        con.Open();
                                    }
                                }
                                cmd.CommandType = CommandType.Text;
                                cmd.ExecuteNonQuery();
                                //con.Close();
                                //con.Dispose();
                                cmd.Dispose();
                            }
                            catch { }
                            finally {
                                con.Close();
                                con.Dispose();
                            }
                            #endregion
                        }
                        else
                        {
                            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('No tiene ningún coordinador asignado.')", true);
                        }

                        RsActividad = null;
                        Rs          = null;
                        txtSQL      = null;
                    }

                    //Recargar la página padre y cerrar la actual "emergente".
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "window.opener.location.reload();", true);
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Salida por solicitud del usuario", "window.close();", true);

                    #endregion
                }
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "window.opener.location.reload();", true);
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Salida por solicitud del usuario", "window.close();", true);
            }
            else
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('" + validado + ".')", true);
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "window.opener.location.reload();", true);
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Salida por solicitud del usuario", "window.close();", true);
                return;
            }
        }