//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); }
//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); }
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(); }
//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); }
//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); }
//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); }
//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); }
//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); }
//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); }
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); }
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 ---"); }
public override object ejecutarSinposicion(ZContenedor e) { Tabla tab = Dbms.getBd().getTabla(nombreTabla); tab.alterAdd(encabezados); return(null); }
//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); }
public override object ejecutarSinposicion(ZContenedor e) { BaseDeDatos bd = Dbms.crearBDChison(nombre); Dbms.seleccionarBaseDeDatos(nombre); return(bd); }
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(); }
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); }
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); }
public override object ejecutarSinposicion(ZContenedor e) { Tabla tab = Dbms.getBd().getTabla(id); tab.truncate(); return(null); }
public override object ejecutarSinposicion(ZContenedor e) { Tabla tab = Dbms.getBd().getTabla(nombreTabla); tab.alterDrop(listaId); return(null); }
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); }
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); }
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"); }
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); }
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); }
//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); }
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; }
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); }