public async Task <NumberFinderMessage> AttemptFindingNumberAsync(int number) { numberFinderMessage = new NumberFinderMessage(); if (IsConnected) { var response = await client.GetAsync(number.ToString()); switch (response.StatusCode) { case HttpStatusCode.OK: var result = await response.Content.ReadAsStringAsync(); NumberFinderResultBindingModel = await Task.Run(() => JsonConvert.DeserializeObject <NumberFinderResultBindingModel>(result)); numberFinderMessage.Text = NumberFinderResultBindingModel.Result; numberFinderMessage.ViewType = NumberFinderMessage.ViewTypeEnum.NumberFinderBiggerOrSmaller; NumberFinderLocalStorage.StoreMessagesAsync(new Collection <NumberFinderMessage> { new NumberFinderMessage { Text = number.ToString(), ViewType = NumberFinderMessage.ViewTypeEnum.NumberFinderAttempt }, numberFinderMessage }); break; case HttpStatusCode.Accepted: numberFinderMessage.Text = "Congratulation! You have found the number."; numberFinderMessage.ViewType = NumberFinderMessage.ViewTypeEnum.NumberFinderSuccess; NumberFinderLocalStorage.RemoveAllMessagesAsync(); break; case HttpStatusCode.ResetContent: numberFinderMessage.Text = "Sorry, it is too late: the number has been reset."; numberFinderMessage.ViewType = NumberFinderMessage.ViewTypeEnum.NumberFinderReset; NumberFinderLocalStorage.RemoveAllMessagesAsync(); break; case HttpStatusCode.InternalServerError: numberFinderMessage.Text = "Please try again later!"; numberFinderMessage.ViewType = NumberFinderMessage.ViewTypeEnum.NumberFinderError; break; default: numberFinderMessage.Text = "Please try again later!"; numberFinderMessage.ViewType = NumberFinderMessage.ViewTypeEnum.NumberFinderError; break; } } else { numberFinderMessage.Text = "Please check your connection before trying again!"; numberFinderMessage.ViewType = NumberFinderMessage.ViewTypeEnum.NumberFinderError; } return(numberFinderMessage); }
public async Task SubmitNumber(int number) { NumberFinderMessage numberFinderAttempt = new NumberFinderMessage { Text = number.ToString(), ViewType = NumberFinderMessage.ViewTypeEnum.NumberFinderAttempt }; Messages.Add(numberFinderAttempt); NumberFinderMessage numberFinderResponse = await numberFinderAPI.AttemptFindingNumberAsync(number); Messages.Add(numberFinderResponse); }