public AssignedUserOrder(Transaction transaction, IAssigningUserOrder assigningUserOrder) { Transaction = transaction ?? throw new ArgumentNullException("transaction"); AssigningUserOrder = assigningUserOrder ?? throw new ArgumentNullException("assigningUserOrder"); if (!(Transaction.Message is OrderRequested)) { throw new ArgumentException("transaction"); } }
public UserIndex Update(IAssigningUserOrder assigningUserOrder) { var index = AssigningOrders.IndexOf(assigningUserOrder); if (index < 0) { throw new InvalidOperationException(string.Format("AssigningOrders does not contains assigning order {0}.", assigningUserOrder)); } var newAssigningOrders = AssigningOrders.SetItem(index, assigningUserOrder); return(new UserIndex(User, LastTransaction, MyOrders, newAssigningOrders)); }
public static UserIndex New(IAssigningUserOrder assigningOrder) { return(new UserIndex(assigningOrder.Transaction.User, assigningOrder.Transaction, ImmutableList.Create <IUserOrder>(), ImmutableList.Create(assigningOrder))); }