Marcin Gawlik 2 Napisano 18 Maja 2023 Udostępnij Napisano 18 Maja 2023 w [SFERA] - dodanie magazynu Witam, jak w temacie private Magazyn AddMagazynIfNotExist(Uchwyt sfera, HospDocHeaders dok) { var magazyny = sfera.Magazyny(); var encjaMag = magazyny.Dane.Wszystkie().Where(m=> m.Symbol == dok.Warehouse).FirstOrDefault(); // var jedOrg = sfera.JednostkiOrganizacyjne(); //var encjaJedOrg = jedOrg.Dane.Wszystkie().FirstOrDefault(); if (encjaMag != null) /// Jeśli encja istnieje to ją zwraca i pomija dodawanie nowej { return encjaMag; } using (var magazyn = magazyny.Utworz()) { magazyn.Dane.Symbol = dok.Warehouse; magazyn.Dane.Nazwa = dok.Warehouse; if (magazyn.Zapisz()) { Console.WriteLine("Poprawnie zapisano centralę."); } else { magazyn.WypiszBledy(); } return magazyn.Dane; } } Powyższy kod zwraca błąd {Magazyn Hot_RE musi być podłączony do co najmniej jednej jednostki organizacyjnej}. Jak podłączyć taką jednostkę? Link to postu
Rozwiązanie Wojciech Szopiński 227 Napisano 22 Maja 2023 Rozwiązanie Udostępnij Napisano 22 Maja 2023 w [SFERA] - dodanie magazynu Jednostka organizacyjna to inaczej mówiąc - oddział. Zgodnie z komunikatem magazyn musi być elementem co najmniej jednego oddziału. Typ JednostkaOrganizacyjna to klasa bazowa dla centrali, która zawsze jest jedna i jest tworzona podczas zakładania podmiotu oraz pozostałych oddziałów. Teraz w zależności od tego czy chcemy magazyn podłączyć do centrali można wykorzystać menedżer ICentrale, a jeśli do innego oddziału - menedżer IOddzialy: var magazyny = sfera.Magazyny(); var encjaMag = magazyny.Dane.Wszystkie().Where(m=> m.Symbol == dok.Warehouse).FirstOrDefault(); ICentrale centrala = sfera.Centrale(); IOddzialy oddzialy = sfera.Oddzialy(); if (encjaMag != null) /// Jeśli encja istnieje to ją zwraca i pomija dodawanie nowej { return encjaMag; } using (var magazyn = magazyny.Utworz()) { magazyn.Dane.Symbol = dok.Warehouse; magazyn.Dane.Nazwa = dok.Warehouse; // jeśli chcemy dodać go do centrali: nowy.Dane.JednostkiOrganizacyjne.Add(centrala.Dane.Wszystkie().FirstOrDefault()); // jeśli chcemy dodać go do innego oddziału: Oddzial szukany = oddzialy.Dane.Wszystkie().Where(o => o.Symbol == "SZUKANY").FirstOrDefault(); if (szukany != null) nowy.Dane.JednostkiOrganizacyjne.Add(szukany); if (magazyn.Zapisz()) { Console.WriteLine("Poprawnie zapisano centralę."); } else { magazyn.WypiszBledy(); } return magazyn.Dane; } 1 Link to postu
Polecane posty