public Task <MailRequestResult> RequestEBankingEMailAsync(CamiproRequest request)
 {
     return(Task.FromResult
            (
                new MailRequestResult
     {
     }
            ));
 }
Esempio n. 2
0
        /// <summary>
        /// Asynchronously refreshes the data.
        /// </summary>
        protected override Task RefreshAsync(bool force, CancellationToken token)
        {
            return(_requestHandler.ExecuteAsync <MainViewModel, TequilaToken, CamiproSession>(_camiproService, async session =>
            {
                if (!force)
                {
                    return;
                }

                var request = new CamiproRequest
                {
                    Language = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName,
                    // HACK to make design data work :(
                    Session = new SessionId {
                        CamiproCookie = session == null ? null : session.Cookie
                    }
                };

                var accountTask = _camiproService.GetAccountInfoAsync(request, token);
                var ebankingTask = _camiproService.GetEBankingInfoAsync(request, token);

                // parallel requests
                var accountInfo = await accountTask;
                var ebankingInfo = await ebankingTask;

                if (accountInfo.Status == ResponseStatus.NetworkError || ebankingInfo.Status == ResponseStatus.NetworkError)
                {
                    throw new Exception("Server error while getting the account or e-banking info.");
                }
                if (accountInfo.Status == ResponseStatus.AuthenticationError || ebankingInfo.Status == ResponseStatus.AuthenticationError)
                {
                    _requestHandler.Authenticate <MainViewModel>();
                    return;
                }

                if (!token.IsCancellationRequested)
                {
                    AccountInfo = accountInfo;
                    EbankingInfo = ebankingInfo;
                }
            }));
        }
 public Task <EbankingInfo> GetEBankingInfoAsync(CamiproRequest request, CancellationToken token)
 {
     return(Task.FromResult
            (
                new EbankingInfo
     {
         Status = ResponseStatus.Success,
         PaymentInfo = new PaymentInfo
         {
             AccountName = "Ecole Polytechnique Fédérale de Lausanne\nDébiteurs\n1015 Lausanne",
             AccountNumber = "01-23456-7",
             ReferenceNumber = "00 00000 01234 12345 12345 12345"
         },
         CardStatistics = new CardStatistics
         {
             MonthTotal = 186.50,
             ThreeMonthsTotal = 420.60
         }
     }
            ));
 }
Esempio n. 4
0
        /// <summary>
        /// Requests an e-mail with e-banking information.
        /// </summary>
        private Task RequestEbankingEmailAsync()
        {
            return(_requestHandler.ExecuteAsync <MainViewModel, TequilaToken, CamiproSession>(_camiproService, async session =>
            {
                var request = new CamiproRequest
                {
                    Language = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName,
                    Session = new SessionId {
                        CamiproCookie = session.Cookie
                    }
                };

                try
                {
                    var result = await _camiproService.RequestEBankingEMailAsync(request);
                    EmailStatus = result.Status == ResponseStatus.Success ? EmailSendingStatus.Success : EmailSendingStatus.Error;
                }
                catch
                {
                    EmailStatus = EmailSendingStatus.Error;
                }
            }));
        }
Esempio n. 5
0
 public Task <MailRequestResult> RequestEBankingEMailAsync(CamiproRequest request)
 {
     return(CallAsync <CamiproRequest, MailRequestResult>(x => x.RequestEBankingEMailAsync, request));
 }
Esempio n. 6
0
 public Task <EbankingInfo> GetEBankingInfoAsync(CamiproRequest request, CancellationToken cancellationToken)
 {
     return(CallAsync <CamiproRequest, CancellationToken, EbankingInfo>(x => x.GetEBankingInfoAsync, request, cancellationToken));
 }
Esempio n. 7
0
 public Task <AccountInfo> GetAccountInfoAsync(CamiproRequest request, CancellationToken cancellationToken)
 {
     return(CallAsync <CamiproRequest, CancellationToken, AccountInfo>(x => x.GetAccountInfoAsync, request, cancellationToken));
 }
 public Task <AccountInfo> GetAccountInfoAsync(CamiproRequest request, CancellationToken token)
 {
     return(Task.FromResult
            (
                new AccountInfo
     {
         Status = ResponseStatus.Success,
         Balance = 84.30,
         Transactions = new[]
         {
             new Transaction
             {
                 Amount = 120.00,
                 Place = "Chargement e-banking",
                 Date = new DateTime(2013, 5, 15, 11, 36, 26)
             },
             new Transaction
             {
                 Amount = -2.5,
                 Place = "COMPASS_SG_SANTAFE (334295)",
                 Date = new DateTime(2013, 5, 14, 17, 00, 15)
             },
             new Transaction
             {
                 Amount = -3.0,
                 Place = "Compass Giacometti",
                 Date = new DateTime(2013, 5, 15, 15, 13, 01)
             },
             new Transaction
             {
                 Amount = -7.00,
                 Place = "Compass Hodler 2",
                 Date = new DateTime(2013, 5, 14, 11, 41, 34)
             },
             new Transaction
             {
                 Amount = -1.80,
                 Place = "Le Négoce",
                 Date = new DateTime(2013, 5, 13, 12, 14, 26)
             },
             new Transaction
             {
                 Amount = -7.00,
                 Place = "Compass Hodler 1",
                 Date = new DateTime(2013, 5, 13, 11, 32, 14)
             },
             new Transaction
             {
                 Amount = -1.90,
                 Place = "Esplanade 2 * G. Riffault",
                 Date = new DateTime(2013, 5, 8, 11, 52, 17)
             },
             new Transaction
             {
                 Amount = -7.00,
                 Place = "Compass Hodler 2",
                 Date = new DateTime(2013, 5, 8, 11, 33, 00)
             },
             new Transaction
             {
                 Amount = -1.80,
                 Place = "SELECTA_BS_STTROPEZ (326290)",
                 Date = new DateTime(2013, 5, 8, 9, 56, 32)
             },
             new Transaction
             {
                 Amount = -3.70,
                 Place = "Le Négoce",
                 Date = new DateTime(2013, 5, 8, 12, 22, 48)
             },
         }
     }
            ));
 }