public async Task <IActionResult> Edit(int id, [Bind("Id,SelectDate,AvgTemp,AvgHum,MouldRisk")] InformationTableIndoor informationTableIndoor) { if (id != informationTableIndoor.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(informationTableIndoor); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!InformationTableIndoorExists(informationTableIndoor.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(informationTableIndoor)); }
public async Task <IActionResult> Create([Bind("Id,SelectDate,AvgTemp,AvgHum,MouldRisk")] InformationTableIndoor informationTableIndoor) { if (ModelState.IsValid) { _context.Add(informationTableIndoor); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(informationTableIndoor)); }
public List <InformationTableIndoor> GetDataIndoor(WeatherContext context) { var IndoorModel = new List <InformationTableIndoor>(); var dates = new List <DateTime>(); foreach (var item in _context.AvgTempAndHumidities.ToList()) { if (item.Plats == "Inne") { dates.Add(item.SelectDate); } else { continue; } } var OrderedDates = dates.OrderByDescending(x => x).ToList(); var firstDate = OrderedDates.Last(); var lastDate = OrderedDates.First(); var openingTimes = (from d in context.DoorOpenings where d.Opened == true select d).ToList(); for (DateTime date = firstDate; date <= lastDate; date = date.AddDays(1)) { var TempHum = (from t in _context.AvgTempAndHumidities where t.SelectDate == date where t.Plats == "Inne" select t).ToList(); var Mould = (from m in _context.MouldRisks where m.SelectDate == date where m.Place == "Inne" select m).ToList(); var TimeOpen = ((from o in openingTimes where o.TimeChecked.DayOfYear == date.DayOfYear select o).ToList()).Count(); double avgTemp = 0; double avgHum = 0; string mouldRisk = ""; int mouldRank = 0; if (TempHum.Count() > 0) { avgTemp = double.Parse((TempHum[0].AverageTemperature).ToString()); avgHum = double.Parse((TempHum[0].AverageHumidity).ToString()); } if (Mould.Count() > 0) { mouldRisk = Mould[0].RiskForMould.ToString(); mouldRank = Mould[0].MouldIndex; } var line = new InformationTableIndoor { SelectDate = new DateTime(date.Year, date.Month, date.Day), AvgHum = Math.Round(avgHum, 2), AvgTemp = Math.Round(avgTemp, 2), MouldRisk = mouldRisk, MouldRank = mouldRank, TotalTimeBalconyDoorOpened = TimeOpen }; IndoorModel.Add(line); } return(IndoorModel); }