Ejemplo n.º 1
0
        //deletes one ticket
        public static void deleteTicket(Int32 ticketId, string instance)
        {
            //open con to the api
            conOpen();

            //new delete labor ticket
            DeleteLaborTicket deleteTicket = new DeleteLaborTicket(instName);

            deleteTicket.Prepare();

            //preparing the data
            DataRow dr;

            dr = (DataRow)deleteTicket.NewDeleteLaborRow(ticketId);

            //api method to delete
            try
            {
                deleteTicket.Save();
            }
            catch
            {
                Dbms.Close(instName);
            }

            Dbms.Close(instName);
        }
Ejemplo n.º 2
0
        //gets the date range avaible for new tickets, update and delete
        public static Model.DatePeriodModel getDateRange(string instance)
        {
            //open con to the api
            conOpen();

            Model.DatePeriodModel dp  = new Model.DatePeriodModel();
            GeneralQuery          gen = null;

            gen = new GeneralQuery(instName);
            gen.Prepare("ACCOUNT_PERIOD", "SELECT MIN(BEGIN_DATE) FROM VMFG.ACCOUNT_PERIOD WHERE STATUS = 'A' AND YEAR(BEGIN_DATE) = YEAR(GETDATE()) AND CALENDAR_ID = 'BACH'");
            gen.Execute();

            if (gen.Tables["ACCOUNT_PERIOD"].Rows.Count > 0)
            {
                dp.min = DateTime.Parse(gen.Tables["ACCOUNT_PERIOD"].Rows[0]["Column1"].ToString());
            }

            gen.Prepare("ACCOUNT_PERIOD", "SELECT MAX(END_DATE) FROM VMFG.ACCOUNT_PERIOD WHERE STATUS = 'A' AND YEAR(END_DATE) = YEAR(GETDATE()) AND CALENDAR_ID = 'BACH'");
            gen.Execute();

            if (gen.Tables["ACCOUNT_PERIOD"].Rows.Count > 0)
            {
                dp.max = DateTime.Parse(gen.Tables["ACCOUNT_PERIOD"].Rows[0]["Column1"].ToString());
            }

            Dbms.Close(instName);
            return(dp);
        }
Ejemplo n.º 3
0
        public void InitByReadingFromDatabase(string testConfiguration, bool addInitialStockLevels)
        {
            ProductionDomainContexts productionDomainContexts = Dbms.GetDbContext();

            _productionDomainContext = productionDomainContexts.ProductionDomainContext;

            _productionDomainContextArchive =
                productionDomainContexts.ProductionDomainContextArchive;

            InitDb(testConfiguration, _productionDomainContext, true);
            InitDb(testConfiguration, _productionDomainContextArchive, false);

            _dbMasterDataCache = new DbMasterDataCache(_productionDomainContext);
            // duplicate masterData for archive
            _dbMasterDataCache.Clone(_productionDomainContextArchive);

            _dbTransactionData        = new DbTransactionData(_productionDomainContext);
            _dbTransactionDataArchive = new DbTransactionData(_productionDomainContextArchive);

            if (addInitialStockLevels)
            {
                OpenDemandManager.AddInitialStockLevels(_dbTransactionData);
            }

            _aggregator        = new Aggregator(_dbTransactionData);
            _openDemandManager = new OpenDemandManager();
        }
Ejemplo n.º 4
0
        //get the product
        public static Model.WorkOrderModel getWorkOrderId(string baseId, string instance)
        {
            //open con to the api
            conOpen();

            Model.WorkOrderModel wo = new Model.WorkOrderModel();
            string query            = "Select BASE_ID, LOT_ID, SPLIT_ID, STATUS FROM VMFG.WORK_ORDER WHERE USER_9 LIKE '%,' + ? + ',%'";

            GeneralQuery gen = null;

            gen = new GeneralQuery(instName);
            gen.Prepare("WORK_ORDER", query);
            gen.Parameters[0] = baseId;
            gen.Execute();

            if (gen.Tables["WORK_ORDER"].Rows.Count > 0)
            {
                wo.baseId  = gen.Tables["WORK_ORDER"].Rows[0]["BASE_ID"].ToString();
                wo.lotId   = gen.Tables["WORK_ORDER"].Rows[0]["LOT_ID"].ToString();
                wo.splitId = gen.Tables["WORK_ORDER"].Rows[0]["SPLIT_ID"].ToString();
                wo.status  = gen.Tables["WORK_ORDER"].Rows[0]["STATUS"].ToString();
            }

            Dbms.Close(instName);
            return(wo);
        }
