コード例 #1
0
        // Tratamento do evento de criação de uma nova nota de crédito vindo da CreditBankMenuView.
        private async void CreditBankMenurView_APICreateCredinote(float amount)
        {
            try
            {
                // Comunicação com a API, de forma a criar uma noca nota de crédito com o amount referido pelo cliente com o id de sessão atual.
                ResponseCreditNotePost rcnp = await APIClientCommunication.PostCreateCreditNote(amount, Program.AuthUser.SessionID);

                if (rcnp.status.Equals("error"))
                {
                    // No caso da resposta do pedido à API ser igual a "error", apresenta-se uma mensagem na view CreditBankMenurView a informar o sucedido.
                    Program.CreditBankMenurView.UnableToCreateCreditNote();
                }
                else
                {
                    // enviar para a view do menu do banco de créditos para que possa apresentar todas as credirnotes numa lista
                    Program.CreditBankMenurView.AddCreditNoteRowToTable(rcnp.data);
                }
            }
            catch (JsonException jsonEx)
            {
                Program.CreditBankMenurView.ShowMessageBox("Unable to create a credit note on API due to json parse exception:\n" + jsonEx + "\nCreditBankController: CreditBankMenurView_APICreateCredinote");
            }
            catch (ArgumentNullException nullEx)
            {
                Program.CreditBankMenurView.ShowMessageBox("Unable to create a credit note on API due to null exception:\n" + nullEx + "\nCreditBankController: CreditBankMenurView_APICreateCredinote");
            }
            catch (HttpRequestException httpEx)
            {
                Program.CreditBankMenurView.ShowMessageBox("Unable to create a credit note on API due to Http request exception:\n" + httpEx + "\nCreditBankController: CreditBankMenurView_APICreateCredinote");
            }
        }
コード例 #2
0
        // Popular a view CreditBantMenuView com os dados referentes ao utilizador logado.
        private async void CreditBankMenurView_APIGetDataOnLoadRequest(int typeOfData)
        {
            switch (typeOfData)
            {
            case 1:     // Obtem a parir da api o utilizador atual (através da sessionId) juntamente com as notas de crédito.

                try
                {
                    Program.CreditBankMenurView.PopulateUserData(await APIClientCommunication.GetUserBySessionId(Program.AuthUser.SessionID));
                }
                catch (JsonException jsonEx)
                {
                    Program.CreditBankMenurView.ShowMessageBox("Unable to load data (user and credit notes) from API due to json parse exception:\n" + jsonEx + "\nCreditBankController: CreditBankMenurView_APIGetDataOnLoadRequest");
                    return;
                }
                catch (ArgumentNullException nullEx)
                {
                    Program.CreditBankMenurView.ShowMessageBox("Unable to load data (user and credit notes) from API due to null exception:\n" + nullEx + "\nCreditBankController: CreditBankMenurView_APIGetDataOnLoadRequest");
                    return;
                }
                catch (HttpRequestException httpEx)
                {
                    Program.CreditBankMenurView.ShowMessageBox("Unable to load data (user and credit notes) from API due to Http request exception:\n" + httpEx + "\nCreditBankController: CreditBankMenurView_APIGetDataOnLoadRequest");
                    return;
                }


                break;

            case 3:     // Transações associadas ao utilizador atual.

                try
                {
                    Program.CreditBankMenurView.PopulateHistoricTable(await APIClientCommunication.GetTransactionsBySessionId(Program.AuthUser.SessionID));
                }
                catch (JsonException jsonEx)
                {
                    Program.CreditBankMenurView.ShowMessageBox("Unable to load data (transactions) from API due to json parse exception:\n" + jsonEx + "\nCreditBankController: CreditBankMenurView_APIGetDataOnLoadRequest");
                    return;
                }
                catch (ArgumentNullException nullEx)
                {
                    Program.CreditBankMenurView.ShowMessageBox("Unable to load data (transactions) from API due to null exception:\n" + nullEx + "\nCreditBankController: CreditBankMenurView_APIGetDataOnLoadRequest");
                    return;
                }
                catch (HttpRequestException httpEx)
                {
                    Program.CreditBankMenurView.ShowMessageBox("Unable to load data (transactions) from API due to Http request exception:\n" + httpEx + "\nCreditBankController: CreditBankMenurView_APIGetDataOnLoadRequest");
                    return;
                }


                break;
            }
        }