Ejemplo n.º 1
0
        public IActionResult Get(int id)
        {
            try
            {
                var poemsString = Manipulations.GetDataByUrl(Settings.Poems);
                var poems       = JsonSerializer.Deserialize <List <Poem> >(poemsString);
                var etalonPoem  = Settings.EtalonPoem;

                var poem     = Manipulations.GetRandomPoem(poems);
                var distance = JaroWinklerDistance.distance(poem, etalonPoem);

                var person = new Person()
                {
                    Poem     = poem,
                    Distance = Math.Round(distance, 2)
                };

                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(Settings.Localhost);
                    var res = client.PostAsJsonAsync($"getinfo/{id}", person).Result;
                }

                return(StatusCode(StatusCodes.Status200OK));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
Ejemplo n.º 2
0
        public IActionResult Post()
        {
            var randomPerson = Manipulations.GetDataByUrl(Settings.RandomUser);
            var quote        = Manipulations.GetDataByUrl(Settings.Quote);

            var person = Manipulations.PersonParseFromJson(randomPerson, quote);

            try
            {
                db.Persons.Add(person);
                db.SaveChanges();

                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(Settings.Localhost);
                    var response = client.GetAsync($"getpoem/{person.Id}").Result;

                    if (response.StatusCode == System.Net.HttpStatusCode.InternalServerError)
                    {
                        return(StatusCode(StatusCodes.Status500InternalServerError));
                    }
                    else
                    {
                        return(StatusCode(StatusCodes.Status201Created));
                    }
                }
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }