//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);
        }
Example #2
0
 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);
         }
     }
 }
Example #3
0
        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);
        }