| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using qdr.fnd.core.pqueue.Storages;
- using Quadarax.Foundation.Core.Data;
- using Quadarax.Foundation.Core.Logging;
- using System.Xml.Linq;
- namespace qdr.fnd.core.pqueue.test.Mocks
- {
- public class PsQueueItemMock : PsQueueItem
- {
- public PsQueueItemMock(string id) : base(id)
- {
- }
- public PsQueueItemMock(string id, string owner, string ownerRef, string providerClass, DateTime created, ITypedArgument[]? arguments, int initialAttempts = 0): base(id, owner, ownerRef, providerClass, created, arguments, initialAttempts)
- {
- }
- public void SetOwner(string owner, string ownerRef)
- {
- Owner = owner;
- OwnerRef = ownerRef;
- }
- public void ClearArguments()
- {
- Arguments = new ITypedArgument[0];
- }
- public void AddToStorage(IPsQueueStorage storage)
- {
- var itemId = storage.CreateItem(Owner, OwnerRef, ProcessProviderClass, AtteptsInitial, null);
- foreach (var argument in Arguments)
- {
- if (argument.ValueType.FullName == null) throw new InvalidOperationException($"Cannot obtain fullName of type '{argument.ValueType.Name}'");
-
- storage.CreateItemAttribute(itemId, argument.Name, argument.Value, argument.ValueType.FullName, argument.IsOutput);
- }
- storage.UpdateItemStatus(itemId, Status,IsStatusTransient);
- Id = itemId;
- }
- public void SetValidity(DateTime validFrom, DateTime? validTo)
- {
- ValidFrom = validFrom;
- ValidTo = validTo;
- }
- }
- }
|