示例#1
0
        private void WystawKorekteAction_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            IObjectSpace os             = Application.CreateObjectSpace();
            var          factory        = new InvoiceFactory(os);
            var          wybranaFaktura = os.GetObject(View.CurrentObject as Faktura);
            var          korekta        = factory.UtworzKorekteCalkowita(wybranaFaktura);

            if (korekta != null)
            {
                string     detailId   = Application.FindDetailViewId(korekta.GetType());
                DetailView detailView = Application.CreateDetailView(os, detailId, true, korekta);
                e.ShowViewParameters.CreatedView  = detailView;
                e.ShowViewParameters.Context      = TemplateContext.View;
                e.ShowViewParameters.TargetWindow = TargetWindow.Default;
                // po zamknieciu okna zostanie wywołane zdarzenie
                detailView.Closed += DetailView_Closed;
            }
        }
示例#2
0
        public void TestKorektyCalkowitej()
        {
            var factory = new InvoiceFactory(objectSpace);



            Faktura faktura = factory.UtworzFakture(new string[] { "Gacie", "Skarpetki", "Skarpety" });

            Assert.IsNotNull(faktura, "nie utworzono faktury");
            Assert.AreEqual(3, faktura.PozycjeFaktury.Count());
            faktura.PrzeliczSumy();
            objectSpace.CommitChanges();

            var liczbaFaktur = objectSpace.GetObjectsQuery <Faktura>().Count();

            Assert.AreEqual(1, liczbaFaktur);

            var sumaFaktur = objectSpace.GetObjectsQuery <Faktura>().Sum(b => b.WartoscBrutto);

            Assert.AreEqual(188.377m, sumaFaktur);


            var korekta = factory.UtworzKorekteCalkowita(faktura);

            korekta.PrzeliczSumy();
            objectSpace.CommitChanges();

            Assert.IsNotNull(korekta, "nie utworzono faktury korygujacej");
            Assert.AreEqual(3, korekta.PozycjeFaktury.Count());
            Assert.AreSame(faktura.Klient, korekta.Klient, "Faktura wystawiona innego klienta niz korekta");
            Assert.IsNotNull(faktura.PozycjeFaktury[0].PozycjaKorygujaca);

            Assert.AreEqual(faktura.PozycjeFaktury[0].WartoscBrutto, faktura.PozycjeFaktury[0].PozycjaKorygujaca.WartoscBrutto * -1);
            Assert.AreEqual(faktura.PozycjeFaktury[0].WartoscBrutto * -1, korekta.PozycjeFaktury[0].WartoscBrutto);
            Assert.AreEqual(faktura.WartoscBrutto * -1, korekta.WartoscBrutto, "Brutto korekty nie zeruje sie z bruttem faktury");

            var SumaFakturPoKorekcie = objectSpace.GetObjectsQuery <Faktura>().Sum(b => b.WartoscBrutto);

            Assert.AreEqual(0, SumaFakturPoKorekcie, "Brutto korekty nie zeruje sie z bruttem faktury by objectQuery");

            faktura.Delete();
            korekta.Delete();
            objectSpace.CommitChanges();
        }