Beispiel #1
0
        public PendingOrderItem CreatePending(
            Guid id, Guid supplierId, string description, int quantity, string partNo, string instructions, int deliveryDays, Guid jobItemId, decimal price, decimal?carriage)
        {
            if (!CurrentUser.HasRole(UserRole.Member))
            {
                throw new DomainValidationException(OrderItemMessages.InsufficientSecurity, "CurrentUser");
            }
            if (id == Guid.Empty)
            {
                throw new ArgumentException("A valid ID must be supplied for the pending item");
            }
            if (_orderItemRepository.JobItemHasPendingOrderItem(jobItemId))
            {
                throw new DomainValidationException(OrderItemMessages.PendingItemExists, "JobItemId");
            }
            var pendingItem = new PendingOrderItem();

            pendingItem.Id           = id;
            pendingItem.Supplier     = GetSupplier(supplierId);
            pendingItem.Description  = description;
            pendingItem.Quantity     = GetQuantity(quantity);
            pendingItem.PartNo       = partNo;
            pendingItem.Instructions = instructions;
            pendingItem.DeliveryDays = GetDeliveryDays(deliveryDays);
            pendingItem.JobItem      = GetJobItem(jobItemId);
            pendingItem.Price        = GetPrice(price);
            pendingItem.Carriage     = GetCarriage(carriage);
            ValidateAnnotatedObjectThrowOnFailure(pendingItem);
            _orderItemRepository.CreatePending(pendingItem);
            return(pendingItem);
        }
Beispiel #2
0
 public void UpdatePendingItem(PendingOrderItem pendingItem)
 {
     CurrentSession.Save(pendingItem);
 }