public static TimeAndMaterialJobOrder CreateNewInstance(IJobOrderNumberGenerator jobOrderNumberGenerator, Guid customerId, string customerName, Guid managerId, string managerName, decimal?value, DateTime dateOfStart, DateTime?dateOfExpiration, string name, string purchaseOrderNumber, string description) { var id = Guid.NewGuid(); var jobOrder = new TimeAndMaterialJobOrder() { Id = id, Customer = new CustomerInfo(customerId, customerName), Manager = new ManagerInfo(managerId, managerName), Value = value, DateOfStart = dateOfStart, DateOfExpiration = dateOfExpiration, Name = name, Number = jobOrderNumberGenerator.Generate(), IsCompleted = false, PurchaseOrderNumber = purchaseOrderNumber, Description = description }; var @event = new TimeAndMaterialJobOrderRegisteredEvent( jobOrder.Id, jobOrder.Customer.Id, jobOrder.Customer.Name, jobOrder.Manager.Id, jobOrder.Manager.Name, jobOrder.Value, jobOrder.DateOfStart, jobOrder.DateOfExpiration, jobOrder.Name, jobOrder.Number, jobOrder.PurchaseOrderNumber, jobOrder.Description ); jobOrder.RaiseEvent(@event); return(jobOrder); }
public JobOrderSaga(IBus bus, IEventStore eventStore, IRepository repository, IJobOrderNumberGenerator jobOrderNumberGenerator) { _repository = repository ?? throw new ArgumentNullException(nameof(repository)); _bus = bus ?? throw new ArgumentNullException(nameof(bus)); _eventStore = eventStore ?? throw new ArgumentNullException(nameof(eventStore)); JobOrderNumberGenerator = jobOrderNumberGenerator ?? throw new ArgumentNullException(nameof(jobOrderNumberGenerator)); }
public TimeAndMaterialJobOrderSaga(IBus bus, IEventStore eventStore, IRepository repository, IJobOrderNumberGenerator jobOrderNumberGenerator) : base(bus, eventStore, repository) { if (jobOrderNumberGenerator == null) { throw new ArgumentNullException("jobOrderNumberGenerator"); } JobOrderNumberGenerator = jobOrderNumberGenerator; }
public FixedPriceJobOrderSaga(IBus bus, IEventStore eventStore, IRepository repository, IJobOrderNumberGenerator jobOrderNumberGenerator) : base(bus, eventStore, repository) { if (jobOrderNumberGenerator == null) { throw new ArgumentNullException(nameof(jobOrderNumberGenerator)); } JobOrderNumberGenerator = jobOrderNumberGenerator; }
public static JobOrder RegisterNew(IJobOrderNumberGenerator jobOrderNumberGenerator, Guid customerId, string customerName, Guid?contactPersonId, Guid managerId, decimal?price, string currency, DateTime dateOfStart, DateTime dueDate, bool isTimeAndMaterial, string name, string purchaseOrderNumber, string description, Guid userId) { if (jobOrderNumberGenerator == null) { throw new ArgumentNullException(nameof(jobOrderNumberGenerator)); } if (price < 0) { throw new ArgumentException("The price must be zero or higher", nameof(price)); } if (string.IsNullOrWhiteSpace(currency)) { throw new ArgumentException("The currency must me specified", nameof(currency)); } if (dueDate < dateOfStart) { throw new ArgumentException("The due date cannot precede the starting date", nameof(dueDate)); } if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentException("The job order must have a name", nameof(name)); } var @event = new JobOrderRegisteredEvent( Guid.NewGuid(), customerId, customerName, contactPersonId, managerId, price, currency, DateTime.Now, dateOfStart, dueDate, isTimeAndMaterial, name, jobOrderNumberGenerator.Generate(), purchaseOrderNumber, description, userId ); var jobOrder = new JobOrder(); jobOrder.RaiseEvent(@event); return(jobOrder); }
public static FixedPriceJobOrder CreateNewInstance(IJobOrderNumberGenerator jobOrderNumberGenerator, Guid customerId, Guid managerId, decimal price, string currency, DateTime dateOfStart, DateTime dueDate, string name, string purchaseOrderNumber, string description) { if (jobOrderNumberGenerator == null) { throw new ArgumentNullException(nameof(jobOrderNumberGenerator)); } if (price < 0) { throw new ArgumentException("The price must be zero or higher", nameof(price)); } if (string.IsNullOrWhiteSpace(currency)) { throw new ArgumentException("The currency must me specified", nameof(currency)); } if (dueDate < dateOfStart) { throw new ArgumentException("The due date cannot precede the starting date", nameof(dueDate)); } if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentException("The job order must have a name", nameof(name)); } var @event = new FixedPriceJobOrderRegisteredEvent( Guid.NewGuid(), customerId, managerId, price, currency, dateOfStart, dueDate, name, jobOrderNumberGenerator.Generate(), purchaseOrderNumber, description ); var jobOrder = new FixedPriceJobOrder(); jobOrder.RaiseEvent(@event); return(jobOrder); }
public static TimeAndMaterialJobOrder CreateNewInstance(IJobOrderNumberGenerator jobOrderNumberGenerator, Guid customerId, Guid managerId, decimal value, string currency, DateTime dateOfStart, DateTime?dateOfExpiration, string name, string purchaseOrderNumber, string description) { if (jobOrderNumberGenerator == null) { throw new ArgumentNullException(nameof(jobOrderNumberGenerator)); } if (value < 0) { throw new ArgumentException("The value must be zero or higher", nameof(value)); } if (string.IsNullOrWhiteSpace(currency)) { throw new ArgumentException("The currency must me specified", nameof(currency)); } if (dateOfExpiration.HasValue && dateOfExpiration.Value < dateOfStart) { throw new ArgumentException("The date of expiration cannot precede the starting date", nameof(dateOfExpiration)); } if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentException("The job order must have a name", nameof(name)); } var @event = new TimeAndMaterialJobOrderRegisteredEvent( Guid.NewGuid(), customerId, managerId, value, currency, dateOfStart, dateOfExpiration, name, jobOrderNumberGenerator.Generate(), purchaseOrderNumber, description ); var jobOrder = new TimeAndMaterialJobOrder(); jobOrder.RaiseEvent(@event); return(jobOrder); }
public static TimeAndMaterialJobOrder CreateNewInstance(IJobOrderNumberGenerator jobOrderNumberGenerator, Guid customerId, string customerName, Guid managerId, string managerName, decimal value, string currency, DateTime dateOfStart, DateTime? dateOfExpiration, string name, string purchaseOrderNumber, string description) { var @event = new TimeAndMaterialJobOrderRegisteredEvent( Guid.NewGuid(), customerId, customerName, managerId, managerName, value, currency, dateOfStart, dateOfExpiration, name, jobOrderNumberGenerator.Generate(), purchaseOrderNumber, description ); var jobOrder = new TimeAndMaterialJobOrder(); jobOrder.RaiseEvent(@event); return jobOrder; }
public static FixedPriceJobOrder CreateNewInstance(IJobOrderNumberGenerator jobOrderNumberGenerator, Guid customerId, string customerName, Guid managerId, string managerName, decimal price, string currency, DateTime dateOfStart, DateTime dueDate, string name, string purchaseOrderNumber, string description) { var @event = new FixedPriceJobOrderRegisteredEvent( Guid.NewGuid(), customerId, customerName, managerId, managerName, price, currency, dateOfStart, dueDate, name, jobOrderNumberGenerator.Generate(), purchaseOrderNumber, description ); var jobOrder = new FixedPriceJobOrder(); jobOrder.RaiseEvent(@event); return jobOrder; }
public static TimeAndMaterialJobOrder CreateNewInstance(IJobOrderNumberGenerator jobOrderNumberGenerator, Guid customerId, string customerName, Guid managerId, string managerName, decimal value, string currency, DateTime dateOfStart, DateTime?dateOfExpiration, string name, string purchaseOrderNumber, string description) { var @event = new TimeAndMaterialJobOrderRegisteredEvent( Guid.NewGuid(), customerId, customerName, managerId, managerName, value, currency, dateOfStart, dateOfExpiration, name, jobOrderNumberGenerator.Generate(), purchaseOrderNumber, description ); var jobOrder = new TimeAndMaterialJobOrder(); jobOrder.RaiseEvent(@event); return(jobOrder); }
public static FixedPriceJobOrder CreateNewInstance(IJobOrderNumberGenerator jobOrderNumberGenerator, Guid customerId, string customerName, Guid managerId, string managerName, decimal price, string currency, DateTime dateOfStart, DateTime dueDate, string name, string purchaseOrderNumber, string description) { var @event = new FixedPriceJobOrderRegisteredEvent( Guid.NewGuid(), customerId, customerName, managerId, managerName, price, currency, dateOfStart, dueDate, name, jobOrderNumberGenerator.Generate(), purchaseOrderNumber, description ); var jobOrder = new FixedPriceJobOrder(); jobOrder.RaiseEvent(@event); return(jobOrder); }
public TimeAndMaterialJobOrderSaga(IBus bus, IEventStore eventStore, IRepository repository, IJobOrderNumberGenerator jobOrderNumberGenerator) { if (bus == null) { throw new ArgumentNullException(nameof(bus)); } if (eventStore == null) { throw new ArgumentNullException(nameof(eventStore)); } if (repository == null) { throw new ArgumentNullException(nameof(repository)); } if (jobOrderNumberGenerator == null) { throw new ArgumentNullException(nameof(jobOrderNumberGenerator)); } this._repository = repository; this._bus = bus; this._eventStore = eventStore; JobOrderNumberGenerator = jobOrderNumberGenerator; }