Ejemplo n.º 5
0
        //gets the collum RUN_COST_PER_HR
        public static string getHourlyCost(string baseId, string subId, string seqNo, string instance)
        {
            //open con to the api
            conOpen();

            string hc = "";

            GeneralQuery gen = null;

            //Instance currInstance = Dbms.GetInstanceInfo(instance);
            gen = new GeneralQuery(instName);
            gen.Prepare("OPERATION", "SELECT RUN_COST_PER_HR FROM VMFG.OPERATION WHERE WORKORDER_BASE_ID = ? AND WORKORDER_SUB_ID = ? AND SEQUENCE_NO = ?");
            gen.Parameters[0] = baseId;
            gen.Parameters[1] = subId;
            gen.Parameters[2] = Int32.Parse(seqNo);
            gen.Execute();

            if (gen.Tables["OPERATION"].Rows.Count > 0)
            {
                hc = gen.Tables["OPERATION"].Rows[0]["RUN_COST_PER_HR"].ToString();
            }

            Dbms.Close(instName);
            return(hc);
        }
Ejemplo n.º 6
0
        //get he indirects for the indirect dropdown list
        public static List <string> getIndirectIds(string instance)
        {
            //open con to the api
            conOpen();

            List <string> indProjets = new List <string>();

            GeneralQuery gen = null;

            //Instance currInstance = Dbms.GetInstanceInfo(instance);
            gen = new GeneralQuery(instName);
            gen.Prepare("INDIRECT", "SELECT ID, DESCRIPTION FROM VMFG.INDIRECT");
            gen.Execute();

            if (gen.Tables["INDIRECT"].Rows.Count > 0)
            {
                for (var i = 0; i <= gen.Tables["INDIRECT"].Rows.Count - 1; i++)
                {
                    indProjets.Add(gen.Tables["INDIRECT"].Rows[i]["ID"].ToString() + "-" + gen.Tables["INDIRECT"].Rows[i]["DESCRIPTION"].ToString());
                }

                Dbms.Close(instName);
                return(indProjets);
            }

            Dbms.Close(instName);
            return(indProjets);
        }
Ejemplo n.º 7
0
        //get the seq number/opn for the product/leg
        public static List <string> getSeqNumber(string baseId, string subId, string instance)
        {
            //open con to the api
            conOpen();

            List <string> seqNumbers = new List <string>();

            GeneralQuery gen = null;

            //Instance currInstance = Dbms.GetInstanceInfo(instance);
            gen = new GeneralQuery(instName);
            gen.Prepare("OPERATION", "SELECT SEQUENCE_NO, RESOURCE_ID FROM VMFG.OPERATION WHERE WORKORDER_BASE_ID = ? AND WORKORDER_SUB_ID = ?");
            gen.Parameters[0] = baseId;
            gen.Parameters[1] = subId;
            gen.Execute();

            if (gen.Tables["OPERATION"].Rows.Count > 0)
            {
                for (var i = 0; i <= gen.Tables["OPERATION"].Rows.Count - 1; i++)
                {
                    seqNumbers.Add(gen.Tables["OPERATION"].Rows[i]["SEQUENCE_NO"].ToString() + " " + gen.Tables["OPERATION"].Rows[i]["RESOURCE_ID"].ToString());
                }

                Dbms.Close(instName);
                return(seqNumbers);
            }

            Dbms.Close(instName);
            return(seqNumbers);
        }
Ejemplo n.º 8
0
        //check the amount of hours to set overtime and banking options
        public static decimal checkBankingHr(string date, string instance)
        {
            //open con to the api
            conOpen();

            if (date == null)
            {
                date = DateTime.Now.Date.ToString("yyyy-MM-dd");
            }

            decimal      hours        = 0;
            GeneralQuery gen          = null;
            Instance     currInstance = Dbms.GetInstanceInfo(instName);

            gen = new GeneralQuery(instance);
            gen.Prepare("LABOR_TICKET", "SELECT SUM(HOURS_WORKED) FROM VMFG.LABOR_TICKET WHERE DateDiff(wk,TRANSACTION_DATE,'" + date + "') = 0 AND SUBSTRING(REVERSE(DESCRIPTION), CHARINDEX(',',REVERSE(DESCRIPTION)) + 1, 2) = 'KB'");
            gen.Execute();

            if (gen.Tables["LABOR_TICKET"].Rows.Count > 0 && !gen.Tables["LABOR_TICKET"].Rows[0]["Column1"].ToString().Equals(""))
            {
                hours = Decimal.Parse(gen.Tables["LABOR_TICKET"].Rows[0]["Column1"].ToString());

                Dbms.Close(instName);
                return(hours);
            }

            Dbms.Close(instName);
            return(hours);
        }
