public async override Task ExecuteAsync() { Services.Log.Info("Hello from scheduled job!"); if (!BreweryDBHelper.InsureBreweryDBIsInitialized(Services)) { Services.Log.Error("Could not init BreweryDB API"); return; } Services.Log.Info("BreweryDB is initialized"); var context = new BeerDrinkinContext(); foreach (var beerItem in context.BeerItems) { Services.Log.Info("updating beer " + beerItem.Name); var beer = await new BreweryDB.BreweryDBClient().QueryBeerById(beerItem.Id); if (beer == null) { Services.Log.Error(string.Format("Could not get beer {0} with id {1}", beerItem.Name, beerItem.BreweryDBId)); continue; } //this call updates beerItem form BreweryDB beer object var newBeerItem = beer.ToBeerItem(beerItem); } await context.SaveChangesAsync(); Services.Log.Info("UpdateBeerJob is completed!"); }
// GET api/SearchBeer public async Task <List <Brewery> > Get(string keyword) { Services.Log.Info(string.Format("Search brewery call with keyword {0}", keyword)); var rv = new List <Brewery>(); if (!BreweryDBHelper.InsureBreweryDBIsInitialized(Services)) { return(rv); } try { var results = await new BreweryDB.BreweryDBClient().SearchForBeer(keyword); if (results != null && results.Any()) { foreach (var r in results) { var brewery = new Brewery { Id = r.Id, Name = r.Name, Description = r.Description }; rv.Add(brewery); } } } catch (Exception ex) { Services.Log.Error(ex.Message); } return(rv); }
// GET api/SearchBeer public async Task <List <Beer> > Get(string keyword) { tracer.Info(string.Format("Search beer call with keyword {0}", keyword)); var rv = new List <Beer>(); bool needSave = false; if (!BreweryDBHelper.InsureBreweryDbIsInitialized(settings, tracer)) { return(rv); } try { var results = await new BreweryDB.BreweryDBClient().SearchForBeer(keyword); if (results != null && results.Any()) { tracer.Info(string.Format("Found {0} beers", results.Count())); var context = new BeerDrinkinContext(); foreach (var r in results) { //check if we already have beer in db var beer = context.Beers.FirstOrDefault(f => f.BreweryDbId == r.Id); if (beer == null) { tracer.Info(string.Format("Beer {0} wasn't logged yet", r.Name)); needSave = true; try { beer = r.ToBeerItem(); context.Beers.Add(beer); } catch (Exception ex) { tracer.Error(string.Format("Exception creating beer: {0}", ex.Message)); } } rv.Add(beer); } } } catch (Exception ex) { tracer.Error(ex.Message); } finally { if (needSave) { await context.SaveChangesAsync(); } } return(rv); }
void ParseHelper_OnGotFavorites(bool success, List <string> result) { ParseHelper.OnGotFavorites -= ParseHelper_OnGotFavorites; BreweryDBHelper.OnRequestCompleted += GotResults; BreweryDBHelper.GetBeerByIds(result); }
public void Search(string query) { BreweryDBHelper.OnRequestCompleted += GotResults; BreweryDBHelper.Search(query); }