/// <summary> /// Populates Weather Model List inside of ParkViewModel from List produced by DAO method. /// If degree is true, degrees will be displayed in Fahrenheit, Celsius if false. /// </summary> /// <param name="forecast"></param> /// <param name="vm"></param> /// <param name="degree"></param> private static void populateWeather(IList <Weather> forecast, ParkViewModel vm, bool degree) { foreach (Weather weather in forecast) { if (degree) { vm.DayValue = weather.DayValue; vm.Low = weather.Low; vm.High = weather.High; vm.WeatherImg = weather.Forecast.ToLower() + ".png"; weather.WeatherImg = vm.WeatherImg; vm.FiveDayForecast.Add(weather); } else { weather.ConvertTempC(); vm.DayValue = weather.DayValue; vm.Low = weather.Low; vm.High = weather.High; vm.WeatherImg = weather.Forecast.ToLower() + ".png"; weather.WeatherImg = vm.WeatherImg; vm.FiveDayForecast.Add(weather); } } }
//eiditar park public ParkViewModel ToParkViewModel(Park park) { String c = ""; var p = new ParkViewModel { Name = park.Name, Id = park.Id, Description = park.Description, Creation = park.Creation, ImageUrl = park.ImageUrl, Been = park.Been, Extension = park.Extension, Height = park.Height, Temperature = park.Temperature, Flora = park.Flora, Wildlife = park.Wildlife, Communities = park.Communities, ManagerId = park.Manager.Id, }; park.Locations = _dataContext.Areas.Include(l => l.Location).Where(a => a.Park.Id == park.Id)?.ToList(); if (park.Locations != null) { foreach (var a in park.Locations) { c += $"{a.Location.Latitude},{a.Location.Longitude};"; } p.Coordenadas = c.Trim(); } return(p); }
public IActionResult Index() { ParkViewModel vm = new ParkViewModel(); vm.ParkList = _db2.GetParks(); return(View(vm)); }
public IActionResult Weather(string parkCode) { ParkViewModel parkSp = new ParkViewModel(); parkSp.Weather = _weatherDAO.GetWeather(parkCode); return(GetAuthenticatedView("Weather", parkSp)); }
//crear parque public async Task <IActionResult> Create() { var user = await _dataContext.Users .Include(ct => ct.Contents) .FirstOrDefaultAsync(u => u.UserName.ToLower().Equals(User.Identity.Name.ToLower())); if (user == null) { return(NotFound()); } var manager = await _dataContext.Managers .Include(m => m.Parks) .FirstOrDefaultAsync(m => m.User.UserName.ToLower().Equals(User.Identity.Name.ToLower())); if (manager == null) { return(NotFound()); } //instanciamos la clase ParkViewModel que creamos en la carpeta models, para el modelo del parke var model = new ParkViewModel { ManagerId = manager.Id }; return(View(model)); }
public IActionResult Detail(string park) { ParkViewModel newPark = parkDAO.GetPark(park); newPark.Weather = weatherDAO.ParkWeather(park); newPark.ConversionChoice = GetPreferences(); return(View(newPark)); }
public void TempConverterTest() { ParkViewModel testVM = new ParkViewModel(); Assert.AreEqual(0, testVM.ConvertTempC(32)); Assert.AreEqual(100, testVM.ConvertTempC(212)); Assert.AreEqual(-40, testVM.ConvertTempC(-40)); }
public IActionResult Detail(string parkCode) { ParkViewModel vm = new ParkViewModel(); vm.Park = _db.GetPark(parkCode); vm.FiveDayForeCast = _db.GetFiveDayWeather(parkCode); return(GetAuthenticatedView("Detail", vm)); }
public IActionResult Detail(string code) { ParkViewModel parks = new ParkViewModel(); parks.Park = _dao.GetPark(code); parks.Weather = _dao.GetWeatherForecast(code); return(GetAuthenticatedView("Detail", parks)); }
public IActionResult Details(string parkCode) { ParkViewModel parkSp = new ParkViewModel(); //parkSp.ParkCode = parkCode; parkSp.Park = _parkDAO.GetPark(parkCode); parkSp.Weather = _weatherDAO.GetWeather(parkCode); return(GetAuthenticatedView("Details", parkSp)); }
/// <summary> /// populates ParkViewModel from Park model using DAO GetParks method /// </summary> /// <returns></returns> private ParkViewModel CreateViewModel() { ParkViewModel vm = new ParkViewModel(); var listOfParks = _db.GetParks(); foreach (Park park in listOfParks) { populatePark(vm, park); } return(vm); }
/// <summary> /// Populates ParkViewModel park details and weather forecast with one specific park obtained by Park ID. /// Uses two DAO methods. One to obtain specific park details, the other to obtain five day weather forecast of that park. /// </summary> /// <param name="id"></param> /// <returns></returns> private ParkViewModel PopulateParkDetails(string id) { var park = _db.GetParkById(id); var forecast = _db.GetWeatherById(id); ParkViewModel vm = new ParkViewModel(); populatePark(vm, park[0]); SetDegreeSymbol(forecast, vm); return(vm); }
public ActionResult Edit(ParkViewModel model) { try { _masterServiceFacade.SavePark(model.CurrentPark); TempData["Success"] = true; } catch (Exception ex) { TempData["Success"] = false; } return(RedirectToAction("Park", "Master", new { area = "admin" })); }
public IActionResult AddPark(ParkViewModel model, Park newPark) { if (ModelState.IsValid) { _context.Parks.Add(newPark); _context.SaveChanges(); return(RedirectToAction("Parks")); } else { ViewBag.errors = ModelState.Values; return(View("Parks")); } }
/// <summary> /// Passes in a populated ParkViewModel to display all parks on the home page. /// If user is not authenticated, user is redirected to login screen. /// </summary> /// <returns>Home view for page</returns> public IActionResult Index() { IActionResult result = null; if (GetUserManager().IsAuthenticated) { ParkViewModel vm = CreateViewModel(); result = View("Index", vm); } else { result = RedirectToAction("Login", "User"); } return(result); }
/// <summary> /// Sets Temp Symbol to °F or °C based on session data. /// Sets bool IsFarenheit to determine button display within Detail View. /// </summary> /// <param name="forecast"></param> /// <param name="vm"></param> private void SetDegreeSymbol(IList <Weather> forecast, ParkViewModel vm) { var degreeType = GetSessionData <bool>("IsFarenhiet"); if (degreeType) { vm.IsFarenheit = true; populateWeather(forecast, vm, degreeType); } else { vm.IsFarenheit = false; vm.ConvertTempC(); populateWeather(forecast, vm, degreeType); } }
public IActionResult Detail(string id) { IActionResult result = null; if (GetUserManager().IsAuthenticated) { ParkViewModel vm = PopulateParkDetails(id); result = View("Detail", vm); } else { result = RedirectToAction("Login", "User"); } return(result); }
/// <summary> /// Returns a list of all parks in the database /// </summary> /// <returns></returns> public List <ParkViewModel> GetAllParks() { List <ParkViewModel> parks = new List <ParkViewModel>(); try { using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); string sql = "SELECT * FROM park;"; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { ParkViewModel park = new ParkViewModel { ParkName = Convert.ToString(reader["parkName"]), ParkCode = Convert.ToString(reader["parkCode"]), ParkDescription = Convert.ToString(reader["parkDescription"]), State = Convert.ToString(reader["state"]), Acreage = Convert.ToInt32(reader["acreage"]), ElevationInFeet = Convert.ToInt32(reader["elevationInFeet"]), MilesOfTrail = Convert.ToInt32(reader["milesOfTrail"]), NumberOfCampsites = Convert.ToInt32(reader["numberOfCampsites"]), Climate = Convert.ToString(reader["climate"]), YearFounded = Convert.ToInt32(reader["yearFounded"]), AnnualVisitors = Convert.ToInt32(reader["annualVisitorCount"]), InspirationalQuote = Convert.ToString(reader["inspirationalQuote"]), InspirationalQuoteSource = Convert.ToString(reader["inspirationalQuoteSource"]), EntryFee = Convert.ToInt32(reader["entryFee"]), NumberOfAnimalSpecies = Convert.ToInt32(reader["numberOfAnimalSpecies"]) }; park.ImageSource = park.ParkCode + ".jpg"; parks.Add(park); } } } catch (SqlException) { throw; } return(parks); }
public ActionResult Park(ParkViewModel model) { if (ModelState.IsValid) { try { var slot = _parkingSlotRepo.GetAll().Where(s => s.ID == model.Slot).First(); if (!(slot.Status == ParkingSlotStatus.Overloaded || slot.Status == ParkingSlotStatus.Disabled)) { slot.Status = slot.Status == ParkingSlotStatus.Allocated ? ParkingSlotStatus.Overloaded : ParkingSlotStatus.Allocated; _ticketStatusRepo.GetAll() .First(s => s.TicketID == model.ID && s.Type == TicketStatusType.Dispatched).EndDate = DateTime.Now; _ticketStatusRepo.InsertOnCommit(new TicketStatus { CreationDate = DateTime.Now, StartDate = DateTime.Now, SlotId = model.Slot, TicketID = model.ID, Type = TicketStatusType.Parked }); _ticketStatusRepo.CommitChanges(); return(RedirectToAction("DispatchedList")); } } catch { ModelState.AddModelError("", "Can not park in selected slot."); } } else { ModelState.AddModelError("", "Invalid data."); } return(View(CreateParkViewModel(model.ID))); }
/// <summary> /// Get information for a single park /// </summary> /// <param name="parkCode">Primary key of the park in our database</param> /// <returns>One completed park model</returns> public ParkViewModel GetPark(string parkCode) { ParkViewModel park = new ParkViewModel(); try { using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); string sql = "SELECT * FROM park WHERE parkcode = @parkCode;"; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@parkCode", parkCode); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { park.ParkName = Convert.ToString(reader["parkName"]); park.ParkCode = Convert.ToString(reader["parkCode"]); park.ParkDescription = Convert.ToString(reader["parkDescription"]); park.State = Convert.ToString(reader["state"]); park.Acreage = Convert.ToInt32(reader["acreage"]); park.ElevationInFeet = Convert.ToInt32(reader["elevationInFeet"]); park.MilesOfTrail = Convert.ToInt32(reader["milesOfTrail"]); park.NumberOfCampsites = Convert.ToInt32(reader["numberOfCampsites"]); park.Climate = Convert.ToString(reader["climate"]); park.YearFounded = Convert.ToInt32(reader["yearFounded"]); park.AnnualVisitors = Convert.ToInt32(reader["annualVisitorCount"]); park.InspirationalQuote = Convert.ToString(reader["inspirationalQuote"]); park.InspirationalQuoteSource = Convert.ToString(reader["inspirationalQuoteSource"]); park.EntryFee = Convert.ToInt32(reader["entryFee"]); park.NumberOfAnimalSpecies = Convert.ToInt32(reader["numberOfAnimalSpecies"]); park.ImageSource = park.ParkCode + ".jpg"; } } } catch (SqlException) { throw; } return(park); }
public ActionResult Edit(int?id) { ParkViewModel model = null; if (id.HasValue) { model = new ParkViewModel(); model.States = _masterServiceFacade.GetStates(); model.CurrentPark = _masterServiceFacade.GetParkById(id.Value); } else { model = new ParkViewModel(); model.CurrentPark = new Park { IsActive = true }; model.States = _masterServiceFacade.GetStates(); } return(View(model)); }
/// <summary> /// fully populates ParkViewModel from Park model /// </summary> /// <param name="vm"></param> /// <param name="park"></param> private static void populatePark(ParkViewModel vm, Park park) { vm.Code = park.Code; vm.ParkName = park.ParkName; vm.State = park.State; vm.acreage = park.acreage; vm.elevationFt = park.elevationFt; vm.MilesOfTrail = park.MilesOfTrail; vm.NumOfCampsites = park.NumOfCampsites; vm.Climate = park.Climate; vm.YearFounded = park.YearFounded; vm.AnnualVisitors = park.AnnualVisitors; vm.InspirationQuote = park.InspirationQuote; vm.InspirationSource = park.InspirationSource; vm.ParkDescription = park.ParkDescription; vm.EntryFee = park.EntryFee; vm.NumOfAnimals = park.NumOfAnimals; vm.ParkImg = park.Code.ToLower() + ".jpg"; vm.Parks.Add(park); park.ParkImg = vm.ParkImg; }
//sobre cargamos el metodo create para guardar pero le agregamos el modelo ParkViewModel public async Task <IActionResult> Create(ParkViewModel model) { if (ModelState.IsValid) { var path = string.Empty; if (model.ImageFile != null) { //invocamos el metodo UploadImageAsync de IImageHelper path = await _imageHelper.UploadImageAsync(model.ImageFile); } //creamos una instancia del objeto content y en el metodo ToContect nos devuelve el objeto Content //true porque es un nuevo contenido var park = await _converterHelper.ToParkAsync(model, path, true); _dataContext.Parks.Add(park); await _dataContext.SaveChangesAsync(); return(RedirectToAction($"Index")); } return(View(model)); }
//convierte un objeto de la clase ContentViewModel en la clase Content public async Task <Park> ToParkAsync(ParkViewModel model, string path, bool isNew) { var park = new Park { Name = model.Name, Id = isNew ? 0 : model.Id, Description = model.Description, Creation = model.Creation, ImageUrl = path, Been = model.Been, Extension = model.Extension, Height = model.Height, Temperature = model.Temperature, Flora = model.Flora, Wildlife = model.Wildlife, Communities = model.Communities, Like = 0, DisLike = 0, Manager = await _dataContext.Managers.FindAsync(model.ManagerId) //Location = await _dataContext.Locations.FindAsync(model.LocationId) }; return(park); }
//convierte un objeto de la clase ContentViewModel en la clase Content public async Task <Park> ToParkAsync(ParkViewModel model, string path, bool isNew) { var park = new Park { Name = model.Name, Id = isNew ? 0 : model.Id, Description = model.Description, Creation = model.Creation, ImageUrl = path, Been = model.Been, Extension = model.Extension, Height = model.Height, Temperature = model.Temperature, Flora = model.Flora, Wildlife = model.Wildlife, Communities = model.Communities, Like = 0, DisLike = 0, Manager = await _dataContext.Managers.FindAsync(model.ManagerId) //Location = await _dataContext.Locations.FindAsync(model.LocationId) }; /* if (model.latitud != null && model.longuitud != null) * { * park.Locations = new List<Area> { new Area { * Id = isNew ? 0 :(int) model.Locations?.FirstOrDefault().Id , * Location = new Location{ * Id = isNew ? 0:(int) model.Locations?.FirstOrDefault().Location.Id, * Latitude = double.Parse(model.latitud,CultureInfo.InvariantCulture), * Longitude = double.Parse(model.longuitud,CultureInfo.InvariantCulture) * }, * Park = park } * }; * } */ if (!isNew) { model.Locations = _dataContext.Areas.Include(l => l.Location).Where(a => a.Park.Id == model.Id).ToList(); } if (model.Coordenadas != null) { var latlong = new List <String>(); var areas = new List <Area>(); latlong = model.Coordenadas.Split(';').ToList(); latlong.Remove(""); int j = 1; foreach (var i in latlong) { var a = isNew || j > model.Locations.Count() ? new Area { Id = 0, Park = park } : model.Locations?.ElementAt(j - 1); var cc = new List <String>(); cc = i.Split(',').ToList(); if (isNew || j > model.Locations.Count()) { a.Location = new Location { Id = 0, Latitude = double.Parse(cc.ElementAt(0)), Longitude = double.Parse(cc.ElementAt(1)) }; } else { a.Location = model.Locations.ElementAt(j - 1)?.Location; a.Location.Latitude = double.Parse(cc.ElementAt(0)); a.Location.Longitude = double.Parse(cc.ElementAt(1)); } areas.Add(a); j++; } park.Locations = areas; } return(park); }