XFuture XConnector API dla mBank
Metoda pozwala pobrać zawartośc koszyka zleceń.

Namespace: GTools
Assembly: mBankConnectorLibrary (in mBankConnectorLibrary.dll) Version: 2.0.0.0

Syntax

C#
public void getBasket(
	string accountNumber
)
Visual Basic
Public Sub getBasket ( _
	accountNumber As String _
)
Visual C++
public:
void getBasket(
	String^ accountNumber
)

Parameters

accountNumber
Type: System..::..String
Numer rachunku, którego koszyk ma zostać pobrany

Remarks

Koszyk zleceń jest kontenrem dla operacji, co do których nie zdecydowano się na natychmiastową autoryzację w momencie składania zlecenia. Zlecenia z koszyka można selektywnie autoryzować w poźniejszym terminie, lub usunąć bez przekazywania do realizacji. Metoda jest asynchroniczna i może wyzwalać szereg zdarzeń. statusChanged - zdarzenie wyzwalane jest w trakcie wykonywania metody w celu informowania o kolejnych etapach wykonywanej operacji operationFinished - zdarzenie wyzwalane jest po zakończeniu wykonywania metody i pozwala ocenić rezultat operacji basketContentReady - zdarzenie wyzwalane jest po zakończeniu wykonywania metody i pozwala odebrać zawartość koszyka Uwaga: Dane przechowywane w obiekcie zlecenia z koszyka(CollectedTransferData), po pobraniu z koszyka roznią się w znacznym stopniu od danych przekazanych w momencie składania zlecenia. Rożnice polegają na tym, że częśc danych nie jest prezentowana, a inne skumulowane są w jednym polu ( np. adres, tytuł, nazwa ). Wynika to z polityki prezentowania danych Banku i jeśli Twoje oprogramowanie porównuje dane zlecenia przekazanego do koszyka, z danymi odzyskanymi z koszyka, należy mieć to na uwadze.

Examples

CopyC#
Przykładowa klasa, pokazujaca sposób autoryzacji koszyka.
       class GetBasketExampleClass
       {
           //prywatny obiekt konektora
           private GTools.mBankConnector mymBankConnector;
           //konstruktor
           public GetBasketExampleClass(string login, string haslo)
           {
               this.mymBankConnector = new mBankConnector(login, haslo);
               this.mymBankConnector.operationFinished += new mBankConnector.mBankOperation_StatusChangedEventListener(mymBankConnector_operationFinished);
               this.mymBankConnector.statusChanged += new mBankConnector.mBankConnector_StatusChangedEventListener(mymBankConnector_statusChanged);
               this.mymBankConnector.basketContentReady += new mBankConnector.mBankConnector_BasketContentReady(mymBankConnector_basketContentReady);
           }

           void mymBankConnector_basketContentReady(System.Collections.Generic.List<CollectedTransferData> collectedOperations)
           {
               System.Diagnostics.Debug.WriteLine("Zawartość koszyka została pobrana:");

               //Dla wszystkich zleceń z koszyka
               foreach (CollectedTransferData operation in collectedOperations)
               {
                   //przy pobieraniu zleceń z koszyka niektóre dane obiektu zlecenia 
                   //mogą być niezdefiniowane, np data księgowania (accountingDate);
                   //jest to zrozumiałe, ponieważ zlecenia nie zostały jeszcze 
                   //zrealizowane; w koszyku oczekują na akceptację.

                   //Wyświetlamy wybrane dane zlecenia
                   System.Diagnostics.Debug.WriteLine(
                       string.Format("Data złożenia zlecenia:{0}, opis:{1}",
                           operation.postingDate, 
                           operation.operationDescription
                       )
                   );
               }
           }

           //sluchacz zdarzenia operationFinished konektora, wyzwalany
           //po zakończeniu operacji
           private void mymBankConnector_operationFinished(mBankConnector.mBankLastOperationResultEnum status)
           {

               //Jeśli operacja zakończyła się sukcesem
               if (status == mBankConnector.mBankLastOperationResultEnum.SUCCESS)
               {
                   if (mymBankConnector.serviceContext == ServiceType.LOGIN)
                   {
                       System.Diagnostics.Debug.WriteLine("Logowanie zakończone sukcesem");

                   }

               }
               //Jeśli operacja zakończyła się niepowodzeniem
               else
               {
                   //Wyświetlamy informację w oknie diagnostycznym
                   System.Diagnostics.Debug.WriteLine(
                        string.Format("Operacja {0} zakończyła się niepowodzeniem. Komunikat błędu: {1}",
                        mymBankConnector, mymBankConnector.serviceContext.ToString(),
                        mymBankConnector.errorMessage)
                   );
               }

           }
           //sluchacz zdarzenia statusChanged konektora, wyzwalany
           //przy każdej zmianie statusu
           private void mymBankConnector_statusChanged(mBankConnector.mBankConnectorStatusEnum status)
           {
               System.Diagnostics.Debug.WriteLine(string.Format("Zmiana statusu konektora: {0}", mymBankConnector.status.ToString()));
           }
           //metoda usługi logowania
           public void login()
           {
               //wywołanie asynchronicznej metody logowania
               mymBankConnector.login();
               //po zakonczeniu logowania, metoda mymBankConnector_operationFinished, 
               //zarejestrowana jako słuchacz zdarzenia 'operationFinished'
               //konektora,wyświetli listę dostępnych rachunków i kontekstów
           }
           //metoda usługi pobierania zawartości koszyka
           public void getBasket()
           {
               if (mymBankConnector.status != mBankConnector.mBankConnectorStatusEnum.LOGGED_IN)
               {
                   System.Diagnostics.Debug.WriteLine(
                       "Konektor nie jest zalogowany, lub poprzednia operacja nie zakończyła się jeszcze");
                   return;
               }
               else
               {
                   //Nastapi próba pobrania zawartościkoszyka. Istotne, że pozytywny 
                   //rezultat zgłaszany jest w zdarzeniu 'basketContentReady', nie zaś
                   //w operationFinished, tak, jak następuje to w przypadku
                   //niepowodzenia.
                   mymBankConnector.getBasket();
               }
           }

       }

See Also