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;
 }
示例#6
0
 public Kontrahent KontrahentByKod(string kod)
 {
     return(Kontrahenci.Where(k => k.Kod == kod).FirstOrDefault());
 }