//public string GetDBScript(string entity) //{ // return ScriptGeneratorModule.GenerateScript(entity); //} public int TaskList(int actionId, ErpTask erpTasks, DateTime date, int?no_of_paralle_processes) { AxBaseException result = null; try { //DataWriter.TruncateTables(erpTasks.truncate_items, erpTasks.truncate_sales_trans_dump, erpTasks.truncate_sales_trans_refresh, erpTasks.truncate_locations_and_vendors, // erpTasks.truncate_lookup_info, erpTasks.truncate_bom, erpTasks.truncate_po_to, erpTasks.truncate_price, erpTasks.truncate_attribute_refresh); TaskExecute exec = new TaskExecute(erpTasks.Steps, no_of_paralle_processes.HasValue ? no_of_paralle_processes.Value : 1, actionId, date); exec.Execute(); //foreach (var erpStep in erpTasks.Steps) //{ // ExecuteTask(actionId, erpStep, date); // possible to do some parallel processing. //} } catch (Exception e) { result = new AxBaseException { ApplicationException = e }; } finally { OnTaskCompleted(null, new ErpTaskCompletedArgs { Exception = result, ActionId = actionId, Status = result == null ? 2 : 3 }); } return(actionId); }
public static ErpTask GetTask(int taskId) { using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["stg_connection"].ConnectionString)) { using (var cmd = new SqlCommand("[erp].[get_action_task]", con)) { con.Open(); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@action_task_id", taskId); var reader = cmd.ExecuteReader(); if (reader.Read()) { ErpTask task = new ErpTask { Id = reader.GetInt32(0), Name = ReadString(reader, 1), truncate_items = reader.GetBoolean(2), truncate_sales_trans_dump = reader.GetBoolean(3), truncate_locations_and_vendors = reader.GetBoolean(4), truncate_sales_trans_refresh = reader.GetBoolean(5), truncate_lookup_info = reader.GetBoolean(6), truncate_bom = reader.GetBoolean(7), truncate_po_to = reader.GetBoolean(8), truncate_price = reader.GetBoolean(9), truncate_attribute_refresh = reader.GetBoolean(10), no_of_parallel_processes = reader.GetInt32(11) }; task.Steps = GetTaskSteps(taskId); return(task); } return(null); } } }
public Task <int> ExecuteTask(ErpTask erpTask, int actionId, DateTime date, int?noParallelProcesses) { Task <int> task = new Task <int>(() => factory.TaskList(actionId, erpTask, date, noParallelProcesses)); return(task); }