public void SendOrder(BaseLinkerOrderModel order) { Subiekt subiekt = this.gt.Uruchom((int)UruchomDopasujEnum.gtaUruchomDopasuj, (int)UruchomEnum.gtaUruchom) as Subiekt; // sprawdzalbym tutaj czy nie tworzymy duplikatu ale mozna uzywac metody Istnieje() tylko po Id lub odnoszac sie // do raw data w bazie SuDokument suDokument = subiekt.SuDokumentyManager.DodajZK(); suDokument.KontrahentId = getKontrahentId(subiekt, order); Console.WriteLine("Adding order positions..."); suDokument.NumerOryginalny = order.OrderId; foreach (BaseLinkerProductModel product in order.Products) { SuPozycja pozycja = suDokument.Pozycje.DodajUslugeJednorazowa() as SuPozycja; pozycja.UslJednNazwa = product.Name; pozycja.CenaBruttoPrzedRabatem = product.PriceBrutto; pozycja.IloscJm = product.Quantity; pozycja.VatId = getVatId(product.TaxRate); } suDokument.Zapisz(); suDokument.Wyswietl(); suDokument.Zamknij(); }
private int getKontrahentId(Subiekt subiekt, BaseLinkerOrderModel order) { Kontrahent kontrahent; if (!subiekt.Kontrahenci.Istnieje(order.UserLogin)) { Console.WriteLine("Creating nonexisting Kontrahent"); kontrahent = subiekt.KontrahenciManager.DodajKontrahenta(); kontrahent.Symbol = order.UserLogin; kontrahent.NazwaPelna = order.DeliveryFullname; kontrahent.Nazwa = order.DeliveryFullname; kontrahent.Ulica = order.DeliveryAddress; kontrahent.KodPocztowy = order.DeliveryPostcode; kontrahent.Miejscowosc = order.DeliveryCity; kontrahent.Email = order.Email; kontrahent.Zapisz(); kontrahent.Zamknij(); } Console.WriteLine("Getting kontrahentId"); kontrahent = subiekt.Kontrahenci.Wczytaj(order.UserLogin) as Kontrahent; return((int)kontrahent.Identyfikator); }