/// <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); }
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); }
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); }
/// <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); }
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); }
/// <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); }
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); }
public Operaciones() { if (objDatos == null) { string cadena = System.Configuration.ConfigurationManager.ConnectionStrings["CadenaSqlSrv"].ConnectionString; objDatos = new Ejecucion(cadena); } }
public Ejecucion Ejecutar() { if (this.Compilado) { Ejecucion ejecucion = new Ejecucion(this.CodigoMaquina.ToString()); return(ejecucion); } return(null); }
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)); }
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(); } }
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); } }
private void ctrlDetalleEjecucion_Load(object sender, EventArgs e) { cargarCombos(); if (ejecucion == null) { nuevo = true; ejecucion = new Ejecucion(); habilitarCampos(); } else { cargarCampos(); cargarGrilla(); } }
/// <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); }
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; } }
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); } }
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); }
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); }
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(); } }
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); } } }
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)); }
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); } }
/// <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); }
/// <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(); }
public void Insertar(Ejecucion ejecucion) { this.ctx.Ejecucion.Add(ejecucion); this.ctx.SaveChanges(); }
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); }
//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); }
/// <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)); }
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); }
/// <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)); }