コード例 #1
0
ファイル: JokeProcessor.cs プロジェクト: moritzeck/Laughy
        public async Task <JokeDomainModel> GetJokeBySearch(string searchText)
        {
            string urlToBeEdited = "https://jokeapi-v2.p.rapidapi.com/joke/Any?type=single%2Ctwopart&format=json&contains=ToBeEdited";

            string url = urlToBeEdited.Replace("ToBeEdited", searchText);

            var request = new HttpRequestMessage
            {
                Method     = HttpMethod.Get,
                RequestUri = new Uri(url),
                Headers    =
                {
                    { "x-rapidapi-key",  "f532242162mshfcf7cd07f406465p146a68jsn307dbd577c73" },
                    { "x-rapidapi-host", "jokeapi-v2.p.rapidapi.com"                          },
                },
            };

            using (var response = ApiHelper.ApiClient.SendAsync(request).Result)
            {
                if (response.IsSuccessStatusCode)
                {
                    var jokeAsString = await response.Content.ReadAsStringAsync();

                    JokeApiModel = JsonConvert.DeserializeObject <JokeApiModel>(jokeAsString);

                    JokeApiModel.DbId = Guid.NewGuid();

                    var jokeDomainModel = _jokeAdapterMapper.MapToDomainModel(JokeApiModel);

                    return(jokeDomainModel);
                }

                else
                {
                    throw new Exception(response.ReasonPhrase);
                }
            }
        }
コード例 #2
0
        public JokeDomainModel MapToDomainModel(JokeApiModel jokeApiModel)
        {
            var domainModel = new JokeDomainModel()
            {
                DbId        = jokeApiModel.DbId,
                Category    = jokeApiModel.Category,
                Favourite   = jokeApiModel.Favourite,
                Selfcreated = jokeApiModel.Selfcreated
            };

            if (String.IsNullOrWhiteSpace(jokeApiModel.Setup))
            {
                domainModel.FirstPart = jokeApiModel.Joke;
            }

            else
            {
                domainModel.FirstPart  = jokeApiModel.Setup;
                domainModel.SecondPart = jokeApiModel.Delivery;
            }

            return(domainModel);
        }
コード例 #3
0
        //Methods
        public JokeApiModel MapToApiModel(JokeDomainModel jokeDomainModel)
        {
            var apiModel = new JokeApiModel()
            {
                DbId        = jokeDomainModel.DbId,
                Category    = jokeDomainModel.Category,
                Favourite   = jokeDomainModel.Favourite,
                Selfcreated = jokeDomainModel.Selfcreated
            };

            if (!String.IsNullOrWhiteSpace(jokeDomainModel.SecondPart))
            {
                apiModel.Joke = jokeDomainModel.FirstPart;
            }

            else
            {
                apiModel.Setup    = jokeDomainModel.FirstPart;
                apiModel.Delivery = jokeDomainModel.SecondPart;
            }

            return(apiModel);
        }