Ejemplo n.º 1
0
        public void DoNotSyncMailedOrInvoicedItemsFromMagento()
        {
            using (MyDataContext.Default = new MyDataContext(Effort.EntityConnectionFactory.CreateTransient("name=MyDataContext")))
            {
                this.InitializeDatabase();

                var magentoSyncer = new MagentoSalesSyncer();
                var magentoSale   = CreateMagentoSale();

                magentoSyncer.SyncToSale(magentoSale);

                var sale = MyDataContext.Default.Sales.First();

                // Items which are shipped shouldn't be synced again
                var newDateTime = new DateTime(2015, 01, 01, 14, 59, 00);
                magentoSale.created_at = newDateTime;

                Mailing.CreateFromUnsentSales();
                magentoSyncer.SyncToSale(magentoSale);

                Assert.AreNotSame(newDateTime, sale.DateOfSale);

                // Items which are invoiced shouldn't be synced again
                Invoice.CreateFromUnbilledSales();
                magentoSale.created_at = newDateTime;
                magentoSyncer.SyncToSale(magentoSale);

                Assert.AreNotSame(newDateTime, sale.DateOfSale);
            }
        }
Ejemplo n.º 2
0
        public void DoNotSyncMailedOrInvoicedItemsFromEbay()
        {
            using (MyDataContext.Default = new MyDataContext(Effort.EntityConnectionFactory.CreateTransient("name=MyDataContext")))
            {
                this.InitializeDatabase();

                TransactionType ebaySale = CreateEbaySale();

                var ebaySyncer = new EbaySalesSyncer();
                ebaySyncer.SyncToSale(ebaySale);

                var sale = MyDataContext.Default.Sales.First();

                // Items which are shipped shouldn't be synced again
                sale.DateOfPayment = DateTime.Now;
                MyDataContext.Default.SaveChanges();
                Mailing.CreateFromUnsentSales();
                ebaySale.Buyer.BuyerInfo.ShippingAddress.Name = "New Name";
                ebaySyncer.SyncToSale(ebaySale);

                Assert.AreNotSame("New Name", sale.InvoiceName);

                // Items which are invoiced shouldn't be synced again
                Invoice.CreateFromUnbilledSales();
                ebaySale.Buyer.BuyerInfo.ShippingAddress.Name = "New Name";
                ebaySyncer.SyncToSale(ebaySale);

                Assert.AreNotSame("New Name", sale.InvoiceName);
            }
        }
Ejemplo n.º 3
0
 protected void CreateMailingsLink_Click(Object sender, EventArgs e)
 {
     try
     {
         Mailing.CreateFromUnsentSales();
         Invoice.CreateFromUnbilledSales();
     }
     catch (Exception ex)
     {
         this.Master.ShowError(ex);
     }
 }
Ejemplo n.º 4
0
        public void IncreaseStockWhenSaleIsDeleted()
        {
            using (MyDataContext.Default = new MyDataContext(Effort.EntityConnectionFactory.CreateTransient("name=MyDataContext")))
            {
                InitializeDatabase();
                var article1 = MyDataContext.Default.Articles.Where(runner => runner.ArticleNumber == "art001").FirstOrDefault();
                var article2 = MyDataContext.Default.Articles.Where(runner => runner.ArticleNumber == "art002").FirstOrDefault();

                var sale = CreateSale(article1, article2);
                MyDataContext.Default.Sales.Add(sale);
                MyDataContext.Default.SaveChanges();

                sale = MyDataContext.Default.Sales.FirstOrDefault();
                sale.Delete();

                Assert.AreEqual(110, article1.AmountOnStock);
                Assert.AreEqual(105, article2.AmountOnStock);

                Mailing.CreateFromUnsentSales();
            }
        }
