Radomił Ząbik 308 Napisano 15 Lutego 2022 Udostępnij Napisano 15 Lutego 2022 w [Sfera] Dodawanie tabeli kursów walut - problem z walutami innymi niż EUR Mam taki kod, który ma za zadanie stworzyć tabelę kursów walut i uzupełnić ją kursami: ITabeleKursowWalut tabele = sfera.PodajObiektTypu<ITabeleKursowWalut>(); ILinieKursowWalut linie = sfera.PodajObiektTypu<ILinieKursowWalut>(); IWalutyDaneDomyslne walutyDD = sfera.PodajObiektTypu<IWaluty>().DaneDomyslne; // tworzenie nowej oferty using (ITabelaKursowWalut tabela = tabele.Utworz()) { string number = results.number; tabela.Dane.Numer = number; string dateString = results.date+" 07:00:00,000"; DateTime tableDate = DateTime.ParseExact(dateString,"yyyy-MM-dd HH:mm:ss,fff",System.Globalization.CultureInfo.InvariantCulture); tabela.Dane.DataPublikacji = tableDate; int line = results.line; tabela.Dane.Linia = linie.Dane.Wszystkie().Where(l => l.Id == line).SingleOrDefault(); // wypełnienie kursów foreach(var rate in results.rates) { string code = rate.code; decimal ask = rate.ask; Console.WriteLine(code); TabelaKursowWalutPozycja kurs = new TabelaKursowWalutPozycja(); tabela.Dane.Pozycje.Add(kurs); kurs.WalutaBazowa = walutyDD.PLN; if(code=="EUR") { Console.WriteLine("Euro"); kurs.WalutaPrzeliczana = walutyDD.EUR; } if(code=="CHF") { Console.WriteLine("Frank"); kurs.WalutaPrzeliczana = walutyDD.CHF; } if(code=="GBP") { Console.WriteLine("Funty"); kurs.WalutaPrzeliczana = walutyDD.GBP; } kurs.Kurs = ask; Console.WriteLine(kurs.WalutaPrzeliczana.Symbol); } tabela.Zapisz() } I kod działał Sobie spokojnie do tej pory, do czasu aż zostałem poproszony o dodanie innych walut niż EUR. I tutaj nie rozumiem, bo zasady skopiowałem, nawet próbowałem przesłać tylko GBP, ale tak jakby nie podłączała się taka waluta. W samy programie spokojnie mogę taką tabelę stworzyć. Poniżej przykład co zwraca dla EUR, a co dla GBP: Link to postu
Mateusz Matuszewski 91 Napisano 16 Lutego 2022 Udostępnij Napisano 16 Lutego 2022 w [Sfera] Dodawanie tabeli kursów walut - problem z walutami innymi niż EUR Proszę sprawdzić jaki jest identyfikator waluty GBP w bazie danych (powinien to być guid EE50AB7F-D2CA-43A7-B1B8-0F8FE5CCADC5), bo być może waluta pochodząca z danych domyślnych została usunięta, a następnie waluta GBP została dodana ręcznie. W takim przypadku interfejs danych domyślnych zwróci null dla tej waluty, ponieważ posługuje się on wbudowanymi identyfikatorami. Jedyne wyjście to wyszukanie waluty w repozytorium na podstawie symbolu. Link to postu
Radomił Ząbik 308 Napisano 16 Lutego 2022 Autor Udostępnij Napisano 16 Lutego 2022 w [Sfera] Dodawanie tabeli kursów walut - problem z walutami innymi niż EUR Bingo - klient widocznie coś majstrował, dostanie po głowie Czyli lecimy standardem o tak? IWaluty waluty = sfera.PodajObiektTypu<IWaluty>(); kurs.WalutaPrzeliczana = waluty.Dane.Wszystkie().Where(w => w.Symbol == code).SingleOrDefault(); Link to postu
Mateusz Matuszewski 91 Napisano 16 Lutego 2022 Udostępnij Napisano 16 Lutego 2022 w [Sfera] Dodawanie tabeli kursów walut - problem z walutami innymi niż EUR 21 minut temu, Radomił Ząbik napisał: Czyli lecimy standardem o tak? Zgadza się. Link to postu
Polecane posty