public async Task CheckInBeer(Beer beer, int score) { try { Acr.UserDialogs.UserDialogs.Instance.ShowLoading("Saving checkin"); var location = await CrossGeolocator.Current.GetPositionAsync(); var checkIn = new CheckIn { Beer = beer, User = await userStore.GetCurrentUser(), Longitude = location.Longitude, Latitude = location.Latitude }; var rating = new Rating { User = await userStore.GetCurrentUser(), Score = score, CheckIn = checkIn }; checkIn.Rating = rating; await checkInStore.InsertAsync(checkIn); await ratingStore.InsertAsync(rating); Acr.UserDialogs.UserDialogs.Instance.HideLoading(); } catch (Exception ex) { log.Report(ex); } }
public void AddBeerToIndex(Beer beer) { var activity = new NSUserActivity("com.micjames.beerdrinkin.beerdetails"); if (!string.IsNullOrEmpty(beer.Description)) { var info = new NSMutableDictionary(); info.Add(new NSString("name"), new NSString(beer.Name)); info.Add(new NSString("description"), new NSString(beer.Description)); if (beer?.Image?.MediumUrl != null) { info.Add(new NSString("imageUrl"), new NSString(beer.Image.LargeUrl)); } var attributes = new CSSearchableItemAttributeSet(); attributes.DisplayName = beer.Name; attributes.ContentDescription = beer.Description; var keywords = new NSString[] { new NSString(beer.Name), new NSString("beerName") }; activity.Keywords = new NSSet<NSString>(keywords); activity.ContentAttributeSet = attributes; activity.Title = beer.Name; activity.UserInfo = info; activity.EligibleForSearch = true; activity.EligibleForPublicIndexing = true; activity.BecomeCurrent(); } }
public BeerDescriptionViewModel(Beer beer) { BreweryStore = ServiceLocator.Instance.Resolve<IBreweryStore>(); RatingStore = ServiceLocator.Instance.Resolve<IRatingStore>(); SearchProvider = ServiceLocator.Instance.Resolve<IDeviceSearchProvider>(); Beer = beer; SearchProvider.AddBeerToIndex(beer); }
public IActionResult Edit(Beer beerItem) { if (ModelState.IsValid) { _context.Update(beerItem); _context.SaveChanges(); return RedirectToAction("Index"); } return View(beerItem); }
public void SetBeer(Beer beer) { this.beer = beer; AddSourceTypeCell(); if(UIImagePickerController.IsSourceTypeAvailable(UIImagePickerControllerSourceType.Camera) == true) { AddBarcodeCell(); AddPhotosCell(); } AddRatingCell(); AddNotesCell(); }
public void SetBeer(Beer beer) { this.beer = beer; statsView.Name = beer.Name; statsView.Country = beer.OriginCountry; statsView.ABV = beer.Abv.ToString(); if (beer.HasImages) { image.SetImage(new NSUrl(beer.Image.LargeUrl)); } }
public override void PrepareForSegue(UIStoryboardSegue segue, NSObject sender) { if (segue.Identifier != segueIdentifier || SelectedBeer == null) return; var beerDescriptoinViewController = segue.DestinationViewController as BeerDescriptionTableView; if (beerDescriptoinViewController == null) return; beerDescriptoinViewController.EnableCheckIn = true; beerDescriptoinViewController.SetBeer(SelectedBeer); SelectedBeer = null; }
//Beer Converter Beer ToBeerDrinkin(BreweryDB.Interfaces.IBeer dbBeer) { try { var beer = new Beer() { Id = dbBeer.Id, Name = dbBeer.Name, BreweryDbId = dbBeer.Id, Description = dbBeer.Description, Abv = dbBeer.Abv }; if (dbBeer.Labels != null) { var image = new Image { SmallUrl = dbBeer?.Labels?.Icon, MediumUrl = dbBeer?.Labels?.Medium, LargeUrl = dbBeer?.Labels?.Large }; beer.Image = image; } if (dbBeer.Breweries.Count != 0) { var dbBrewery = dbBeer.Breweries.FirstOrDefault(); beer.Brewery = ToBeerDrinkin(dbBrewery); } return beer; } catch (Exception ex) { telemetryClient.TrackException(ex); return null; } }
public void SetBeer (Beer beer) { viewModel = new BeerDescriptionViewModel(beer); viewModel.SearchProvider.AddBeerToIndex(beer); }
void BeerSelected(Beer beer) { SelectedBeer = beer; PerformSegue(segueIdentifier, this); }
public async Task<List<Beer>> Get(string searchTerm) { try { //Setup tracking how long the HTTP request takes. telemtryClient.Context.Operation.Id = Guid.NewGuid().ToString(); telemtryClient.Context.Operation.Name = "Search"; var stopwatch = System.Diagnostics.Stopwatch.StartNew(); //Log the fact we've search some beers telemtryClient.TrackEvent("SearchedBeers"); indexClient = serviceClient.Indexes.GetClient("beers"); //Setup suggestionParmeters for AzureSearch var suggestParameters = new SuggestParameters(); suggestParameters.UseFuzzyMatching = true; suggestParameters.Top = 25; suggestParameters.HighlightPreTag = "["; suggestParameters.HighlightPostTag = "]"; suggestParameters.MinimumCoverage = 100; var suggestions = await indexClient.Documents.SuggestAsync<AzureSearchBeerResponse>(searchTerm, "nameSuggester", suggestParameters); //Convert to Beer Drinkin Beer Type & save to our DB. var results = new List<Beer>(); foreach (var result in suggestions.Results) { var indexedBeer = result.Document; var beer = new Beer { Id = indexedBeer.Id, Abv = indexedBeer.Abv, Description = indexedBeer.Description, BreweryDbId = indexedBeer.Id, Name = indexedBeer.Name }; beer.Image = new Image(); //Fetch Brewery information if(indexedBeer.Images.Count() > 0) { beer.HasImages = true; beer.Image.SmallUrl = indexedBeer?.Images[0]; beer.Image.MediumUrl = indexedBeer?.Images[1]; beer.Image.LargeUrl = indexedBeer?.Images[2]; } results.Add(beer); } stopwatch.Stop(); telemtryClient.TrackRequest("BeerSearch", DateTime.Now, stopwatch.Elapsed, "200", true); return results; } catch(Exception ex) { telemtryClient.TrackException(ex); return new List<DataObjects.Beer>(); } }
public override bool ContinueUserActivity (UIApplication application, NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler) { switch (userActivity.ActivityType) { case "com.micjames.beerdrinkin.mybeers": break; case "com.micjames.beerdrinkin.wishlist": break; case "com.micjames.beerdrinkin.search": break; case "com.micjames.beerdrinkin.profile": break; case "com.micjames.beerdrinkin.beerdetails": var info = userActivity.UserInfo; if (this.Window.RootViewController.ChildViewControllers[0] is UITabBarController) { var tabController = this.Window.RootViewController.ChildViewControllers[0] as UITabBarController; tabController.SelectedIndex = 2; var beerItem = new Beer(); var id = new NSObject(); info.TryGetValue(new NSString("id"), out id); var name = new NSObject(); info.TryGetValue(new NSString("name"), out name); var description = new NSObject(); info.TryGetValue(new NSString("description"), out description); var imageUrl = new NSObject(); info.TryGetValue(new NSString("imageUrl"), out imageUrl); var breweryDbId = new NSObject(); info.TryGetValue(new NSString("breweryDbId"), out breweryDbId); beerItem.Name = name.ToString(); beerItem.Description = description.ToString(); beerItem.Image.MediumUrl = imageUrl.ToString(); beerItem.BreweryDbId = breweryDbId.ToString(); if (!string.IsNullOrEmpty(beerItem.BreweryDbId)) { var storyboard = UIStoryboard.FromName("Main", null); var vc = storyboard.InstantiateViewController ("BEER_DESCRIPTION") as BeerDescriptionTableView; vc.SetBeer (beerItem); var navigationControler = tabController.SelectedViewController as UINavigationController; navigationControler.PushViewController (vc, true); } } break; } return true; }