コード例 #1
0
        public void SetUp()
        {
            this.requestResource = new SerialNumberReissueResource {
                ArticleNumber = "art", SernosGroup = "group"
            };
            var serialNumberReissue = new SerialNumberReissue("group", "art");

            this.SerialNumberReissueService.ReissueSerialNumber(Arg.Any <SerialNumberReissueResource>())
            .Returns(new CreatedResult <SerialNumberReissue>(serialNumberReissue));

            this.Response = this.Browser.Post(
                "/production/maintenance/serial-number-reissue",
                with =>
            {
                with.Header("Accept", "application/json");
                with.Header("Content-Type", "application/json");
                with.JsonBody(this.requestResource);
            }).Result;
        }
コード例 #2
0
        public IResult <SerialNumberReissue> ReissueSerialNumber(SerialNumberReissueResource resource)
        {
            var employee = resource.Links.FirstOrDefault(a => a.Rel == "created-by");

            if (employee == null)
            {
                return(new BadRequestResult <SerialNumberReissue>("Must supply an employee number when Reissuing Serial Numbers"));
            }

            resource.CreatedBy = employee.Href.ParseId();

            var sernosRenumMessage = this.sernosRenumPack.ReissueSerialNumber(
                resource.SernosGroup,
                resource.SerialNumber,
                resource.NewSerialNumber,
                resource.ArticleNumber,
                resource.NewArticleNumber,
                resource.Comments,
                resource.CreatedBy);

            if (sernosRenumMessage != "SUCCESS")
            {
                return(new BadRequestResult <SerialNumberReissue>(sernosRenumMessage));
            }

            var sernos = this.serialNumberReissueRepository.FindBy(
                r => r.SerialNumber == resource.SerialNumber &&
                r.ArticleNumber == resource.ArticleNumber &&
                r.SernosGroup == resource.SernosGroup);

            var serialNumberReissue = new SerialNumberReissue(sernos.SernosGroup, sernos.ArticleNumber)
            {
                SerialNumber     = sernos.SerialNumber,
                NewSerialNumber  = sernos.NewSerialNumber,
                NewArticleNumber = sernos.NewArticleNumber,
                CreatedBy        = sernos.CreatedBy,
                Id       = sernos.Id,
                Comments = sernos.Comments
            };

            return(new CreatedResult <SerialNumberReissue>(serialNumberReissue));
        }
コード例 #3
0
        public void SetUp()
        {
            this.resource = new SerialNumberReissueResource
            {
                SernosGroup      = "group",
                ArticleNumber    = "art",
                SerialNumber     = 123,
                NewSerialNumber  = 555,
                NewArticleNumber = "newart",
                Comments         = "comment",
                CreatedBy        = 33067,
                Links            = new List <LinkResource>
                {
                    new LinkResource("created-by", "/employees/33067")
                }.ToArray()
            };

            this.serialNumberReissue = new SerialNumberReissue("group", "art")
            {
                NewSerialNumber  = 1234,
                NewArticleNumber = "newart",
                Id           = 111,
                SerialNumber = 123
            };

            this.SernosRenumPack.ReissueSerialNumber(
                this.resource.SernosGroup,
                this.resource.SerialNumber,
                this.resource.NewSerialNumber,
                this.resource.ArticleNumber,
                this.resource.NewArticleNumber,
                this.resource.Comments,
                this.resource.CreatedBy).Returns("SUCCESS");

            this.SerialNumberResissueRepository.FindBy(Arg.Any <Expression <Func <SerialNumberReissue, bool> > >())
            .Returns(this.serialNumberReissue);

            this.result = this.Sut.ReissueSerialNumber(this.resource);
        }