public GetBeerResponse GetBeer(GetBeerRequest getBeerRequest) { var response = new GetBeerResponse() { BaseResponse = CreateBaseResponse(getBeerRequest.BaseRequest) }; response.BaseResponse = VerifyBaseRequest(getBeerRequest.BaseRequest, response.BaseResponse); if (response.BaseResponse.ResponseStatus == ResponseStatus.Failure) { response.Beer = null; return(response); } var beer = _beerRepository.GetBeer(getBeerRequest.Id); response.Beer = beer; return(response); }
private async void ReadCallback(IAsyncResult asynchronousResult) { try { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { var beerRequest = new GetBeerRequest(); JObject o = JObject.Parse(reader.ReadLine()); JArray content = o.GetValue("content") as JArray; foreach (var id in content) { beerRequest.BeerIDs.Add(id.ToString()); } string beersJson = await Post(ResourceLoader.GetString("BeerEndpoint"), beerRequest.ToString(), App.User.Cookie); await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { o = JObject.Parse(beersJson); var obj = o.GetValue("content") as JObject; content = obj.GetValue("BrewLib.BeerModel") as JArray; foreach (var beerToken in content) { var beer = new Beer(); beer.Guid = beerToken["guid"].ToString(); beer.Description = beerToken["description"].ToString(); beer.StyleID = beerToken["style_id"].ToString(); beer.Available = beerToken["avail"].ToString() != "0"; beer.Name = beerToken["name"].ToString(); double abv = 0; double.TryParse(beerToken["abv"].ToString(), out abv); beer.AlcoholByVolume = abv; beer.BreweryName = beerToken["brewery_name"].ToString(); beer.InFridge = beerToken["in_fridge"].ToString() != "0"; beer.IsBeerOfTheMonth = beerToken["is_bom"].ToString() != "0"; DateTime time; if (DateTime.TryParse(beerToken["added_on"].ToString(), out time)) { beer.AddedOn = time; } if (DateTime.TryParse(beerToken["updated_on"].ToString(), out time)) { beer.UpdatedOn = time; } if (DateTime.TryParse(beerToken["last_had_on"].ToString(), out time)) { beer.LastHadOn = time; } if (DateTime.TryParse(beerToken["had_on"].ToString(), out time)) { beer.HadOn = time; } beer.Image = new BitmapImage(new Uri(string.Format(ResourceLoader.GetString("ImageEndpoint"), beerToken["large_image"].ToString()))); if (!BeerList.Contains(beer)) { BeerList.Add(beer); } } IsLoading = false; }); } } catch (Exception e) { Debug.WriteLine(e); IsLoading = false; } }
public BeerResponse GetBeer(string id) { var client = new BeerWithSoapServiceClient(); var getBeerRequest = new GetBeerRequest { BaseRequest = new BaseRequest { APIKey = "ILoveBeer", ClientCode = "TonyaZen", RequestId = Guid.NewGuid().ToString(), Version = "V1" }, Id = Convert.ToInt32(id) }; try { var response = client.GetBeer(getBeerRequest); if (response.BaseResponse.ResponseStatus == ResponseStatus.Success) { client.Close(); return(new BeerResponse { Success = true, Beer = _mapper.MapBeer(response.Beer) }); } Logger.ErrorFormat("Get Beer failed for " + $"client: {getBeerRequest.BaseRequest.ClientCode}. " + $"RequestID: {getBeerRequest.BaseRequest.RequestId}. " + $"BeerId: {getBeerRequest.Id}. " + $"Error from Service: {response.BaseResponse.TechnicalErrorMessage}."); return(new BeerResponse { Success = false, Message = response.BaseResponse.DisplayErrorMessage, Beer = new Beer() }); } catch (Exception ex) { Logger.ErrorFormat("Get Beer failed for " + $"client: {getBeerRequest.BaseRequest.ClientCode}. " + $"RequestID: {getBeerRequest.BaseRequest.RequestId}. " + $"BeerId: {getBeerRequest.Id}. " + $"Exception: {ex}."); client.Abort(); return(new BeerResponse { Success = false, Message = "We're sorry, there was a problem getting your beer. :(", Beer = new Beer() }); } }