Ejemplo n.º 5
0
        private static Sale CreateTestSale()
        {
            MaterialGroup materialGroup = new MaterialGroup();

            materialGroup.AdditionalDescriptionEnglish = String.Empty;
            materialGroup.AdditionalDescriptionGerman  = String.Empty;
            materialGroup.DescriptionEnglish           = String.Empty;
            materialGroup.DescriptionGerman            = String.Empty;
            materialGroup.EbayAuctionHtmlTemplate      = String.Empty;
            materialGroup.IntroductionEnglish          = String.Empty;
            materialGroup.IntroductionGerman           = String.Empty;
            materialGroup.Name = "MaterialGroup";
            MyDataContext.Default.MaterialGroups.Add(materialGroup);
            MyDataContext.Default.SaveChanges();

            Supplier supplier = new Supplier();

            supplier.EmailAddress = "*****@*****.**";
            supplier.Name         = "SupplierName";
            MyDataContext.Default.Suppliers.Add(supplier);
            MyDataContext.Default.SaveChanges();

            Article article = new Article();

            article.ArticleNumber              = "123";
            article.DescriptionEnglish         = "DescriptionEnglish";
            article.DescriptionGerman          = "DescriptionGerman";
            article.MaterialGroup              = materialGroup;
            article.NameEnglish                = "NameEnglish";
            article.NameGerman                 = "NameGerman";
            article.NameIntern                 = "NameIntern";
            article.PictureName1               = String.Empty;
            article.PictureName2               = String.Empty;
            article.PictureName3               = String.Empty;
            article.SellingPriceGross          = 123.45m;
            article.SellingPriceWholesaleGross = 12.34m;
            article.Supplier = supplier;
            article.SupplierArticleNumber = "SupplierArticleNumber";
            article.SyncTechnicalInfo     = String.Empty;
            article.Tags = String.Empty;
            article.EAN  = String.Empty;
            article.EbayArticleNumber = String.Empty;
            MyDataContext.Default.Articles.Add(article);
            MyDataContext.Default.SaveChanges();

            StockMovement movement = new StockMovement(article);

            movement.Amount = 10;
            movement.Reason = "Incoming";
            MyDataContext.Default.StockMovements.Add(movement);
            MyDataContext.Default.SaveChanges();

            Sale sale = new Sale();

            sale.DateOfPayment    = new DateTime(2015, 09, 03);
            sale.DateOfSale       = new DateTime(2015, 09, 03);
            sale.EbayName         = "ebay - komakommander";
            sale.SourceId         = "123456";
            sale.EMailAddress     = "*****@*****.**";
            sale.InvoiceCity      = "InvoiceCity";
            sale.InvoiceCountry   = "InvoiceCountry";
            sale.InvoiceName      = "InvoiceName";
            sale.InvoicePostcode  = "InvoicePostcode";
            sale.InvoiceRegion    = "InvoiceRegion";
            sale.InvoiceStreet1   = "InvoiceStreet1";
            sale.InvoiceStreet2   = "InvoiceStreet2";
            sale.IsCashSale       = false;
            sale.ManuallyChanged  = false;
            sale.NameOfBuyer      = "NameOfBuyer";
            sale.Notes            = "Notes";
            sale.PhoneNumber      = "PhoneNumber";
            sale.ShippingCity     = "ShippingCity";
            sale.ShippingCountry  = "ShippingCountry";
            sale.ShippingName     = "ShippingName";
            sale.ShippingPostcode = "ShippingPostcode";
            sale.ShippingPrice    = 123.45m;
            sale.ShippingRegion   = "ShippingRegion";
            sale.ShippingStreet1  = "ShippingStreet1";
            sale.ShippingStreet2  = "ShippingStreet2";
            sale.Source           = SaleSources.Ebay;
            MyDataContext.Default.Sales.Add(sale);

            SaleItem saleItem = new SaleItem(sale, article, 19.0m);

            MyDataContext.Default.SaleItems.Add(saleItem);
            MyDataContext.Default.SaveChanges();

            NumberGenerator generator = new NumberGenerator();

            generator.CurrentNumber = 1;
            generator.Name          = "Invoices";
            generator.StepWidth     = 1;
            MyDataContext.Default.NumberGenerators.Add(generator);
            MyDataContext.Default.SaveChanges();

            Mailing.CreateFromUnsentSales();
            sale.Mailing.ShippingMethod = ShippingMethods.DPD;
            MyDataContext.Default.SaveChanges();

            Invoice.CreateFromUnbilledSales();
            sale.Invoice.InvoiceNumber = "20175272335";
            MyDataContext.Default.SaveChanges();

            return(sale);
        }