示例#1
0
        public static int Send(Order order)
        {
            FortnoxClient  fnc  = client();
            OrderConnector ocon = fnc.Get <OrderConnector>();

            ocon.Create(order);
            return(1);
        }
示例#2
0
        public static int Send(List <Order> orders)
        {
            FortnoxClient  fnc  = client();
            OrderConnector ocon = fnc.Get <OrderConnector>();

            foreach (Order item in orders)
            {
                ocon.Create(item);
            }
            return(orders.Count);
        }
示例#3
0
        public void Test_Email()
        {
            #region Arrange
            var tmpCustomer = new CustomerConnector().Create(new Customer()
            {
                Name = "TmpCustomer", CountryCode = "SE", City = "Testopolis", Email = "*****@*****.**"
            });
            var tmpArticle = new ArticleConnector().Create(new Article()
            {
                Description = "TmpArticle", Type = ArticleType.Stock, PurchasePrice = 100
            });
            #endregion Arrange

            IOrderConnector connector = new OrderConnector();
            var             newOrder  = new Order()
            {
                Comments       = "TestOrder",
                CustomerNumber = tmpCustomer.CustomerNumber,
                OrderDate      = new DateTime(2019, 1, 20), //"2019-01-20",
                OrderRows      = new List <OrderRow>()
                {
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 10
                    },
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 20
                    },
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 15
                    }
                }
            };

            var createdOrder = connector.Create(newOrder);
            MyAssert.HasNoError(connector);

            var emailedInvoice = connector.Email(createdOrder.DocumentNumber);
            MyAssert.HasNoError(connector);
            Assert.AreEqual(emailedInvoice.DocumentNumber, createdOrder.DocumentNumber);

            #region Delete arranged resources
            new CustomerConnector().Delete(tmpCustomer.CustomerNumber);
            new ArticleConnector().Delete(tmpArticle.ArticleNumber);
            #endregion Delete arranged resources
        }
        public void Test_Print()
        {
            #region Arrange
            var tmpCustomer = new CustomerConnector().Create(new Customer()
            {
                Name = "TmpCustomer", CountryCode = "SE", City = "Testopolis"
            });
            var tmpArticle = new ArticleConnector().Create(new Article()
            {
                Description = "TmpArticle", Type = ArticleType.Stock, PurchasePrice = 100
            });
            #endregion Arrange

            IOrderConnector connector = new OrderConnector();
            var             newOrder  = new Order()
            {
                Comments       = "TestOrder",
                CustomerNumber = tmpCustomer.CustomerNumber,
                OrderDate      = new DateTime(2019, 1, 20), //"2019-01-20",
                OrderRows      = new List <OrderRow>()
                {
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 10
                    },
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 20
                    },
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 15
                    }
                }
            };

            var createdOrder = connector.Create(newOrder);

            var fileData = connector.Print(createdOrder.DocumentNumber);
            MyAssert.IsPDF(fileData);

            connector.Cancel(createdOrder.DocumentNumber);

            #region Delete arranged resources
            new CustomerConnector().Delete(tmpCustomer.CustomerNumber);
            //new ArticleConnector().Delete(tmpArticle.ArticleNumber);
            #endregion Delete arranged resources
        }
示例#5
0
        public void TestOrder()
        {
            var connector = new OrderConnector();

            connector.Authorization = new StaticTokenAuth(at, cs);

            connector.FromDate = "2017-01-01";
            connector.ToDate   = "2017-04-03";
            var orders = connector.Find();

            Assert.IsFalse(connector.HasError);
            Assert.IsTrue(orders.TotalResources == "3");

            connector.FromDate = "2017-06-01";
            connector.ToDate   = "2017-06-30";
            orders             = connector.Find();
            Assert.IsFalse(connector.HasError);
            Assert.IsTrue(orders.TotalResources == "6");
        }
示例#6
0
        public void TestOrder()
        {
            var connector = new OrderConnector();

            connector.AccessToken  = at;
            connector.ClientSecret = cs;

            connector.FromDate = "2017-01-01";
            connector.ToDate   = "2017-04-03";
            var orders = connector.Find();

            Assert.IsFalse(connector.HasError);
            Assert.IsTrue(orders.TotalResources == "3");

            connector.FromDate = "2017-06-01";
            connector.ToDate   = "2017-06-30";
            orders             = connector.Find();
            Assert.IsFalse(connector.HasError);
            Assert.IsTrue(orders.TotalResources == "6");
        }
