public string WyswietlKontrahentow(Context context) { // Przygotować zmienną do gromadzenia wyników StringBuilder sb = new StringBuilder(); // Do przeglądania obiektów w bazie danych wystarczy otworzyć sesje // w trybie read-only - pierwszy parametr true using (Session session = context.Login.CreateSession(true, false)) { // Kontrahenci znajdują się w module CRM CRMModule module = CRMModule.GetInstance(session); // Następnie odczytujemy obiekt reprezentujący tabele // wszystkich kontrahentów znajdujących się w bazie danych Kontrahenci kontrahenci = module.Kontrahenci; // Jeżeli chcemy przeglądnąć wszystkich kontrahentów to // można wykorzystać enumerator w celu ich przeglądnięcia. // Przeglądanie odbywa się wg primary key. // Zostanie wyciągnięta mało ciekawa statystyka. int suma = 0; foreach (Kontrahent kontrahent in kontrahenci) { // Tutaj można umieścić kod przetwarzający kontrahenta suma += kontrahent.Kod.Length; } sb.AppendLine(string.Format( "Suma długości kodów wszystkich kontrahentów: {0} znaków", suma)); // Częściej zdarza się jednak, że chcemy wyszukać kontrahentów // spełniających pewne warunki, które najlepiej gdyby liczyły się // na serwerze SQL. W tym celu należy uzyskać obiekt widoku view. View view = kontrahenci.CreateView(); // I założyć filtr, np tylko kontrahentów, zawierających literkę // 's' w nazwie i o kodzie nie !INCYDENTALNY. // Operatory // & to jest AND // | to jest OR // ! to jest NOT view.Condition &= new FieldCondition.Like("Nazwa", "*s*") & !new FieldCondition.Equal("Kod", "!INCYDENTALNY"); // Teraz możemy przeglądnąć otrzymaną listę foreach (Kontrahent kontrahent in view) { sb.AppendLine(string.Format("Kod={0}, Nazwa={1}", kontrahent.Kod, kontrahent.Nazwa)); } // Wzracamy rezultat return(sb.ToString()); // Oczywiście Session.Save na końcu nie jest potrzebny, bo nie // zmieniliśmy nic w bazie } }
public IHttpActionResult Get(int id) { using (Session session = EnovaClient.Login.CreateSession(true, false)) { CRMModule cm = CRMModule.GetInstance(session); Kontrahenci kontrahenci = cm.Kontrahenci; var kontrahent = kontrahenci[id]; return(Ok(new ResponseDto(KontrahentDto.FromEnova(kontrahent)))); } }
public IHttpActionResult Get(string kod) { using (Session session = EnovaClient.Login.CreateSession(true, false)) { CRMModule cm = CRMModule.GetInstance(session); Kontrahenci kontrahenci = cm.Kontrahenci; var kontrahent = kontrahenci.WgKodu[kod]; if (kontrahent != null) { return(Ok(new ResponseDto(KontrahentDto.FromEnova(kontrahent)))); } return(NotFound()); } }
public IHttpActionResult Get(ListRequestDto request) { using (Session session = EnovaClient.Login.CreateSession(true, false)) { CRMModule cm = CRMModule.GetInstance(session); Kontrahenci kontrahenci = cm.Kontrahenci; var view = kontrahenci.CreateView(); var pageSize = request.PageSize ?? KONTRAHENCI_PAGE_SIZE; var skip = request.PageNumber * pageSize; var rows = view.Skip(skip).Take(pageSize).Cast <Kontrahent>() .Select(KontrahentListItemDto.FromEnova).ToArray(); return(Ok(new TotalCountResponseDto { TotalCount = kontrahenci.CreateView().Count(), Results = rows })); } }
private void getWybranyKontrahent(Kontrahenci kontrahent) { IdKontrahenta = kontrahent.Knt_KntId; }
public Kontrahent KontrahentByKod(string kod) { return(Kontrahenci.Where(k => k.Kod == kod).FirstOrDefault()); }