コード例 #1
0
        /// <summary>
        /// Leonardo Carrion
        /// 17/mar/2021
        /// Efecto: devuelve la lista de partidas segun la ejecucion ingresada
        /// Requiere: ejecucion
        /// Modifica: -
        /// Devuelve: lista de partidas
        /// </summary>
        /// <param name="ejecucion"></param>
        /// <returns></returns>
        public List <Partida> getPartidasPorEjecucion(Ejecucion ejecucion)
        {
            SqlConnection sqlConnection = conexion.conexionPEP();

            List <Partida> listaPartidas = new List <Partida>();

            String consulta = @"select * from Partida where id_partida in (
select distinct id_partida from Ejecucion_Unidad_Partida where id_ejecucion=@idEjecucion
)";

            SqlCommand sqlCommand = new SqlCommand(consulta, sqlConnection);

            sqlCommand.Parameters.AddWithValue("@idEjecucion", ejecucion.idEjecucion);

            SqlDataReader reader;

            sqlConnection.Open();
            reader = sqlCommand.ExecuteReader();

            while (reader.Read())
            {
                Partida partida = new Partida();
                partida.idPartida          = Convert.ToInt32(reader["id_partida"].ToString());
                partida.numeroPartida      = reader["numero_partida"].ToString();
                partida.descripcionPartida = reader["descripcion_partida"].ToString();
                partida.esUCR              = Boolean.Parse(reader["esUCR"].ToString());
                partida.periodo            = new Periodo();
                partida.periodo.anoPeriodo = Convert.ToInt32(reader["ano_periodo"].ToString());
                listaPartidas.Add(partida);
            }

            sqlConnection.Close();

            return(listaPartidas);
        }
コード例 #2
0
        public async Task <bool> CrearEjecucionesDeIndicador(Indicador indicador)
        {
            bool           error    = false;
            List <Periodo> periodos = await db.Periodo.ToListAsync();

            foreach (var periodo in periodos)
            {
                Ejecucion ejecucionn = new Ejecucion();
                ejecucionn.idindicador = indicador.id;
                ejecucionn.idperiodo   = periodo.id;
                ejecucionn.planeado    = "";
                ejecucionn.ejecutado   = "";
                ejecucionn.Nota        = "";
                ejecucionn.adjunto     = "";
                ejecucionn.cargado     = false;


                if (ModelState.IsValid)
                {
                    try
                    {
                        await db.Ejecucion.AddAsync(ejecucionn);

                        await db.SaveChangesAsync();
                    }
                    catch (Exception ex)
                    {
                        error = true;
                    }
                }
            }

            return(error);
        }
コード例 #3
0
        public async Task <bool> CrearFaltantes()
        {
            PeriodosController   PeriodoControl   = new PeriodosController(db, userManager);
            IndicadorsController IndicadorControl = new IndicadorsController(db, userManager);

            var periodos = await PeriodoControl.getAll();

            var indicadores = await IndicadorControl.GetAll();

            bool respuesta = false;

            foreach (Periodo periodo in periodos)
            {
                foreach (Indicador indicador in indicadores)
                {
                    Ejecucion ejecucionxy = await GetFromIndicadorPeriodo(indicador.id, periodo.id);

                    if (ejecucionxy == null)
                    {
                        Ejecucion ejecucionnew = new Ejecucion();
                        ejecucionnew.idindicador = indicador.id;
                        ejecucionnew.idperiodo   = periodo.id;

                        await db.Ejecucion.AddAsync(ejecucionnew);

                        await db.SaveChangesAsync();

                        respuesta = true;
                    }
                }
            }

            return(respuesta);
        }
コード例 #4
0
        /// <summary>
        /// Inserta Ejecucion
        /// </summary>
        /// <param name="ejecucion">ejecucion</param>
        public int insertarEjecucion(Ejecucion ejecucion)
        {
            SqlConnection sqlConnection = conexion.conexionPEP();
            int           respuesta     = 0;

            sqlConnection.Open();
            String consulta = @"insert Ejecucion(id_estado,ano_periodo,id_proyecto,monto,id_tipo_tramite,numero_referencia,descripcion_tramite_otro,realizado_por,fecha) output INSERTED.id_ejecucion
                                            values(@id_estado,@ano_periodo,@id_proyecto,@monto,@id_tipo_tramite,@numero_referencia,@descripcion_tramite_otro,@realizadoPor,@fecha)";

            SqlCommand command = new SqlCommand(consulta, sqlConnection);

            command.Parameters.AddWithValue("@id_estado", ejecucion.estadoEjecucion.idEstado);
            command.Parameters.AddWithValue("@ano_periodo", ejecucion.anoPeriodo);
            command.Parameters.AddWithValue("@id_proyecto", ejecucion.idProyecto);
            command.Parameters.AddWithValue("@monto", ejecucion.monto);
            command.Parameters.AddWithValue("@id_tipo_tramite", ejecucion.tipoTramite.idTramite);
            command.Parameters.AddWithValue("@numero_referencia", ejecucion.numeroReferencia);
            command.Parameters.AddWithValue("@descripcion_tramite_otro", ejecucion.descripcionEjecucionOtro);
            command.Parameters.AddWithValue("@realizadoPor", ejecucion.realizadoPor);
            command.Parameters.AddWithValue("@fecha", DateTime.Now);

            respuesta = (int)command.ExecuteScalar();


            sqlConnection.Close();
            return(respuesta);
        }
