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));
        }
Esempio n. 2
0
        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" }));
            }
        }