public async Task <ActionResult> GetWeather(int?id, CaptainsModel captainsModel)
        {
            var        captain    = _context.captains.Where(c => c.CaptainId == id).FirstOrDefault();
            HttpClient httpClient = new HttpClient();
            var        url        =
                string.Format(
                    "https://api.openweathermap.org/data/2.5/forecast?zip={0},us&units=imperial&APPID=7d525b2a241057a21adda993b263df5f", captain.ZipCode);

            HttpResponseMessage response = await httpClient.GetAsync(url);

            if (response.IsSuccessStatusCode)
            {
                string jsonResponse = await response.Content.ReadAsStringAsync();

                JObject parsedJson  = JObject.Parse(jsonResponse);
                var     predictions = parsedJson["list"].ToArray();


                return(View(predictions));
            }
            else
            {
                return(View());
            }
        }
Esempio n. 2
0
        public ActionResult DeleteCaptain(int id, CaptainsModel captainsModel)
        {
            try
            {
                var captainToDelete = _context.captains.Find(id);
                _context.captains.Remove(captainToDelete);
                _context.SaveChanges();

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
Esempio n. 3
0
        public ActionResult CreateCaptain(CaptainsModel captainsModel)
        {
            try
            {
                var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
                captainsModel.IdentityUserId = userId;
                _context.captains.Add(captainsModel);
                _context.SaveChanges();

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
Esempio n. 4
0
        public async Task <ActionResult> GetWeather(int?id, CaptainsModel captainsModel)
        {
            var        captain    = _context.captains.Where(c => c.CaptainId == id).FirstOrDefault();
            HttpClient httpClient = new HttpClient();
            var        url        =
                string.Format(
                    "https://api.openweathermap.org/data/2.5/forecast?zip={0},us&units=imperial&APPID=7d525b2a241057a21adda993b263df5f", captain.ZipCode);

            HttpResponseMessage response = await httpClient.GetAsync(url);

            if (response.IsSuccessStatusCode)
            {
                string jsonResponse = await response.Content.ReadAsStringAsync();

                JObject parsedJson = JObject.Parse(jsonResponse);
                var     weather    = parsedJson["list"].ToArray();

                var mainTemp  = weather[0]["main"]["temp"].ToString();
                var feelsLike = weather[0]["main"]["feels_like"].ToString();
                var maxTemp   = weather[0]["main"]["temp_max"].ToString();
                var pressure  = weather[0]["main"]["pressure"].ToString();
                var seaLevel  = weather[0]["main"]["sea_level"].ToString();
                var windSpeed = weather[0]["wind"]["speed"].ToString();
                //var description = weather[0]["weather"]["description"].ToString();

                WeatherViewModel weatherViewModel = new WeatherViewModel();
                weatherViewModel.mainTemp  = mainTemp;
                weatherViewModel.feelsLike = feelsLike;
                weatherViewModel.maxTemp   = maxTemp;
                weatherViewModel.pressure  = pressure;
                weatherViewModel.seaLevel  = seaLevel;
                weatherViewModel.windSpeed = windSpeed;

                return(View(weatherViewModel));
            }
            else
            {
                return(View());
            }
        }
Esempio n. 5
0
        public async Task <ActionResult> GetTide(int?id, CaptainsModel captainsModel)
        {
            var        captain    = _context.captains.Where(c => c.CaptainId == id).FirstOrDefault();
            HttpClient httpClient = new HttpClient();
            var        url        =
                string.Format(
                    "https://tidesandcurrents.noaa.gov/api/datagetter?date=today&station={0}&product=predictions&datum=msl&units=english&time_zone=gmt&application=web_services&format=json&interval=hilo", captain.TideStationId);

            HttpResponseMessage response = await httpClient.GetAsync(url);

            if (response.IsSuccessStatusCode)
            {
                string jsonResponse = await response.Content.ReadAsStringAsync();

                JObject parsedJson  = JObject.Parse(jsonResponse);
                var     predictions = parsedJson["predictions"].ToArray();

                TidePredictionViewModel tidePredictionViewModel = new TidePredictionViewModel();
                tidePredictionViewModel.Time   = new List <String>();
                tidePredictionViewModel.Height = new List <String>();
                tidePredictionViewModel.Tide   = new List <String>();


                for (int i = 0; i < predictions.Length; i++)
                {
                    var vdata  = predictions[i]["t"].ToString();
                    var height = predictions[i]["v"].ToString();
                    var tide   = predictions[i]["type"].ToString();

                    tidePredictionViewModel.Time.Add(vdata);
                    tidePredictionViewModel.Height.Add(height);
                    tidePredictionViewModel.Tide.Add(tide);
                }
                return(View(tidePredictionViewModel));
            }
            else
            {
                return(View());
            }
        }
Esempio n. 6
0
        public async Task <IActionResult> EditCaptain(int id, CaptainsModel captainsModel)
        {
            if (id != captainsModel.CaptainId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(captainsModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                }
                return(RedirectToAction("Index"));
            }

            // return View(captainsModel);
            return(RedirectToAction("Index"));
        }
Esempio n. 7
0
        // GET: Captain/Create
        public ActionResult CreateCaptain()
        {
            CaptainsModel captainsModel = new CaptainsModel();

            return(View(captainsModel));
        }