public async Task <ActionResult> Chart(string patientId, string chartLength) { var user = await GetUserAsync(); var viewModel = new UserDayChartViewModel() { ReadingValues = new List <AreaSeriesData>(), ReadingTimes = new List <string>() }; var patient = await _context.ApplicationUsers.FirstOrDefaultAsync(u => u.Id == patientId); var chartData = new List <UserData>(); if (chartLength == "Month") { var thisMonth = DateTime.Now.Month; chartData = await _context.UserData.Where(ud => ud.UserId == patient.Id && ud.DateTime.Month == thisMonth).ToListAsync(); viewModel.ChartTitle = "This Month's Chart"; } else if (chartLength == "Year") { var thisYear = DateTime.Now.Year; chartData = await _context.UserData.Where(ud => ud.UserId == patient.Id && ud.DateTime.Year == thisYear).ToListAsync(); viewModel.ChartTitle = "This Year's Chart"; } else if (chartLength == "Day") { var today = DateTime.Now.Date; chartData = await _context.UserData.Where(ud => ud.UserId == patient.Id && ud.DateTime.Date == today).ToListAsync(); viewModel.ChartTitle = "Today's Chart"; } foreach (var item in chartData) { var areaSeriesData = new AreaSeriesData() { Name = item.Note, Y = item.Reading }; viewModel.ReadingValues.Add(areaSeriesData); viewModel.ReadingTimes.Add(item.DateTime.ToString()); } viewModel.User = user; viewModel.Patient = patient; return(View(viewModel)); }
public async Task <IActionResult> Index() { if (_signInManager.IsSignedIn(User)) { var user = await GetUserAsync(); if (user.IsPatient == true) { var today = DateTime.Now.Date; var TodaysData = await _context.UserData.Where(ud => ud.UserId == user.Id && ud.DateTime.Date == today).ToListAsync(); var viewModel = new UserDayChartViewModel() { ReadingValues = new List <AreaSeriesData>(), ReadingTimes = new List <string>() }; foreach (var item in TodaysData) { var areaSeriesData = new AreaSeriesData() { Name = item.Note, Y = item.Reading }; viewModel.ReadingValues.Add(areaSeriesData); viewModel.ReadingTimes.Add(item.DateTime.ToString()); } viewModel.User = user; viewModel.Patient = user; var jsonOutputOfViewModel = JsonConvert.SerializeObject(viewModel); return(View(viewModel)); } else { return(RedirectToAction("Index", "Data")); } } else { //return RedirectToAction(nameof(Privacy)); return(RedirectToPage("/Account/Login", new { area = "Identity" })); } }