public static void BatchBegin(this IBatchable target) { BatchCount value = null; if (s_counters.TryGetValue(target, out value)) { value.Count++; } else { s_counters.Add(target, new BatchCount()); } }
public static bool IsBatched(this IBatchable target) { BatchCount value = null; if (s_counters.TryGetValue(target, out value)) { return(value.Count != 0); } else { return(false); } }
public static void BatchCommit(this IBatchable target) { BatchCount value = null; if (s_counters.TryGetValue(target, out value)) { value.Count--; if (value.Count == 0) { target.OnBatchCommitted(); } else if (value.Count < 0) { Log.Error("Called BatchCommit() without BatchBegin()."); value.Count = 0; } } else { Log.Error("Called BatchCommit() without BatchBegin()."); } }
public override string ToString() { var sb = new StringBuilder(AchFile.CharactersPerLine); sb.Append(RecordType); sb.Append(BatchCount.ToString().TrimAndPadLeft(6, '0')); sb.Append(BlockCount.ToString().TrimAndPadLeft(6, '0')); sb.Append(EntryCount.ToString().TrimAndPadLeft(8, '0')); sb.Append(EntryHash.TrimAndPadLeft(10, '0')); sb.Append((TotalDebits * 100).ToString("0").TrimAndPadLeft(12, '0')); // 123.45 => 000000012345 sb.Append((TotalCredits * 100).ToString("0").TrimAndPadLeft(12, '0')); // 123.45 => 000000012345 sb.Append(Reserved.TrimAndPadRight(39)); sb.AppendLine(); return(sb.ToString()); }