Exemplo n.º 1
0
        public async Task <IActionResult> Create(ReviewViewModel file)
        {
            file.Review.NoodleId = file.NoodleId;
            _context.Reviews.Add(file.Review);

            await _context.SaveChangesAsync();

            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 2
0
        /// <summary>
        /// method to retrieve current noodle data from api, updates server database
        /// </summary>
        /// <returns>view of current noodle list</returns>
        public async Task <IActionResult> ViewAllNoodles()
        {
            using (var client = new HttpClient())
            {
                // add the appropriate properties on top of the client base address.
                client.BaseAddress = new Uri("https://noodliciousapi.azurewebsites.net/");

                //the .Result is important for us to extract the result of the response from the call
                var response = client.GetAsync("/api/noodle").Result;

                if (response.EnsureSuccessStatusCode().IsSuccessStatusCode)
                {
                    var stringResult = await response.Content.ReadAsStringAsync();

                    var obj = JsonConvert.DeserializeObject <List <Noodle> >(stringResult);

                    foreach (var item in obj)
                    {
                        Noodle alreadyExists = await _context.Noodles.FirstOrDefaultAsync(x => x.Name == item.Name);

                        if (alreadyExists == null)
                        {
                            item.Id = null;
                            _context.Noodles.Add(item);
                        }
                        else
                        {
                            if (alreadyExists.Name != item.Name)
                            {
                                item.Id = null;
                                _context.Noodles.Add(item);
                            }
                        }
                    }

                    await _context.SaveChangesAsync();

                    return(View(obj));
                }
            }
            return(View());
        }