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"); }
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); } } }