Exemple #1
0
        public async Task UpdateFueling(Fueling oldFueling, Fueling newFueling)
        {
            var rec = new GasRecord {
                Id      = oldFueling.Id,
                Date    = newFueling.Date,
                Vendor  = newFueling.Vendor.Name,
                State   = newFueling.State,
                Gallons = newFueling.Gallons,
                Price   = newFueling.Price,
                Total   = newFueling.Total
            };

            var fields = new List <string>();

            fields.Add(GasRecord.DATE);
            fields.Add(GasRecord.VENDOR);
            fields.Add(GasRecord.STATE);
            if (newFueling.Gallons != oldFueling.Gallons)
            {
                fields.Add(GasRecord.GALLONS);
            }
            if (newFueling.Price != oldFueling.Price)
            {
                fields.Add(GasRecord.PRICE);
            }
            if (newFueling.Total != oldFueling.Total)
            {
                fields.Add(GasRecord.TOTAL);
            }

            rec = await GasTable.UpdateRecord(rec, fields.ToArray());
        }
Exemple #2
0
        public async Task LoadSummaries()
        {
#if false
            var fuelings = new List <Fueling>();
            await LoadFuelings(GasTable, fuelings);

            var summary = App.Summary;
            foreach (var fueling in fuelings)
            {
                summary.Add(fueling);
            }
#else
            var ApiKey = Settings.ApiKey;
            await BasesTable.ForEach(async (rec) => {
                if (rec.BaseId != DataBase.BaseId)
                {
                    var dataBase = new AirBase(ApiKey, rec.BaseId);
                    await dataBase.Initialize();

                    var gasTable = new GasTable(dataBase);
                    await gasTable.Initialize();

                    await LoadSummaries(gasTable);
                }
            });
            await LoadSummaries(GasTable);
#endif
        }
Exemple #3
0
        public async Task AddFueling(Fueling fueling)
        {
            var rec = new GasRecord {
                Date    = fueling.Date,
                Vendor  = fueling.Vendor.Name,
                State   = fueling.State,
                Gallons = fueling.Gallons,
                Price   = fueling.Price,
                Total   = fueling.Total
            };

            var fields = new List <string>();

            fields.Add(GasRecord.DATE);
            fields.Add(GasRecord.VENDOR);
            fields.Add(GasRecord.STATE);
            if (rec.Gallons > 0)
            {
                fields.Add(GasRecord.GALLONS);
            }
            if (rec.Price > 0)
            {
                fields.Add(GasRecord.PRICE);
            }
            if (rec.Total > 0)
            {
                fields.Add(GasRecord.TOTAL);
            }

            rec = await GasTable.CreateRecord(rec, fields.ToArray());

            fueling.Id = rec.Id;
        }
Exemple #4
0
        public async Task LoadSummaries(GasTable table)
        {
            var fuelings = new List <Fueling>();

            await LoadFuelings(table, fuelings);

            var summary = App.Summary;

            foreach (var fueling in fuelings)
            {
                summary.Add(fueling);
            }
        }
Exemple #5
0
        public async Task Initialize()
        {
            var ApiKey = Settings.ApiKey;
            var BaseId = Settings.BaseId;

            DataBase = new AirBase(ApiKey, BaseId);
            await DataBase.Initialize();

            GasTable = new GasTable(DataBase);
            await GasTable.Initialize();

            BasesTable = new BasesTable(DataBase);
            await BasesTable.Initialize();
        }
Exemple #6
0
 async Task LoadFuelings(GasTable table, IList <Fueling> fuelings, string filter = null)
 {
     await table.ForEach((rec) => {
         var fueling = new Fueling {
             Id      = rec.Id,
             Date    = rec.Date,
             Vendor  = App.GetVendor(rec.Vendor),
             State   = rec.State,
             Gallons = rec.Gallons,
             Price   = rec.Price,
             Total   = rec.Total
         };
         fuelings.Add(fueling);
     },
                         filter, sortField : "Date");
 }
Exemple #7
0
 public async Task DeleteFueling(Fueling fueling)
 {
     await GasTable.DeleteRecord(fueling.Id);
 }