Skocz do zawartości

Łukasz Kubacki

InsERT
  • Liczba zawartości

    148
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    2

Zawartość dodana przez Łukasz Kubacki

  1. W SDK do nexo znajduje się przykład "nexoPolaWlasne2", który pokazuje wszystkie możliwości API dostępowego do nowych pól własnych. Fragment kodu, który przytoczył Pan na początku tego postu pochodzi właśnie z przykładu "nexoPolaWlasne2". Jest on długi, dlatego że pokazuje wszystkie możliwości pracy ze słownikiem czyli odczyt wszystkich wartości słownika, odczyt klucza obcego z pola i zapis klucza obcego w polu. Oczywiście w realnym rozwiązaniu własnym można to skrócić, a więc w Pana przypadku: zamiast: var towarPW = towarBO.Dane.PobierzEncjeZaawansowanychPolWlasnych(); var niebieski = sfera.PodajObiektTypu<ISlownikiWlasne>()["kolory"].Znajdz("niebieski").Dane; towarPW.UstawWartoscPola("Poleslownikowe2", niebieski); będzie: var poleSlownikowe2 = zaawansowanePolaWlasne.PobierzZaawansowanePoleWlasne<Asortyment>("Poleslownikowe2"); var slownikWlasny = (ISlownikoweZrodloDanych<int, PozycjaSlownikaWlasnego>)poleSlownikowe2.PobierzDefinicjeSlownika(); var pozycjaNiebieska = slownikWlasny.UtworzZapytanieLinqTypowane().First(p => p.Wartosc == "niebieski"); towarBO.Dane.PolaWlasneAdv2.Set<int?>("Poleslownikowe2", pozycjaNiebieska.Id); Jeśli chodzi o pętlę, to będzie analogicznie: zamiast: string dictk; string dictv; string dictn; foreach(dynamic dict in results.dict) { dictk = dict.k; dictn = dict.n; dictv = dict.v; var wartoscslownika = sfera.PodajObiektTypu<ISlownikiWlasne>()[dictk].Znajdz(dictv).Dane; towarPW.UstawWartoscPola(dictn,wartoscslownika); } będzie: string dictk; string dictv; string dictn; foreach(dynamic dict in results.dict) { dictk = dict.k; dictn = dict.n; dictv = dict.v; var poleWlasne = zaawansowanePolaWlasne.PobierzZaawansowanePoleWlasne<Asortyment>(dictn); var slownikWlasny = (ISlownikoweZrodloDanych<int, PozycjaSlownikaWlasnego>)poleWlasne.PobierzDefinicjeSlownika(); var wartoscslownika = slownikWlasny.UtworzZapytanieLinqTypowane().First(p => p.Wartosc == dictv); towarBO.Dane.PolaWlasneAdv2.Set<int?>(dictn, wartoscslownika.Id); }
×
×
  • Dodaj nową pozycję...