示例#7
0
        public void Test_Find()
        {
            #region Arrange
            var tmpCustomer = new CustomerConnector().Create(new Customer()
            {
                Name = "TmpCustomer", CountryCode = "SE", City = "Testopolis"
            });
            var tmpArticle = new ArticleConnector().Create(new Article()
            {
                Description = "TmpArticle", Type = ArticleType.Stock, PurchasePrice = 100
            });
            #endregion Arrange

            IOrderConnector connector = new OrderConnector();
            var             newOrder  = new Order()
            {
                Comments       = "TestOrder",
                CustomerNumber = tmpCustomer.CustomerNumber,
                OrderDate      = new DateTime(2019, 1, 20), //"2019-01-20",
                OrderRows      = new List <OrderRow>()
                {
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 10
                    },
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 20
                    },
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 15
                    }
                }
            };

            //Add entries
            for (var i = 0; i < 5; i++)
            {
                connector.Create(newOrder);
                MyAssert.HasNoError(connector);
            }

            //Apply base test filter
            connector.Search.CustomerNumber = tmpCustomer.CustomerNumber;
            var fullCollection = connector.Find();
            MyAssert.HasNoError(connector);

            Assert.AreEqual(5, fullCollection.TotalResources);
            Assert.AreEqual(5, fullCollection.Entities.Count);
            Assert.AreEqual(1, fullCollection.TotalPages);

            Assert.AreEqual(tmpCustomer.CustomerNumber, fullCollection.Entities.First().CustomerNumber);

            //Apply Limit
            connector.Search.Limit = 2;
            var limitedCollection = connector.Find();
            MyAssert.HasNoError(connector);

            Assert.AreEqual(5, limitedCollection.TotalResources);
            Assert.AreEqual(2, limitedCollection.Entities.Count);
            Assert.AreEqual(3, limitedCollection.TotalPages);

            //Delete entries (DELETE not supported)

            #region Delete arranged resources
            new CustomerConnector().Delete(tmpCustomer.CustomerNumber);
            new ArticleConnector().Delete(tmpArticle.ArticleNumber);
            #endregion Delete arranged resources
        }
示例#8
0
        public void Test_Order_CRUD()
        {
            #region Arrange
            var tmpCustomer = new CustomerConnector().Create(new Customer()
            {
                Name = "TmpCustomer", CountryCode = "SE", City = "Testopolis"
            });
            var tmpArticle = new ArticleConnector().Create(new Article()
            {
                Description = "TmpArticle", Type = ArticleType.Stock, PurchasePrice = 100
            });
            #endregion Arrange

            IOrderConnector connector = new OrderConnector();

            #region CREATE
            var newOrder = new Order()
            {
                Comments       = "TestOrder",
                CustomerNumber = tmpCustomer.CustomerNumber,
                OrderDate      = new DateTime(2019, 1, 20), //"2019-01-20",
                OrderRows      = new List <OrderRow>()
                {
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 10
                    },
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 20
                    },
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 15
                    }
                }
            };

            var createdOrder = connector.Create(newOrder);
            MyAssert.HasNoError(connector);
            Assert.AreEqual("TestOrder", createdOrder.Comments);
            Assert.AreEqual("TmpCustomer", createdOrder.CustomerName);
            Assert.AreEqual(3, createdOrder.OrderRows.Count);

            #endregion CREATE

            #region UPDATE

            createdOrder.Comments = "UpdatedTestOrder";

            var updatedOrder = connector.Update(createdOrder);
            MyAssert.HasNoError(connector);
            Assert.AreEqual("UpdatedTestOrder", updatedOrder.Comments);

            #endregion UPDATE

            #region READ / GET

            var retrievedOrder = connector.Get(createdOrder.DocumentNumber);
            MyAssert.HasNoError(connector);
            Assert.AreEqual("UpdatedTestOrder", retrievedOrder.Comments);

            #endregion READ / GET

            #region DELETE
            //Not allowed
            #endregion DELETE

            #region Delete arranged resources
            new CustomerConnector().Delete(tmpCustomer.CustomerNumber);
            new ArticleConnector().Delete(tmpArticle.ArticleNumber);
            #endregion Delete arranged resources
        }
示例#9
0
        public void Test_Order_CRUD()
        {
            //Arrange
            var tmpCustomer = new CustomerConnector().Create(new Customer()
            {
                Name = "TmpCustomer", CountryCode = "SE", City = "Testopolis"
            });
            var tmpArticle = new ArticleConnector().Create(new Article()
            {
                Description = "TmpArticle", Type = ArticleType.STOCK, PurchasePrice = 100
            });

            //Act
            var connector = new OrderConnector();

            #region CREATE
            var newOrder = new Order()
            {
                CustomerNumber = tmpCustomer.CustomerNumber,
                OrderDate      = new DateTime(2019, 1, 20).ToString(APIConstants.DateFormat), //"2019-01-20",
                OrderRows      = new List <OrderRow>()
                {
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 10
                    },
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 20
                    },
                    new OrderRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, OrderedQuantity = 20, DeliveredQuantity = 15
                    }
                }
            };

            var createdOrder = connector.Create(newOrder);
            MyAssert.HasNoError(connector);
            Assert.AreEqual(createdOrder.CustomerName, "TmpCustomer");
            Assert.AreEqual(3, createdOrder.OrderRows.Count);

            #endregion CREATE

            #region UPDATE

            createdOrder.City = "UpdatedCity";

            var updatedOrder = connector.Update(createdOrder);
            MyAssert.HasNoError(connector);
            Assert.AreEqual("UpdatedCity", updatedOrder.City);

            #endregion UPDATE

            #region READ / GET

            var retrievedOrder = connector.Get(createdOrder.DocumentNumber);
            MyAssert.HasNoError(connector);
            Assert.AreEqual("UpdatedCity", retrievedOrder.City);

            #endregion READ / GET

            #region DELETE
            //Order does not provide DELETE method, but can be canceled
            connector.Cancel(createdOrder.DocumentNumber);
            MyAssert.HasNoError(connector);

            retrievedOrder = connector.Get(createdOrder.DocumentNumber);
            Assert.AreEqual(true, retrievedOrder.Cancelled);

            #endregion DELETE

            //Clean
            new CustomerConnector().Delete(tmpCustomer.CustomerNumber);
            new ArticleConnector().Delete(tmpArticle.ArticleNumber);
        }