Beispiel #1
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();

            labelTitulo.Text = "Mês/Ano: " + MesAno;

            //se não tiver selecionado o arquivo
            //verifica se tem dados no banco
            //se tiver carrega os dados na tela
            if (SelecionouOFX == false)
            {
                CarregarDadosBanco();
            }
            else
            {
                //se tiver selecionado o arquivo
                //apaga os dados no banco para o mês selecionado
                //persiste os dados no banco
                //carrega os dados do arquivo na tela

                try
                {
                    Stream stream = new MemoryStream(filedata.DataArray);
                    documentOFX = new OfxDocument(stream);

                    await App.ExtratoBancoDB.DeleteAsyncFilter(Filtro);

                    foreach (Transaction trans in documentOFX.Transactions)
                    {
                        // Novo objeto para inserção
                        var extratoBanco = new ExtratoBanco();

                        // Informa os dados para o objeto
                        extratoBanco.MesAno           = MesAno;
                        extratoBanco.DataTransacao    = DateTime.Parse(trans.DatePosted.Substring(0, 4) + '-' + trans.DatePosted.Substring(4, 2) + '-' + trans.DatePosted.Substring(6, 2));
                        extratoBanco.Valor            = Decimal.Parse(trans.TransAmount, style, provider);
                        extratoBanco.IdTransacao      = trans.FITID;
                        extratoBanco.CheckNum         = trans.CheckNum;
                        extratoBanco.NumeroReferencia = trans.FITID;
                        extratoBanco.Historico        = trans.Memo;
                        extratoBanco.Conciliado       = trans.TransAmount.Substring(0, 1);

                        // Persiste o objeto no banco de dados
                        await App.ExtratoBancoDB.SaveItemAsync(extratoBanco);
                    }

                    // Carrega os dados do banco na tela
                    CarregarDadosBanco();
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                }
            }
        }
Beispiel #2
0
 public Task <int> SaveItemAsync(ExtratoBanco item)
 {
     if (item.ID != 0)
     {
         return(database.UpdateAsync(item));
     }
     else
     {
         return(database.InsertAsync(item));
     }
 }
Beispiel #3
0
 public Task <int> DeleteItemAsync(ExtratoBanco item)
 {
     return(database.DeleteAsync(item));
 }