Ejemplo n.º 9
0
        //get the legs for the product
        public static List <string> getWorkOrderLegs(string baseId, string instance)
        {
            //open con to the api
            conOpen();

            List <string> workOrders = new List <string>();

            GeneralQuery gen = new GeneralQuery(instName);

            gen.Prepare("WORKORDER", "Select BASE_ID, SUB_ID, PART_ID FROM VMFG.WORK_ORDER WHERE BASE_ID = ?");
            gen.Parameters[0] = baseId;
            gen.Execute();

            if (gen.Tables["WORKORDER"].Rows.Count > 0)
            {
                for (var i = 0; i <= gen.Tables["WORKORDER"].Rows.Count - 1; i++)
                {
                    workOrders.Add(gen.Tables["WORKORDER"].Rows[i]["SUB_ID"].ToString() + " " + gen.Tables["WORKORDER"].Rows[i]["PART_ID"].ToString());
                }

                Dbms.Close(instName);
                return(workOrders);
            }

            Dbms.Close(instName);
            return(workOrders);
        }
Ejemplo n.º 10
0
        public Object crearTabla(ZContenedor e)
        {
            if (!data.Exists(v => v is NodoCrearNombre) || !data.Exists(v => v is NodoColumns))
            {
                throw new SemanticError(" no se definio el atrbuto tipo o los parametros del objeto");
            }
            string      nombre = (string)data.First(v => v is NodoCrearNombre).ejecutar(e);
            NodoColumns nC     = (NodoColumns)data.First(v => v is NodoColumns);

            nC.definirTabla(nombre);
            nC.ejecutar(e);
            Tabla tab = Dbms.getBd().getTabla(nombre);


            if (!data.Exists(v => v is NodoData))
            {
                throw new SemanticError("no existe este el atributo data");
            }
            NodoData        nD        = (NodoData)data.First(v => v is NodoData);
            List <NodoFila> nodoFilas = nD.Filas;

            foreach (NodoFila nodo in nodoFilas)
            {
                ZFila entorno = tab.crearFila();
                nodo.ejecutar(entorno);
                tab.addFila(entorno);
            }


            //-------------------------------------------------------------

            return(null);
        }
Ejemplo n.º 11
0
        public void ejecutarAnalizador(string entrada)
        {
            AnalizadorChison analizador = new AnalizadorChison();
            Parser           parser     = new Parser(analizador);
            ParseTree        arbol      = parser.Parse(entrada);
            ParseTreeNode    raiz       = arbol.Root;

            if (raiz == null || arbol.ParserMessages.Count > 0 || arbol.HasErrors())
            {
                if (raiz == null || arbol.ParserMessages.Count > 0 || arbol.HasErrors())
                {
                    //---------------------> Hay Errores

                    foreach (var item in arbol.ParserMessages)
                    {
                        MessageBox.Show("Error->" + item.Message + " Line:" + item.Location.Line);
                    }
                    return;
                }
            }

            List <Instruccion> listIns = (List <Instruccion>)arbol.Root.AstNode;
            ZContenedor        global  = new ZContenedor(null, null);

            Dbms.cargarTedeUs();

            EjecutarAnalizadorCQL.loadToday(global);
            EjecutarAnalizadorCQL.loadNow(global);

            Utilidades.ejecutarSenteciass(listIns, global);

            BaseDeDatos bd = Dbms.BdSeleccionada;

            Console.WriteLine("--- analizado chison ---");
        }
Ejemplo n.º 12
0
        public override object ejecutarSinposicion(ZContenedor e)
        {
            Tabla tab = Dbms.getBd().getTabla(nombreTabla);

            tab.alterAdd(encabezados);
            return(null);
        }
