コード例 #1
0
        public void GetPO_EmptyId_ExceptionRaised()
        {
            var client = CreateClient();
            var getPO  = new GetPurchaseOrder
            {
                Id = Guid.Empty
            };
            var ex = Assert.Throws <WebServiceException>(() => client.Get <PurchaseOrderResponse>(getPO));

            Assert.IsTrue(ex.ErrorCode == "NotEqual");
            Assert.IsTrue(ex.ErrorMessage == "Specify nonempty Id for PurchaseOrder.");
        }
コード例 #2
0
 public HttpResponseMessage getOrderIdByVendorId(GetPurchaseOrder objGetPurchaseOrder)
 {
     try
     {
         DataTable dt = purchaseOrderBL.getData(objGetPurchaseOrder);
         return(Request.CreateResponse(HttpStatusCode.OK, dt));
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
コード例 #3
0
        public void GetPO_CorrectId_POReturned()
        {
            var getPO = new GetPurchaseOrder
            {
                Id = coffeePOResponse.Id
            };

            var service = appHost.Container.Resolve<PurchaseOrderService>();
            var response = service.Get(getPO);
            Assert.IsTrue(response.Id == coffeePOResponse.Id);
            Assert.IsTrue(response.Number == coffeePO.Number);
        }
コード例 #4
0
        public void GetPO_NonExistingId_ExceptionRaised()
        {
            var  client        = CreateClient();
            Guid nonExistingId = Guid.NewGuid();
            var  getPO         = new GetPurchaseOrder
            {
                Id = nonExistingId
            };
            var ex = Assert.Throws <WebServiceException>(() => client.Get <PurchaseOrderResponse>(getPO));

            Assert.IsTrue(ex.ErrorCode == "NotFound");
            Assert.IsTrue(ex.ErrorMessage == $"There is no PurchaseOrder with Id:{nonExistingId}");
        }
コード例 #5
0
        public PurchaseOrderResponse Get(GetPurchaseOrder request)
        {
            try
            {
                PurchaseOrderModel purchaseOrder = purchaseOrderRepository.Find(request.Id);
                if (purchaseOrder == default(PurchaseOrderModel))
                {
                    throw HttpError.NotFound($"There is no PurchaseOrder with Id:{request.Id}");
                }

                return(purchaseOrder.ConvertTo <PurchaseOrderResponse>());
            }
            catch (Exception ex)
            {
                Log.Error(ex, "Something went wrong while getting PO.");
                throw;
            }
        }
コード例 #6
0
        public void PairInvoiceToPO_CanBePaired_PairedInvoiceReturned()
        {
            var createInvoice = new CreateInvoice
            {
                Number      = "INV00900300",
                CreatedDate = DateTime.Now,
                DueDate     = DateTime.Now.Date.AddDays(30),
                CustomerId  = starbucksBPResponse.Id,
                VendorId    = microsoftBPResponse.Id,
                TaxAmount   = 368.99,
                NetAmount   = 1844.95,
                TotalPrice  = 2213.94,
                Lines       = new List <InvoiceLine>()
                {
                    new InvoiceLine
                    {
                        Description = "Xbox One S NBA 2K20 Bundle (1TB)",
                        Quantity    = 5,
                        UnitPrice   = 299,
                        TaxRate     = 20,
                        TaxAmount   = 299,
                        TotalPrice  = 1794,
                        PoNumber    = "PO000100",
                        IsPaired    = false
                    },
                    new InvoiceLine
                    {
                        Description = "WRC 9 Deluxe Edition FIA World Rally Championship",
                        Quantity    = 5,
                        UnitPrice   = 69.99,
                        TaxRate     = 20,
                        TaxAmount   = 69.99,
                        TotalPrice  = 419.94,
                        PoNumber    = "PO000101",
                        IsPaired    = false
                    }
                }
            };

            var invoiceService = appHost.Container.Resolve <InvoiceService>();
            var invoiceToPair  = invoiceService.Post(createInvoice);

            var createPO100 = new CreatePurchaseOrder
            {
                Number     = "PO000100",
                CustomerId = starbucksBPResponse.Id,
                Lines      = new List <PurchaseOrderLine>()
                {
                    new PurchaseOrderLine
                    {
                        Description = "Xbox One S NBA 2K20 Bundle (1TB)",
                        Quantity    = 5,
                        IsPaired    = false
                    },
                    new PurchaseOrderLine
                    {
                        Description = "Xbox One S Star Wars Jedi: Fallen Order Bundle (1TB)",
                        Quantity    = 5,
                        IsPaired    = false
                    }
                }
            };
            var createPO101 = new CreatePurchaseOrder
            {
                Number     = "PO000101",
                CustomerId = starbucksBPResponse.Id,
                Lines      = new List <PurchaseOrderLine>()
                {
                    new PurchaseOrderLine
                    {
                        Description = "WRC 9 Deluxe Edition FIA World Rally Championship",
                        Quantity    = 5,
                        IsPaired    = false
                    },
                    new PurchaseOrderLine
                    {
                        Description = "Tony Hawk’s Pro Skater 1 + 2",
                        Quantity    = 5,
                        IsPaired    = false
                    }
                }
            };

            var poService   = appHost.Container.Resolve <PurchaseOrderService>();
            var poToPair100 = poService.Post(createPO100);
            var poToPair101 = poService.Post(createPO101);

            var patchInvoice = new PatchInvoice
            {
                Id = invoiceToPair.Id
            };

            var pairedInvoice = invoiceService.Patch(patchInvoice);

            Assert.IsTrue(pairedInvoice.Lines.Where(l => l.IsPaired).Count() == 2);

            var getPO = new GetPurchaseOrder
            {
                Id = poToPair100.Id
            };
            var partialyPairedPO100 = poService.Get(getPO);

            Assert.IsTrue(partialyPairedPO100.Lines.Where(l => l.IsPaired).Count() == 1);
            getPO.Id = poToPair101.Id;
            var partialyPairedPO101 = poService.Get(getPO);

            Assert.IsTrue(partialyPairedPO101.Lines.Where(l => l.IsPaired).Count() == 1);
        }