コード例 #5
0
        public async Task <bool> EditPop(Ejecucion ejecucion)
        {
            LogsController Logg = new LogsController(db, userManager);

            bool respuesta = false;

            if (User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Ejecucion.Editar" && c.Value == "1") ||
                              (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Planeacion.Editar" && c.Value == "1")))
            {
                //ejecucion.Indicador = db.Indicadors.Find(ejecucion.idindicador);
                //ejecucion.Periodo = db.Periodoes.Find(ejecucion.idperiodo);
                var errors = ModelState.Values.SelectMany(v => v.Errors);
                if (ModelState.IsValid)
                {
                    //Logg.CambioModelo("Ejecucion", "Edit", ejecucion, User.Identity.Name); //registro log

                    // db.ejecucions.Attach(ejecucion);
                    db.Entry(ejecucion).State = EntityState.Modified;
                    await db.SaveChangesAsync();



                    respuesta = true;
                }
            }
            return(respuesta);
        }
コード例 #6
0
        /// <summary>
        /// Leonardo Carrion
        /// 12/mar/2021
        /// Efecto: devuelve la lista de unidades segun la ejecucion ingresada
        /// Requiere: ejecucion
        /// Modifica: -
        /// Devuelve: lista de unidades
        /// </summary>
        /// <param name="ejecucion"></param>
        /// <returns></returns>
        public List <Unidad> getUnidadesPorEjecucion(Ejecucion ejecucion)
        {
            SqlConnection sqlConnection = conexion.conexionPEP();

            List <Unidad> listaUnidades = new List <Unidad>();

            String consulta = @"select * from Unidad where id_unidad in (
select distinct id_unidad from Ejecucion_Unidad_Partida where id_ejecucion=@idEjecucion
)";

            SqlCommand sqlCommand = new SqlCommand(consulta, sqlConnection);

            sqlCommand.Parameters.AddWithValue("@idEjecucion", ejecucion.idEjecucion);

            SqlDataReader reader;

            sqlConnection.Open();
            reader = sqlCommand.ExecuteReader();

            while (reader.Read())
            {
                Unidad unidad = new Unidad();
                unidad.idUnidad     = Convert.ToInt32(reader["id_unidad"].ToString());
                unidad.nombreUnidad = reader["nombre_unidad"].ToString();
                unidad.coordinador  = reader["coordinador"].ToString();
                listaUnidades.Add(unidad);
            }

            sqlConnection.Close();

            return(listaUnidades);
        }
コード例 #7
0
        public static bool analizarCQL(String cadena)
        {
            GramaticaCQL  gramatica = new GramaticaCQL();
            LanguageData  lenguaje  = new LanguageData(gramatica);
            Parser        parser    = new Parser(lenguaje);
            ParseTree     arbol     = parser.Parse(cadena);
            ParseTreeNode raiz      = arbol.Root;

            if (raiz == null)
            {
                /*if (arbol.ParserMessages.Count == 0)
                 * {
                 *
                 *  DialogResult verImagen = MessageBox.Show("¿Desea visualizar el AST de la cadena ingresada?", "AST", MessageBoxButtons.YesNo);
                 *  if (verImagen == DialogResult.Yes)
                 *  {
                 *      Graficador graficador = new Graficador("AST", raiz, false);
                 *      graficador.GenerarImagen();
                 *  }
                 * }
                 * else
                 * {*/
                for (int i = 0; i < arbol.ParserMessages.Count; i++)
                {
                    LogMessage error = arbol.ParserMessages[i];
                    string     tipo  = "";
                    if (error.Message.StartsWith("Invalid"))
                    {
                        tipo = "Error Lexico";
                    }
                    else if (error.Message.StartsWith("Syntax"))
                    {
                        tipo = "Error Sintactico";
                    }
                    Console.WriteLine(tipo + " | " + error.Location.Line + " | " + error.Location.Column + " | " + error.Message.Replace("Syntax error, expected", "Se esperaba").Replace("Invalid character", "Caracter invalido"));
                    Error e = new Error();
                    e.setLinea(error.Location.Line);
                    e.setColumna(error.Location.Column);
                    e.setTipo(tipo);
                    e.setMsj(error.Message.Replace("Syntax error, expected", "Se esperaba").Replace("Invalid character", "Caracter invalido"));
                    TablaSimbolos.errorList.Add(e);
                }
                MessageBox.Show("No se completo el arbol de analisis de sintaxis");
                //editor.MostrarErrores("CI");
                // }
                return(false);
            }
            generarImagen(raiz);
            MessageBox.Show("Imagen generada correctamente");
            Acciones recolecta = new Acciones();

            //recolecta info
            recolecta.recorreEntrada(raiz);
            Ejecucion ejecuta = new Ejecucion();

            ejecuta.recorreEntrada(raiz);
            return(true);
        }
コード例 #8
0
 public Operaciones()
 {
     if (objDatos == null)
     {
         string cadena =
             System.Configuration.ConfigurationManager.ConnectionStrings["CadenaSqlSrv"].ConnectionString;
         objDatos = new Ejecucion(cadena);
     }
 }
コード例 #9
0
 public Ejecucion Ejecutar()
 {
     if (this.Compilado)
     {
         Ejecucion ejecucion = new Ejecucion(this.CodigoMaquina.ToString());
         return(ejecucion);
     }
     return(null);
 }
コード例 #10
0
        public async Task <IActionResult> DetailsPop(int id, string tipo = "", string mensaje = "")
        {
            ConfiguracionsController configuracionControl = new ConfiguracionsController(db, userManager);
            EvaluacionsController    controlEvaluacion    = new EvaluacionsController(db);
            UnidadesdeMedida         Unidad = new UnidadesdeMedida();

            EjecucionCalculada respuestaFormato = new EjecucionCalculada();

            Ejecucion ejec = await db.Ejecucion.Where(n => n.id == id).FirstOrDefaultAsync();

            if (ejec != null)
            {
                //-------------------------------------------------------identificar si un usuario tiene acceso a editar una ejecucion



                if (User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Ejecucion.Editar" && c.Value == "1") ||
                                  (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Planeacion.Editar" && c.Value == "1")))
                {
                    ViewBag.MostrarBotonEditarEjecucion = await configuracionControl.PermisoMostrarEditarEjecucion(User, ejec);
                }
                else
                {
                    ViewBag.MostrarBotonEditarEjecucion = false;
                }
                //-------------------------------------------------------identificar si un usuario tiene acceso a editar una ejecucion


                EjecucionCalculada respuesta = new EjecucionCalculada();


                //-------------- generacion de un objeto genérico para manejar los diferentes tipos de indicadores
                ObjectHandle manejador       = Activator.CreateInstance(null, "seguimiento.Formulas." + ejec.Indicador.TipoIndicador.file); //se crea un manejador  op -objeto generico- y un operador generico que permite llamar a las formulas con la cadena del tipo de indiciador: mantenimiento, incremento etc
                Object       op              = manejador.Unwrap();
                Type         t               = op.GetType();
                MethodInfo   operadorPeriodo = t.GetMethod("Calculo_periodo"); //operador es un metodo generico que refleja la funcionalidad de Calculo periodo

                Periodo   periodoLineaBase = db.Periodo.Where(n => n.tipo == "lineabase").FirstOrDefault();
                Ejecucion lineaBase        = db.Ejecucion.Where(n => n.idperiodo == periodoLineaBase.id && n.idindicador == ejec.idindicador).FirstOrDefault();


                List <Evaluacion> evaluaciones = await controlEvaluacion.Get(ejec.idindicador, "Indicador");

                object[] args       = { ejec, null };                                                        //carga los argumentos en un objeto
                var      respuesta2 = (EjecucionCalculada)operadorPeriodo.Invoke(op, args);                  //envia los argumentos mediante invoke al metodo Calculo_periodo
                respuesta        = respuesta2;
                respuestaFormato = controlEvaluacion.SetEvaluacion(Unidad.Formato(respuesta), evaluaciones); //almacena cada ejecucionCalcuada en la lista pero antes ajusta el formato con la clase unidadess de medida


                ViewBag.Adjuntos = await db.EjecucionAdjunto.Where(n => n.idejecucion == ejec.id).ToListAsync();

                ViewBag.tipo    = tipo;
                ViewBag.mensaje = mensaje;
            }
            return(View(respuestaFormato));
        }
コード例 #11
0
        public void CambioModelo(string Modelo, string Accion, object ContenidoNew, string usuario)
        {
            if (1 == 1)
            {
                string newModelString = "";
                string oldModelString = "";

                switch (Modelo)
                {
                case "Ejecucion":
                    Ejecucion newModel = (Ejecucion)ContenidoNew;
                    newModelString = new JavaScriptSerializer().Serialize(newModel);
                    if (newModel.id != 0)
                    {
                        Ejecucion oldModel = db.Ejecucion.Where(n => n.id == newModel.id).FirstOrDefault();
                        oldModelString = new JavaScriptSerializer().Serialize(new { id = oldModel.id, idindicador = oldModel.idindicador, idperiodo = oldModel.idperiodo, planeado = oldModel.planeado, ejecutado = oldModel.ejecutado, cargado = oldModel.cargado, Nota = oldModel.Nota, adjunto = oldModel.adjunto });
                    }
                    break;

                case "Indicador":
                    Indicador newModel2 = (Indicador)ContenidoNew;
                    newModelString = new JavaScriptSerializer().Serialize(newModel2);
                    if (newModel2.id != 0)
                    {
                        Indicador oldModel2 = db.Indicador.Find(newModel2.id);
                        oldModelString = new JavaScriptSerializer().Serialize(new { id = oldModel2.id, idCategoria = oldModel2.idCategoria, ponderador = oldModel2.ponderador, tipo = oldModel2.tipo, TipoIndicador = oldModel2.TipoIndicador, codigo = oldModel2.codigo, unidad = oldModel2.unidad, nombre = oldModel2.nombre, nota = oldModel2.Nota, adjunto = oldModel2.adjunto });
                    }
                    break;

                case "CampoIndicador":
                    ValorCampo newModel3 = (ValorCampo)ContenidoNew;
                    newModelString = new JavaScriptSerializer().Serialize(newModel3);
                    if (newModel3.Id != 0)
                    {
                        ValorCampo oldModel3 = db.ValorCampo.Find(newModel3.Id);
                        oldModelString = new JavaScriptSerializer().Serialize(new { Id = oldModel3.Id, IdCampo = oldModel3.IdCampo, CampoPadre = oldModel3.CampoPadre.Id, Texto = oldModel3.Texto });
                    }
                    break;
                }


                Log log = new Log();
                log.UserId       = usuario;
                log.UserName     = usuario;
                log.UserMail     = usuario;
                log.Tarea        = Modelo;
                log.Accion       = Accion;
                log.ContenidoNew = newModelString;
                log.ContenidoOld = oldModelString;


                db.Log.Add(log);
                db.SaveChanges();
            }
        }
コード例 #12
0
        protected override void sqlUpdate(object o)
        {
            DataManager dm         = DataManager.GetInstance();
            Ejecucion   oEjecucion = (Ejecucion)o;

            foreach (int key in oEjecucion.Mediciones.Keys)
            {
                string valor   = oEjecucion.Mediciones[key];
                string str_sql = "UPDATE Detalle_Ejecuciones SET valor = " + oEjecucion.Mediciones[key] +
                                 " WHERE nro_ejecucion = " + oEjecucion.Numero + " AND id_campo = " + key;
                dm.EjecutarSQL(str_sql);
            }
        }
コード例 #13
0
ファイル: ctrlDetalleEjecucion.cs プロジェクト: lsofi/TestIt
 private void ctrlDetalleEjecucion_Load(object sender, EventArgs e)
 {
     cargarCombos();
     if (ejecucion == null)
     {
         nuevo     = true;
         ejecucion = new Ejecucion();
         habilitarCampos();
     }
     else
     {
         cargarCampos();
         cargarGrilla();
     }
 }
コード例 #14
0
        /// <summary>
        /// Leonardo Carrion
        /// 12/mar/2021
        /// Efecto: devuelve la lista de unidades partidas y monto segun la ejecucion ingresada
        /// Requiere: ejecucion
        /// Modifica: -
        /// Devuelve: lista de unidades partidas
        /// </summary>
        /// <param name="ejecucion"></param>
        /// <returns></returns>
        public List <PartidaUnidad> getUnidadesPartidasMontoPorEjecucion(Ejecucion ejecucion)
        {
            SqlConnection sqlConnection = conexion.conexionPEP();

            List <PartidaUnidad> listaUnidadesPartidas = new List <PartidaUnidad>();

            String consulta = @"
select P.*,U.*,eup.monto from Partida P, Unidad U, Ejecucion_Unidad_Partida EUP
where EUP.id_ejecucion =@idEjecucion and P.id_partida = EUP.id_partida and U.id_unidad = EUP.id_unidad
";

            SqlCommand sqlCommand = new SqlCommand(consulta, sqlConnection);

            sqlCommand.Parameters.AddWithValue("@idEjecucion", ejecucion.idEjecucion);

            SqlDataReader reader;

            sqlConnection.Open();
            reader = sqlCommand.ExecuteReader();

            while (reader.Read())
            {
                //Unidad unidad = new Unidad();
                //unidad.idUnidad = Convert.ToInt32(reader["id_unidad"].ToString());
                //unidad.nombreUnidad = reader["nombre_unidad"].ToString();
                //unidad.coordinador = reader["coordinador"].ToString();
                //Partida partida = new Partida();
                //partida.idPartida = Convert.ToInt32(reader["id_partida"].ToString());
                //partida.numeroPartida = reader["numero_partida"].ToString();
                //partida.descripcionPartida = reader["descripcion_partida"].ToString();
                //partida.esUCR = Boolean.Parse(reader["esUCR"].ToString());
                //partida.periodo = new Periodo();
                //partida.periodo.anoPeriodo = Convert.ToInt32(reader["ano_periodo"].ToString());


                PartidaUnidad partidaUnidad = new PartidaUnidad();
                partidaUnidad.idPartida     = Convert.ToInt32(reader["id_partida"].ToString());
                partidaUnidad.idUnidad      = Convert.ToInt32(reader["id_unidad"].ToString());
                partidaUnidad.monto         = Convert.ToDouble(reader["monto"].ToString());
                partidaUnidad.nombreUnidad  = reader["nombre_unidad"].ToString();
                partidaUnidad.numeroPartida = reader["numero_partida"].ToString();
                listaUnidadesPartidas.Add(partidaUnidad);
            }

            sqlConnection.Close();

            return(listaUnidadesPartidas);
        }
コード例 #15
0
 public void toggleEjecuciones(Ejecucion ejecucion)
 {
     panelContenedor.Controls.Clear();
     if (detalleEjecuciones)
     {
         panelContenedor.Controls.Add(ctrlEjecucion);
         ctrlEjecucion.cargarDatos();
         detalleEjecuciones = false;
     }
     else
     {
         ctrlDetalleEjecucion ctrlDetalleEjecucion = new ctrlDetalleEjecucion(this, ejecucion);
         panelContenedor.Controls.Add(ctrlDetalleEjecucion);
         detalleEjecuciones = true;
     }
 }
コード例 #16
0
        protected override void sqlDelete(object o)
        {
            DataManager dm         = DataManager.GetInstance();
            Ejecucion   oEjecucion = (Ejecucion)o;

            string str_sql = "UPDATE Ejecuciones" +
                             " SET borrado = " + 1 +
                             " WHERE nro_ejecucion = " + oEjecucion.Numero;

            dm.EjecutarSQL(str_sql);

            foreach (int key in oEjecucion.Mediciones.Keys)
            {
                str_sql = "UPDATE Detalle_Ejecuciones SET borrado = 1 WHERE id_campo =" + key + " AND nro_ejecucion = " + oEjecucion.Numero;
                dm.EjecutarSQL(str_sql);
            }
        }
コード例 #17
0
        public async Task <bool> EditFormReporte(Ejecucion ejecucion)
        {
            try
            {
                Ejecucion original = await db.Ejecucion.FindAsync(ejecucion.id);


                //si no se tiene permisos por rol o por periodo para editar la programación, se deja la original
                if (!(User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Planeacion.Editar" && c.Value == "1"))) || original.Periodo.EditarProgramacion != true)
                {
                    ejecucion.planeado = original.planeado;
                }
                //si no se tiene permisos por rol o por periodo para editar la ejecución, se deja la original
                if (!(User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Ejecucion.Editar" && c.Value == "1"))) || original.Periodo.EditarEjecucion != true)
                {
                    ejecucion.ejecutado = original.ejecutado;
                }

                ejecucion.adjunto     = original.adjunto;
                ejecucion.cargado     = false;
                ejecucion.idindicador = original.idindicador;
                ejecucion.idperiodo   = original.idperiodo;
                ejecucion.Nota        = original.Nota;
                ejecucion.Periodo     = original.Periodo;
                ejecucion.Indicador   = original.Indicador;

                // Detach the Comparison State:
                db.Entry(original).State = EntityState.Detached;
            }
            catch (Exception ex)
            {
                return(false);
            }



            if (ModelState.IsValid)
            {
                db.Entry(ejecucion).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(true);
            }
            return(false);
        }
コード例 #18
0
        protected override object mappingObject(DataRow row)
        {
            Ejecucion oEjecucion = new Ejecucion(Convert.ToInt32(row["nro_ejecucion"]));


            oEjecucion.IdTest       = Convert.ToInt32(row["id_test"]);
            oEjecucion.IdDeportista = Convert.ToInt32(row["id_deportista"]);
            oEjecucion.Fecha        = DateTime.Parse(row["fecha"].ToString());
            oEjecucion.Borrado      = Convert.ToInt32(row["borrado"]);

            DataTable mediciones = buscarMediciones((int)row["nro_ejecucion"]);

            foreach (DataRow mRow in mediciones.Rows)
            {
                oEjecucion.addMedicion((int)mRow["id_campo"], mRow["valor"].ToString());
            }

            return(oEjecucion);
        }
コード例 #19
0
 private void button5_Click(object sender, EventArgs e)
 {
     try
     {
         console.ClearOutput();
         if (Ejecucion.Compilar(tbxCode.Text))
         {
             console.WriteOutput("Begin process\n", System.Drawing.Color.Red);
             EscribirArchivo(nombreArchivo, tbxCode.Text);
             termino = false;
             console.StartProcess(Ejecucion.Exe, null);
         }
     }
     catch (Exception ex)
     {
         System.Windows.MessageBox.Show("Exception found; please calm down");
         console.StopProcess();
     }
 }
コード例 #20
0
ファイル: ctrlEjecucion.cs プロジェクト: lsofi/TestIt
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            Ejecucion    actual = ejecucionActual();
            DialogResult answer = MessageBox.Show(
                "¿Desea eliminar la ejecución?",
                "Eliminar", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);

            if (answer == DialogResult.Yes)
            {
                if (sEjecucion.eliminar(actual))
                {
                    limpiar();
                    MessageBox.Show("Ejecución eliminada", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Error al eliminar ejecución", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #21
0
        public async Task <ActionResult> EditPop(int id)
        {
            ConfiguracionsController configuracionControl = new ConfiguracionsController(db, userManager);
            Ejecucion ejecucion = await db.Ejecucion.Where(n => n.id == id).FirstOrDefaultAsync();


            //-------------------------------------------------------identificar si un usuario tiene acceso a editar una ejecucion

            if (User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Ejecucion.Editar" && c.Value == "1") ||
                              (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Planeacion.Editar" && c.Value == "1")))
            {
                ViewBag.PuedeEditarEjecucion = await configuracionControl.PermisoEditarEjecucion(User, ejecucion);

                ViewBag.PuedeEditarPlaneado = await configuracionControl.PermisoEditarEjecucionPlaneado(User, ejecucion);
            }

            ViewBag.Adjuntos = await db.EjecucionAdjunto.Where(n => n.idejecucion == ejecucion.id).ToListAsync();

            return(View(ejecucion));
        }
コード例 #22
0
        protected override void sqlCreate(object o)
        {
            DataManager dm         = DataManager.GetInstance();
            Ejecucion   oEjecucion = (Ejecucion)o;

            string str_sql = "INSERT INTO Ejecuciones VALUES (" +
                             oEjecucion.IdTest + ", " +
                             oEjecucion.IdDeportista + ", " +
                             oEjecucion.IdUsuario + ", '" +
                             oEjecucion.Fecha.ToString("yyyy-MM-dd") + "', ";

            if (oEjecucion.Observacion == null)
            {
                str_sql += "NULL";
            }
            else
            {
                str_sql += "'" + oEjecucion.Observacion + "'";
            }
            str_sql += ", 0)";

            dm.EjecutarSQL(str_sql);
            int newId = Convert.ToInt32(dm.ConsultaSQLScalar(" SELECT @@IDENTITY"));

            foreach (int key in oEjecucion.Mediciones.Keys)
            {
                string valor = oEjecucion.Mediciones[key];
                str_sql = "INSERT INTO Detalle_Ejecuciones VALUES (" + newId + "," + key + ", ";
                if (valor == null)
                {
                    str_sql += "NULL";
                }
                else
                {
                    str_sql += "'" + valor + "'";
                }
                str_sql += ", 0)";

                dm.EjecutarSQL(str_sql);
            }
        }
コード例 #23
0
        /// <summary>
        /// Leonardo Carrion
        /// 23/feb/2021
        /// Efecto: devuelve la lista de ejecuciones segun el periodo y proyecto seleccionado
        /// Requiere: periodo y proyecto
        /// Modifica: -
        /// Devuelve: lista de ejecuciones
        /// </summary>
        /// <param name="periodo"></param>
        /// <param name="proyecto"></param>
        /// <returns></returns>
        public List <Ejecucion> getEjecucionesPorPeriodoYProyecto(Periodo periodo, Proyectos proyecto)
        {
            List <Ejecucion> listaEjecucion = new List <Ejecucion>();
            SqlConnection    sqlConnection  = conexion.conexionPEP();

            String consulta = @"select descripcion_estado,monto,numero_referencia,nombre_tramite,E.id_ejecucion,T.id_tramite,descripcion_tramite_otro, E.realizado_por,E.fecha
                                      from EstadoEjecucion Es,Ejecucion E,Tipos_tramite T
                                      where E.id_proyecto=@idProyecto and E.ano_periodo=@Periodo and E.id_tipo_tramite= T.id_tramite and E.id_estado= Es.id_estado order by  id_ejecucion desc";

            SqlCommand command = new SqlCommand(consulta, sqlConnection);

            command.Parameters.AddWithValue("@Periodo", periodo.anoPeriodo);
            command.Parameters.AddWithValue("@idProyecto", proyecto.idProyecto);

            SqlDataReader reader;

            sqlConnection.Open();
            reader = command.ExecuteReader();
            while (reader.Read())
            {
                EstadoEjecucion estadoEjecucion = new EstadoEjecucion();
                TipoTramite     tipoTramite     = new TipoTramite();
                Ejecucion       ejecucion       = new Ejecucion();
                ejecucion.idEjecucion              = Convert.ToInt32(reader["id_ejecucion"].ToString());
                ejecucion.monto                    = Convert.ToDouble(reader["monto"].ToString());
                ejecucion.numeroReferencia         = Convert.ToString(reader["numero_referencia"].ToString());
                tipoTramite.nombreTramite          = Convert.ToString(reader["nombre_tramite"].ToString());
                tipoTramite.idTramite              = Convert.ToInt32(reader["id_tramite"].ToString());
                ejecucion.tipoTramite              = tipoTramite;
                estadoEjecucion.descripcion        = Convert.ToString(reader["descripcion_estado"].ToString());
                ejecucion.estadoEjecucion          = estadoEjecucion;
                ejecucion.descripcionEjecucionOtro = Convert.ToString(reader["descripcion_tramite_otro"].ToString());
                ejecucion.realizadoPor             = reader["realizado_por"].ToString();
                ejecucion.fecha                    = Convert.ToDateTime(reader["fecha"].ToString());
                listaEjecucion.Add(ejecucion);
            }
            sqlConnection.Close();
            return(listaEjecucion);
        }
コード例 #24
0
        /// <summary>
        /// Actulizar Ejecucion
        /// </summary>
        /// <param name="ejecucion">ejecucion</param>
        /// <param name="respuesta"></param>
        public void actualizarEjecucion(Ejecucion ejecucion)
        {
            SqlConnection sqlConnection = conexion.conexionPEP();

            String consulta = @"update Ejecucion set id_estado=@id_estado,ano_periodo=@ano_periodo ,id_proyecto=@id_proyecto,monto=@monto,id_tipo_tramite=@id_tipo_tramite,numero_referencia=@numero_referencia,descripcion_tramite_otro=@descripcion_tramite_otro
                                 where id_ejecucion=@id_ejecucion";

            SqlCommand command = new SqlCommand(consulta, sqlConnection);

            command.Parameters.AddWithValue("@id_ejecucion", ejecucion.idEjecucion);
            command.Parameters.AddWithValue("@id_estado", ejecucion.estadoEjecucion.idEstado);
            command.Parameters.AddWithValue("@ano_periodo", ejecucion.anoPeriodo);
            command.Parameters.AddWithValue("@id_proyecto", ejecucion.idProyecto);
            command.Parameters.AddWithValue("@monto", ejecucion.monto);
            command.Parameters.AddWithValue("@id_tipo_tramite", ejecucion.tipoTramite.idTramite);
            command.Parameters.AddWithValue("@numero_referencia", ejecucion.numeroReferencia);
            command.Parameters.AddWithValue("@descripcion_tramite_otro", ejecucion.descripcionEjecucionOtro);

            sqlConnection.Open();
            command.ExecuteReader();
            sqlConnection.Close();
        }
コード例 #25
0
ファイル: BitacoraDAO.cs プロジェクト: tonovarela/goepowerWS
 public void Insertar(Ejecucion ejecucion)
 {
     this.ctx.Ejecucion.Add(ejecucion);
     this.ctx.SaveChanges();
 }
コード例 #26
0
        public EjecucionCalculada Calculo_total(Ejecucion ejecucion, List <object> listadoParaTotal, decimal lineaBase)
        {
            decimal            valEjecutado = 0, valPlaneado = 0, valCalculado = 0, sumaPlaneado = 0, sumaEjecutados = 0;
            int                cuenta    = 0;
            EjecucionCalculada respuesta = new EjecucionCalculada();
            string             msg       = "";

            foreach (EjecucionCalculada calculada in listadoParaTotal)
            {
                valEjecutado = 0;
                valPlaneado  = 0;
                try { valEjecutado = System.Convert.ToDecimal(calculada.ejecutado); }
                catch (System.OverflowException) { msg = "el valor ejecutado genera desbordamiento"; }
                catch (System.FormatException) { msg = "el valor ejecutado tiene un formato incorrecto"; }
                catch (System.ArgumentNullException) { msg = "ejecutado Nulo"; }

                try { valPlaneado = System.Convert.ToDecimal(calculada.planeado); }
                catch (System.OverflowException) { msg = "el valor ejecutado genera desbordamiento"; }
                catch (System.FormatException) { msg = "el valor ejecutado tiene un formato incorrecto"; }
                catch (System.ArgumentNullException) { msg = "ejecutado Nulo"; }



                if (calculada.Periodo.cargado == true)
                {
                    valCalculado = calculada.Calculado + valCalculado;
                }
                cuenta++;
            }


            if (cuenta > 0)
            {
                valCalculado = valCalculado / cuenta;

                if (valCalculado > 100)
                {
                    valCalculado = 100;
                }
                if (valCalculado < 0)
                {
                    valCalculado = 0;
                }
            }

            respuesta.id = ejecucion.id;
            respuesta.FechaActualizacion = ejecucion.FechaActualizacion;
            respuesta.idindicador        = ejecucion.idindicador;
            respuesta.Indicador          = ejecucion.Indicador;
            respuesta.idperiodo          = ejecucion.idperiodo;
            respuesta.Periodo            = ejecucion.Periodo;
            respuesta.cargado            = ejecucion.cargado;
            respuesta.ejecutado          = ""; //sumaEjecutados.ToString();
            respuesta.planeado           = ""; //sumaPlaneado.ToString();
            respuesta.Nota      = ejecucion.Nota;
            respuesta.adjunto   = ejecucion.adjunto;
            respuesta.Mensaje   = msg;
            respuesta.Calculado = (valCalculado);


            if (respuesta.Calculado > 100)
            {
                respuesta.Calculado = 100;
            }
            if (respuesta.Calculado < 0)
            {
                respuesta.Calculado = 0;
            }

            return(respuesta);
        }
コード例 #27
0
        //eta función toma un modelo ejecucion y agrega el valor calculado y un mensaje con posibles errores y los almacena en un tipo de dato ejecucionCalculada
        public EjecucionCalculada Calculo_periodo(Ejecucion ejecucion, decimal lineaBase)
        {
            decimal            valEjecutado = 0, valPlaneado = 0, valCalculado;
            string             msg       = "";
            EjecucionCalculada respuesta = new EjecucionCalculada();

            if (ejecucion.ejecutado != null)
            {
                ejecucion.ejecutado = ejecucion.ejecutado.Replace(',', '.');
            }
            if (ejecucion.planeado != null)
            {
                ejecucion.planeado = ejecucion.planeado.Replace(',', '.');
            }


            //conversión a # de los valores ejecutados y planeados
            try { decimal.TryParse(ejecucion.ejecutado, NumberStyles.Any, CultureInfo.InvariantCulture, out valEjecutado); }
            catch (System.OverflowException) { msg = "el valor ejecutado genera desbordamiento"; }
            catch (System.FormatException) { msg = "el valor ejecutado tiene un formato incorrecto"; }
            catch (System.ArgumentNullException) { msg = "ejecutado Nulo"; }

            //conversión a # de los valores ejecutados y planeados
            try { decimal.TryParse(ejecucion.planeado, NumberStyles.Any, CultureInfo.InvariantCulture, out valPlaneado); }
            catch (System.OverflowException) { msg = "el valor planeado genera desbordamiento"; }
            catch (System.FormatException) { msg = "el valor planeado tiene un formato incorrecto"; }
            catch (System.ArgumentNullException) { msg = "planeado Nulo"; }
            //mensaje de no error
            if (msg == "")
            {
                //evita planeados negativos y 0 para evitar divisiones por 0, si es aso genera mensaje de error
                if (valPlaneado == lineaBase)
                {
                    msg          = "Se está tomando un Lb de " + (valPlaneado + 10);
                    lineaBase    = valPlaneado + 10;
                    valCalculado = (((valEjecutado - lineaBase) / (valPlaneado - lineaBase)) * 100);
                }
                else
                {
                    //realiza el calculo del valor a devolver, siempre en porcentaje
                    valCalculado = (((valEjecutado - lineaBase) / (valPlaneado - lineaBase)) * 100);
                }

                respuesta.Calculado = valCalculado;
            }

            if (respuesta.Calculado > 100)
            {
                respuesta.Calculado = 100;
            }
            if (respuesta.Calculado < 0)
            {
                respuesta.Calculado = 0;
            }

            respuesta.id = ejecucion.id;
            respuesta.FechaActualizacion = ejecucion.FechaActualizacion;
            respuesta.idindicador        = ejecucion.idindicador;
            respuesta.Indicador          = ejecucion.Indicador;
            respuesta.idperiodo          = ejecucion.idperiodo;
            respuesta.Periodo            = ejecucion.Periodo;
            respuesta.cargado            = ejecucion.cargado;
            respuesta.ejecutado          = ejecucion.ejecutado;
            respuesta.Nota     = ejecucion.Nota;
            respuesta.adjunto  = ejecucion.adjunto;
            respuesta.Mensaje  = msg;
            respuesta.planeado = ejecucion.planeado;

            return(respuesta);
        }
コード例 #28
0
 /// <summary>
 /// Leonardo Carrion
 /// 17/mar/2021
 /// Efecto: devuelve la lista de partidas segun la ejecucion ingresada
 /// Requiere: ejecucion
 /// Modifica: -
 /// Devuelve: lista de partidas
 /// </summary>
 /// <param name="ejecucion"></param>
 /// <returns></returns>
 public List <Partida> getPartidasPorEjecucion(Ejecucion ejecucion)
 {
     return(ejecucionUnidadParitdaDatos.getPartidasPorEjecucion(ejecucion));
 }
コード例 #29
0
        public Object Calculo_subtotal(Ejecucion ejecucion, List <object> listadoParaSubtotal, decimal lineaBase)
        {
            decimal            sumaPlaneado = 0, sumaEjecutados = 0, valEjecutado = 0, valPlaneado = 0, valCalculado = 0;
            int                cuenta    = 0;
            EjecucionCalculada respuesta = new EjecucionCalculada();
            string             msg       = "";

            foreach (Ejecucion calculada in listadoParaSubtotal)
            {
                valEjecutado = 0;
                valPlaneado  = 0;
                if (calculada.ejecutado != null)
                {
                    calculada.ejecutado = calculada.ejecutado.Replace(',', '.');
                }
                if (calculada.planeado != null)
                {
                    calculada.planeado = calculada.planeado.Replace(',', '.');
                }

                try { decimal.TryParse(calculada.ejecutado, NumberStyles.Any, CultureInfo.InvariantCulture, out valEjecutado); }
                catch (System.OverflowException) { msg = "el valor ejecutado genera desbordamiento"; }
                catch (System.FormatException) { msg = "el valor ejecutado tiene un formato incorrecto"; }
                catch (System.ArgumentNullException) { msg = "ejecutado Nulo"; }

                try { decimal.TryParse(calculada.planeado, NumberStyles.Any, CultureInfo.InvariantCulture, out valPlaneado); }
                catch (System.OverflowException) { msg = "el valor ejecutado genera desbordamiento"; }
                catch (System.FormatException) { msg = "el valor ejecutado tiene un formato incorrecto"; }
                catch (System.ArgumentNullException) { msg = "ejecutado Nulo"; }

                sumaPlaneado = sumaPlaneado + valPlaneado;
                if (calculada.cargado == true && calculada.Periodo.cargado == true)
                {
                    sumaEjecutados = sumaEjecutados + valEjecutado;
                }
                cuenta++;
            }

            if (cuenta > 0)
            {
                if (sumaPlaneado != lineaBase)
                {
                    valCalculado = (sumaEjecutados - lineaBase) / (sumaPlaneado - lineaBase);

                    if (valCalculado > 1)
                    {
                        valCalculado = 1;
                    }
                    if (valCalculado < 0)
                    {
                        valCalculado = 0;
                    }
                }
                else if (sumaPlaneado == lineaBase)
                {
                    lineaBase    = sumaPlaneado + 10;
                    valCalculado = (sumaEjecutados - lineaBase) / (sumaPlaneado - lineaBase);

                    if (valCalculado > 1)
                    {
                        valCalculado = 1;
                    }
                    if (valCalculado < 0)
                    {
                        valCalculado = 0;
                    }
                }
                else
                {
                    valCalculado = 0;
                }
            }
            respuesta.id = ejecucion.id;
            respuesta.FechaActualizacion = ejecucion.FechaActualizacion;
            respuesta.idindicador        = ejecucion.idindicador;
            respuesta.Indicador          = ejecucion.Indicador;
            respuesta.idperiodo          = ejecucion.idperiodo;
            respuesta.Periodo            = ejecucion.Periodo;
            respuesta.cargado            = ejecucion.cargado;
            respuesta.ejecutado          = sumaEjecutados.ToString();
            respuesta.planeado           = sumaPlaneado.ToString();
            respuesta.Nota      = ejecucion.Nota;
            respuesta.adjunto   = ejecucion.adjunto;
            respuesta.Mensaje   = msg;
            respuesta.Calculado = (valCalculado * 100);


            if (respuesta.Calculado > 100)
            {
                respuesta.Calculado = 100;
            }
            if (respuesta.Calculado < 0)
            {
                respuesta.Calculado = 0;
            }

            return((Object)respuesta);
        }
コード例 #30
0
 /// <summary>
 /// Leonardo Carrion
 /// 12/mar/2021
 /// Efecto: devuelve la lista de unidades partidas y monto segun la ejecucion ingresada
 /// Requiere: ejecucion
 /// Modifica: -
 /// Devuelve: lista de unidades partidas
 /// </summary>
 /// <param name="ejecucion"></param>
 /// <returns></returns>
 public List <PartidaUnidad> getUnidadesPartidasMontoPorEjecucion(Ejecucion ejecucion)
 {
     return(ejecucionUnidadParitdaDatos.getUnidadesPartidasMontoPorEjecucion(ejecucion));
 }