Ejemplo n.º 13
0
        //gets leg 'description'. This is called when loading the tickets for the html table
        public static string getSimpleLeg(string baseId, string subId, string instance)
        {
            //open con to the api
            conOpen();

            string       leg = "";
            GeneralQuery gen = null;

            //Instance currInstance = Dbms.GetInstanceInfo(instance);
            gen = new GeneralQuery(instName);
            gen.Prepare("WORKORDER", "Select BASE_ID, SUB_ID, PART_ID FROM VMFG.WORK_ORDER WHERE BASE_ID = ? AND SUB_ID = ?");
            gen.Parameters[0] = baseId;
            gen.Parameters[1] = subId;
            gen.Execute();

            if (gen.Tables["WORKORDER"].Rows.Count > 0)
            {
                for (var i = 0; i <= gen.Tables["WORKORDER"].Rows.Count - 1; i++)
                {
                    leg = gen.Tables["WORKORDER"].Rows[i]["PART_ID"].ToString();
                }
            }
            Dbms.Close(instName);
            return(leg);
        }
Ejemplo n.º 14
0
        public override object ejecutarSinposicion(ZContenedor e)
        {
            BaseDeDatos bd = Dbms.crearBDChison(nombre);

            Dbms.seleccionarBaseDeDatos(nombre);
            return(bd);
        }
Ejemplo n.º 15
0
        public void CreateOrders()
        {
            long currentTime = 0;
            int  orderCount  = 100;

            var dataBase = Dbms.GetNewMasterDataBase(dbName: "Master40");

            var productIds = dataBase.DbContext.Articles.Include(x => x.ArticleType).Where(x => x.ArticleType.Name.Equals("Product")).Select(x => x.Id).ToList();
            var simConfig  = new SimulationCore.Environment.Configuration();

            simConfig.AddOption(new Seed(169));
            simConfig.AddOption(new OrderArrivalRate(0.015));
            simConfig.AddOption(new MinDeliveryTime(1920));
            simConfig.AddOption(new MaxDeliveryTime(2880));
            var _orderGenerator = new SimulationCore.Helper.DistributionProvider.OrderGenerator(simConfig, dataBase.DbContext, productIds);


            for (int i = 0; i < orderCount; i++)
            {
                var order = _orderGenerator.GetNewRandomOrder(time: currentTime);
                currentTime = order.CreationTime;
                if (order.CreationTime > 10080)
                {
                    break;
                }
                dataBase.DbContext.CustomerOrders.Add(order);
            }

            dataBase.DbContext.SaveChanges();
        }
Ejemplo n.º 16
0
        public static async Task <bool> DoInjection(string baseUrl, List <string> paths)
        {
            Injection.baseUrl = baseUrl;
            Injection.paths   = paths;

            Dotter("Testing injection via query parameter");
            Console.WriteLine("\n");
            bool canQueryParameterInjection = await InjectionViaQueryParameter.Test(false);

            //Extendable by adding other SQLi points.

            if (canQueryParameterInjection == false)
            {
                return(false);
            }

            dbms = await GetDbms(baseUrl, (await InjectionViaQueryParameter.GetInjectablePaths())[0]);

            //If other SQLi points are injectable, test them by sending one of its paths.
            Color("Database information\n" + dbms.ToString(), ConsoleColor.Blue);
            Console.WriteLine();
            Line();

            Console.WriteLine("Performing injection via query parameter:");
            Console.WriteLine();
            bool isQueryParameterInjectionSuccessful = await InjectionViaQueryParameter.Test();

            return(true);
        }
Ejemplo n.º 17
0
        public void pruebaCqlFuncionesList()
        {
            var entrada = @"

list<int> ids = [];
log(ids);

ids.insert(1993);
ids.insert(93);
ids.insert(17);
log(ids);

log(ids.get(1));

ids.set(1, 993);
log(ids);

ids.remove(1);
log(ids);

log(ids.size());

log(ids.contains(17));
log(ids.contains(18));

ids.clear();

log(ids);

";


            var an     = new AnalizadorCQL();
            var parser = new Parser(an);
            var arbol  = parser.Parse(entrada);

            var mensajes = arbol
                           .ParserMessages
                           .Select(message => $"{message.Location} - {message.Message}")
            ;
            var errores = string.Join("\n", mensajes);

            Assert.IsFalse(arbol.HasErrors(), errores);

            List <Instruccion> listIns = (List <Instruccion>)arbol.Root.AstNode;
            ZContenedor        global  = new ZContenedor(null, null);

            Dbms.cargarTedeUs();

            Utilidades.cargarFuncionesNativas(global);

            //funciones
//            loadToday(global);
//            loadNow(global);



            Utilidades.ejecutarSentencias(listIns, global);
        }
