public void SetUp()
        {
            this.resource = new CreateAuditReqsResource
            {
                LocationRange = "E-K1-01",
                Department    = "DEP",
                Links         = new List <LinkResource>
                {
                    new LinkResource("created-by", string.Empty)
                }.ToArray()
            };

            this.StoragePlaceRepository.FilterBy(Arg.Any <Expression <Func <StoragePlace, bool> > >()).Returns(
                new List <StoragePlace> {
                new StoragePlace {
                    Name = "SP"
                }
            }.AsQueryable());

            this.StoragePlaceAuditPack.CreateAuditReq("SP", 33067, this.resource.Department).Returns("ERROR");
        }
Esempio n. 2
0
        public void CreateAuditReqs(CreateAuditReqsResource resource)
        {
            var employee = resource.Links.FirstOrDefault(a => a.Rel == "created-by");

            if (employee == null)
            {
                throw new InvalidOperationException("Must supply an employee number when creating audit reqs");
            }

            var employeeNumber = employee.Href.ParseId();

            List <StoragePlace> storagePlaces;

            if (!string.IsNullOrEmpty(resource.LocationRange) && resource.LocationRange.StartsWith("E-K"))
            {
                storagePlaces = this.storagePlaceRepository.FilterBy(s => s.Name.StartsWith(resource.LocationRange))
                                .OrderBy(s => s.Name).ToList();
            }
            else
            {
                storagePlaces = this.storagePlaceRepository.FilterBy(s => resource.LocationList.Any(l => s.Name == l))
                                .OrderBy(s => s.Name).ToList();
            }

            foreach (var storagePlace in storagePlaces)
            {
                var result = this.storagePlaceAuditPack.CreateAuditReq(
                    storagePlace.Name,
                    employeeNumber,
                    resource.Department);

                if (result != "SUCCESS")
                {
                    throw new InvalidOperationException(result);
                }
            }
        }