Dariusz Żukowski 3 Napisano 8 Września 2022 Udostępnij Napisano 8 Września 2022 w Jak dodać przez api całkowicie model produktu ? (edytowane) O ile początek jest łatwu to nie wiem co dalej z właciwościami i cechami. using (modelS = menadzerModeli.Utworz()) { modelS.Dane.Opis = produkt.Opis; modelS.Dane.Nazwa = produkt.Nazwa; modelS.Dane.Sygnatura.PelnaSygnatura = produkt.Symbol; modelS.Zapisz(); } Nie ma metod dodających właściwości. Jak w ogole dodać cechy i produkty do wcześniej utowrzonego modelu ? Edytowane 8 Września 2022 przez Dariusz Żukowski Link to postu
Mateusz Matuszewski 91 Napisano 9 Września 2022 Udostępnij Napisano 9 Września 2022 w Jak dodać przez api całkowicie model produktu ? Właściwości do modelu można dodać w taki sposób: Wlasciwosc wlasciwosc; IModel modelBO; var wlasciwoscModelu = new WlasciwoscModelu(); modelBO.Dane.WlasciwosciModelu.Add(wlasciwoscModelu); wlasciwoscModelu.Wlasciwosc = wlasciwosc; Asortyment do modelu najłatwiej dodać od strony samego asortymentu: Model model; IAsortyment asortymentBO; asortyment.Dane.Model = model; foreach (var wlasciwosc in asortyment.Dane.WlasciwosciAsortymentu) { wlasciwosc.CechyAsortymentu.Clear(); wlasciwosc.CechyAsortymentu.Add(wlasciwosc.Wlasciwosc.CechyAsortymentu.First()); } Link to postu
Dariusz Żukowski 3 Napisano 9 Września 2022 Autor Udostępnij Napisano 9 Września 2022 w Jak dodać przez api całkowicie model produktu ? Mam coś takiego : using (modelS = menadzerModeli.Utworz()) { modelS.Dane.Opis = produkt.Opis; modelS.Dane.Nazwa = produkt.Nazwa; modelS.Dane.Sygnatura.PelnaSygnatura = produkt.Symbol; int lp = 1; foreach (var add in xAdds) { var newProp = wlasciwosci.Utworz(); newProp.Dane.Nazwa = add.Name; newProp.Dane.Symbol = add.SKU; newProp.Dane.CechyAsortymentu.AddRange(add.CechyNexo); newProp.Zapisz(); var currentProp = wlasciwosci.Dane.Wszystkie().Where(a => a.Nazwa == add.Name).FirstOrDefault(); modelS.Dane.WlasciwosciModelu.Add(new WlasciwoscModelu { LP = lp, Unikalna = true, Wlasciwosc = currentProp, Wymagana = true }); lp++; } modelS.Zapisz(); } Jednak w linii newProp.Dane.CechyAsortymentu.AddRange(add.CechyNexo); wyskakuje błąd o braku możliwości aktualizacji obiektu biznesowego. Obiekt add.CechyNexo to po prostu zbiór cech które chce dodać do Właściwości. Link to postu
Mateusz Matuszewski 91 Napisano 12 Września 2022 Udostępnij Napisano 12 Września 2022 w Jak dodać przez api całkowicie model produktu ? Proszę spróbować dodać właściwość do cechy asortymentu: var newProp = wlasciwosci.Utworz(); newProp.Dane.Nazwa = add.Name; newProp.Dane.Symbol = add.SKU; newProp.Zapisz(); foreach (var cecha in add.CechyNexo) { using (var cechaBO = cechy.Znajdz(cecha)) { cechaBO.Dane.Wlasciwosci.Add(newProp.Dane); cechaBO.Zapisz(); } } Dodam jeszcze, że zmiana pól (również poprzez inicjalizatory) na nowych encjach przed przyłączeniem ich do obiektu biznesowego może skutkować niespodziewanymi problemami. Zamiast konstrukcji: modelS.Dane.WlasciwosciModelu.Add(new WlasciwoscModelu { LP = lp, Unikalna = true, Wlasciwosc = currentProp, Wymagana = true }); proszę użyć: var wlasciwoscModelu = new WlasciwoscModelu(); modelS.Dane.WlasciwosciModelu.Add(wlasciwoscModelu); //tutaj wlasciwoscModelu jest przyłączana do obiektu biznesowego modelu. wlasciwoscModelu.LP = lp; wlasciwoscModelu.Unikalna = true; wlasciwoscModelu.Wlasciwosc = currentProp; wlasciwoscModelu.Wymagana = true; Link to postu
Polecane posty