Ejemplo n.º 18
0
        public override object ejecutarSinposicion(ZContenedor e)
        {
            Tabla tab = Dbms.getBd().getTabla(id);

            tab.truncate();

            return(null);
        }
Ejemplo n.º 19
0
        public override object ejecutarSinposicion(ZContenedor e)
        {
            Tabla tab = Dbms.getBd().getTabla(nombreTabla);

            tab.alterDrop(listaId);

            return(null);
        }
Ejemplo n.º 20
0
        public void pruebaCqlFuncionesAgregacion()
        {
            var entrada = @"


create database prueba;
use prueba;
create table alumnos (peso int, edad int);
insert into alumnos values (50, 26);
insert into alumnos values (502, 36);
insert into alumnos values (93, 17);

int algo = count(<<select * from alumnos>>);
log(algo);

int sumaTotal = sum(<< select edad from alumnos >>);
log(sumaTotal);

int promedio = avg(<< select edad from alumnos >>);
log(promedio);

int maximo = max(<< select edad from alumnos >>);
int minimo = min(<< select edad from alumnos >>);
log(maximo);
log(minimo);


";


            var an     = new AnalizadorCQL();
            var parser = new Parser(an);
            var arbol  = parser.Parse(entrada);

            var mensajes = arbol
                           .ParserMessages
                           .Select(message => $"{message.Location} - {message.Message}")
            ;
            var errores = string.Join("\n", mensajes);

            Assert.IsFalse(arbol.HasErrors(), errores);

            List <Instruccion> listIns = (List <Instruccion>)arbol.Root.AstNode;
            ZContenedor        global  = new ZContenedor(null, null);

            Dbms.cargarTedeUs();

            Utilidades.cargarFuncionesNativas(global);

            //funciones
//            loadToday(global);
//            loadNow(global);



            Utilidades.ejecutarSentencias(listIns, global);
        }
 public ArticleCache()
 {
     _dbConnectionString = Dbms.getDbContextString();
     _masterDBContext    = new ProductionDomainContext(options: new DbContextOptionsBuilder <MasterDBContext>()
                                                       .UseSqlServer(connectionString: _dbConnectionString)
                                                       .Options);
     _masterDBContext.Database.EnsureCreated();
     MasterDbInitializerTable.DbInitialize(context: _masterDBContext);
 }
Ejemplo n.º 22
0
        public void TestDropNonExistingDatabase()
        {
            ProductionDomainContext productionDomainContext = Dbms.GetNewMasterDataBase().DbContext;

            bool wasDropped = Dbms.DropDatabase("bla",
                                                productionDomainContext.Database.GetDbConnection().ConnectionString);

            Assert.False(wasDropped, "Db could be dropped, although it doesn't exist.");
        }
 public ArticleCheck()
 {
     _dbConnectionString = Dbms.getDbContextString().Replace("UnitTestDB", "TruckTest");
     _masterDBContext    = new ProductionDomainContext(options: new DbContextOptionsBuilder <MasterDBContext>()
                                                       .UseSqlServer(connectionString: _dbConnectionString)
                                                       .Options);
     _masterDBContext.Database.EnsureCreated();
     MasterDBInitializerTruck.DbInitialize(context: _masterDBContext);
 }
Ejemplo n.º 24
0
        public void AddArticleWithoutOperation()
        {
            _contextDataBase = Dbms.GetNewMasterDataBase();

            InitializeTestModel();
            var _articleCache = new SimulationCore.Types.ArticleCache(connectionString: _contextDataBase.ConnectionString);
            var article       = _articleCache.GetArticleById(id: 10456, transitionFactor: 3);

            Assert.Equal(actual: article.Name, expected: "Wheel");
        }
Ejemplo n.º 25
0
        public void AddExistingArticle()
        {
            _contextDataBase = Dbms.GetNewMasterDataBase();

            var _articleCache = new SimulationCore.Types.ArticleCache(connectionString: _contextDataBase.ConnectionString);
            var article       = _articleCache.GetArticleById(id: 10772, transitionFactor: 3);
            var article2      = _articleCache.GetArticleById(id: 10772, transitionFactor: 3);

            Assert.Equal(expected: article2.Name, actual: article.Name);
        }
