Beispiel #1
0
 public static ConsignmentItemService EditForPendingItems(PendingConsignmentItem pendingItem, Guid jobItemId, Guid supplierId, IUserContext userContext, bool jobIsPending = false)
 {
     return(new ConsignmentItemService(
                userContext,
                MockRepository.GenerateStub <IConsignmentRepository>(),
                GetConsignmentItemRepository(pendingItem),
                GetJobItemRepository(jobItemId, userContext, jobIsPending),
                MockRepository.GenerateStub <IListItemRepository>(),
                GetSupplierRepository(supplierId),
                MockRepository.GenerateStub <IQueueDispatcher <IMessage> >()));
 }
Beispiel #2
0
 private void EditPendingConsignmentItem(Guid id, Guid jobItemId, Guid supplierId, string instructions)
 {
     try
     {
         _pendingItemForEdit = _consignmentItemService.EditPending(id, jobItemId, supplierId, instructions);
     }
     catch (DomainValidationException dex)
     {
         _domainValidationException = dex;
     }
 }
Beispiel #3
0
        private static IConsignmentItemRepository GetConsignmentItemRepository(PendingConsignmentItem pendingItem)
        {
            var consignmentItemRepositoryStub = MockRepository.GenerateStub <IConsignmentItemRepository>();

            if (pendingItem != null)
            {
                consignmentItemRepositoryStub.Stub(x => x.GetPendingItem(pendingItem.Id)).Return(pendingItem);
            }
            else
            {
                consignmentItemRepositoryStub.Stub(x => x.GetPendingItem(Guid.Empty)).IgnoreArguments().Return(null);
            }
            return(consignmentItemRepositoryStub);
        }
Beispiel #4
0
        public PendingConsignmentItem CreatePending(Guid id, Guid jobItemId, Guid supplierId, string instructions)
        {
            if (!CurrentUser.HasRole(UserRole.Member))
            {
                throw new DomainValidationException(Messages.InsufficientSecurityClearance);
            }
            if (_consignmentItemRepository.JobItemHasPendingConsignmentItem(jobItemId))
            {
                throw new DomainValidationException(Messages.PendingItemAlreadyExists);
            }
            var jobItem = _jobItemRepository.GetById(jobItemId);

            if (jobItem == null)
            {
                throw new ArgumentException("An ID must be supplied for the job item.");
            }
            if (jobItem.Job.IsPending)
            {
                throw new DomainValidationException(Messages.PendingJob);
            }
            var supplier = _supplierRepository.GetById(supplierId);

            if (supplier == null)
            {
                throw new ArgumentException("An ID must be supplied for the supplier.");
            }
            var pendingItem = new PendingConsignmentItem
            {
                Id           = id,
                JobItem      = jobItem,
                Supplier     = supplier,
                Instructions = instructions
            };

            ValidateAnnotatedObjectThrowOnFailure(pendingItem);
            _consignmentItemRepository.CreatePendingItem(pendingItem);
            return(pendingItem);
        }
 public void UpdatePendingItem(PendingConsignmentItem pendingItem)
 {
     CurrentSession.Update(pendingItem);
 }
 public void CreatePendingItem(PendingConsignmentItem pendingItem)
 {
     CurrentSession.Save(pendingItem);
 }
Beispiel #7
0
 public void Setup()
 {
     _domainValidationException = null;
     _jobItemToUpdate           = new JobItem
     {
         Id  = Guid.NewGuid(),
         Job = new Job
         {
             Id          = Guid.NewGuid(),
             JobNo       = "JR2000",
             CreatedBy   = _userContext.GetCurrentUser(),
             OrderNo     = "ORDER12345",
             DateCreated = DateTime.UtcNow,
             Customer    = new Customer {
                 Id = Guid.NewGuid(), Name = "Gael Ltd"
             }
         },
         ItemNo     = 1,
         SerialNo   = "12345",
         Instrument = new Instrument
         {
             Id = Guid.NewGuid(), Manufacturer = "Druck", ModelNo = "DPI601IS", Range = "None", Description = "Digital Pressure Indicator"
         },
         CalPeriod   = 12,
         Created     = DateTime.UtcNow,
         CreatedUser = _userContext.GetCurrentUser(),
     };
     _jobItemforEditPendingId = Guid.NewGuid();
     _jobItemForEditPending   = new JobItem
     {
         Id  = _jobItemforEditPendingId,
         Job = new Job
         {
             Id          = Guid.NewGuid(),
             JobNo       = "JR2001",
             CreatedBy   = _userContext.GetCurrentUser(),
             OrderNo     = "ORDER12345",
             DateCreated = DateTime.UtcNow,
             Customer    = new Customer {
                 Id = Guid.NewGuid(), Name = "Gael Ltd"
             }
         },
         ItemNo     = 1,
         SerialNo   = "12345",
         Instrument = new Instrument
         {
             Id           = Guid.NewGuid(),
             Manufacturer = "Druck",
             ModelNo      = "DPI601IS",
             Range        = "None",
             Description  = "Digital Pressure Indicator"
         },
         CalPeriod   = 12,
         Created     = DateTime.UtcNow,
         CreatedUser = _userContext.GetCurrentUser(),
     };
     _pendingItemId      = Guid.NewGuid();
     _pendingItemForEdit = new PendingConsignmentItem
     {
         Id       = _pendingItemId,
         Supplier = new Supplier {
             Id = Guid.NewGuid(), Name = "Gael Ltd"
         },
         JobItem      = _jobItemForEditPending,
         Instructions = "some instructions"
     };
     _consignmentItemForEditId = Guid.NewGuid();
     _consignmentItemForEdit   = new ConsignmentItem
     {
         Id           = _consignmentItemForEditId,
         ItemNo       = 1,
         Instructions = "some instructions",
         Consignment  = new Consignment
         {
             Id            = Guid.NewGuid(),
             ConsignmentNo = "CR2000",
             IsOrdered     = false
         }
     };
 }