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);
            }
        }
示例#3
0
		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().");
			}
		}
示例#4
0
        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());
        }