Ejemplo n.º 26
0
        public override object ejecutarSinposicion(ZContenedor e)
        {
            //se obtiene la tabla
            //se desenvuelven los argumentos
            //se llama al metodo 'insertar normal'
            Tabla tab = Dbms.getBd().getTabla(nombreTabla);
            List <ZContenedor> args = Utilidades.desnvolverArgumento(argumentos, e);

            tab.insertNormal(args);

            return(null);
        }
Ejemplo n.º 27
0
        //saves direct ticket into the database
        public static void saveTikect(string bzItem, string baseId, string lotId, string splitId, string leg, string opn, string employeeId, Decimal hourlyCost, string hoursworked, string overtime, string date, string workprod, string task, string premili, string currmili, string comment, string instance)
        {
            //open con to the api
            conOpen();

            //new labor ticket
            LaborTicket ticket = new LaborTicket(instName);

            ticket.Prepare();

            //preparing the data
            DataRow dr = (DataRow)ticket.NewRunLaborRow(1);

            dr["BASE_ID"]          = baseId;
            dr["LOT_ID"]           = lotId;
            dr["SPLIT_ID"]         = splitId;
            dr["SUB_ID"]           = leg;
            dr["SEQ_NO"]           = Int32.Parse(opn);
            dr["TRANSACTION_TYPE"] = "RUN";
            dr["EMPLOYEE_ID"]      = employeeId;
            dr["HOURLY_COST"]      = hourlyCost;
            dr["HOURS_WORKED"]     = hoursworked;
            dr["MULTIPLIER_1"]     = overtime.Equals("OT") ? 1.500 : 1.000;
            dr["TRANSACTION_DATE"] = date;
            bzItem = bzItem.Equals("") ? "-" : "B" + bzItem;
            if (overtime.Equals("OT"))
            {
                dr["DESCRIPTION"] = workprod + "," + task + "," + premili + "," + currmili + "," + bzItem + "," + "OT" + ",&" + comment;
            }
            else if (overtime.Equals("BK"))
            {
                dr["DESCRIPTION"] = workprod + "," + task + "," + premili + "," + currmili + "," + bzItem + "," + "BK" + ",&" + comment;
            }
            else
            {
                dr["DESCRIPTION"] = workprod + "," + task + "," + premili + "," + currmili + "," + bzItem + "," + "" + ",&" + comment;
            }
            dr["SHIFT_DATE"] = date;
            dr["SITE_ID"]    = "BACH";

            //api method to save
            try
            {
                ticket.Save();
            }
            catch (Exception ex)
            {
                Dbms.Close(instName);
            }

            Dbms.Close(instName);
        }
Ejemplo n.º 28
0
 public MigrationRunnerOptions(string nameInLogs, Dbms dbms, IEnumerable <IMigration> migrations, ILogger logger,
                               MigrationTransactionMode transactionMode, Database db, IProcessor processor,
                               string journalTableName = "schema_journal")
 {
     NameInLogs       = nameInLogs;
     Dbms             = dbms;
     Migrations       = new List <IMigration>(migrations);
     Logger           = logger;
     TransactionMode  = transactionMode;
     JournalTableName = journalTableName;
     Db        = db;
     Processor = processor;
 }
Ejemplo n.º 29
0
        public override object ejecutarSinposicion(ZContenedor e)
        {
            if (argumentos.Count != nombreCampos.Count)
            {
                throw new SemanticError("la instruccion insert to, la cantidad de argumentos no correspondne a los encabezados de la tabla");
            }

            List <ZContenedor> args = Utilidades.desnvolverArgumento(argumentos, e);
            Tabla tab = Dbms.getBd().getTabla(nombre);

            tab.insertEspecial(args, nombreCampos);


            return(null);
        }
        public override object ejecutarSinposicion(ZContenedor e)
        {
            BaseDeDatos bd = Dbms.getBd();

            //preguntar si los tipos se mandan desenbueltos de una
            List <TeDeU> listaTedeus = new List <TeDeU>();

            foreach (NodoDeclararParametro nodo in tipoRetorno)
            {
                listaTedeus.Add((TeDeU)nodo.Tipo.ejecutar(e));
            }
            Procedimiento proc = new Procedimiento(parametros, tipoRetorno, listaTedeus, _instrucciones, e);

            bd.decProcedimiento(id, proc);
            return(null);
        }