/// <summary> /// 対象データテーブルのデータを変換する /// </summary> /// <param name="dttSource"></param> /// <param name="columnName"></param> /// <param name="changeType"></param> private void ChangeDatas(DataTable dttSource, string columnName, DataProcessType changeType) { switch (changeType) { case DataProcessType.PRODUCTION_PLAN_NO: //新生産計画NOへ変換 ChangeProductionPlanNo(dttSource, columnName); break; case DataProcessType.OPERATION_PLAN_NO: //新稼動計画NOへ変換 ChangeOperationPlanNo(dttSource, columnName); break; case DataProcessType.RESET: //自動採番列の値をリセットする ResetAutoNumber(dttSource, columnName); break; case DataProcessType.SKIP: //比較しない列を無視する RemoveSkipColumns(dttSource, columnName); break; default: break; } }
/// <summary> /// データ変換処理の定義通り、データソースを変換する /// </summary> /// <param name="tableName"></param> /// <param name="dttSource"></param> /// <param name="isExpectData"></param> private void ChangeDataByCheckPattern(string tableName, DataTable dttSource, bool isExpectData) { string srcTableName = tableName.ToUpper(); foreach (CheckInfoSet.CheckParttenRow partten in Config.CheckPartten) { DataProcessType changeType = (DataProcessType)Enum.Parse(typeof(DataProcessType), partten.ProcessType, true); ProcessTarget target = (ProcessTarget)Enum.Parse(typeof(ProcessTarget), partten.ProcessTarget, true); if (target != ProcessTarget.Both && ((target == ProcessTarget.ExpectData && isExpectData == false) || (target == ProcessTarget.ResultData && isExpectData))) { continue; } if (!string.IsNullOrEmpty(partten.TableName) && partten.TableName.ToUpper().Equals(srcTableName)) { //対象テーブルの場合、データ変換処理 ChangeDatas(dttSource, partten.ColumnName, changeType); } else if (!string.IsNullOrWhiteSpace(partten.ColumnName) && dttSource.Columns.Contains(partten.ColumnName)) { //対象列が存在する場合、データ変換処理 ChangeDatas(dttSource, partten.ColumnName, changeType); } } }