// GET: PulseRate public ActionResult Index() { var model = new AnalyseViewModel(); model.SelectDate = DateTime.Now; return(View(model)); }
public IEnumerable <BloodPressureViewModel> MonthAnalyse(AnalyseViewModel data) { using (var ctx = new DensoEntities()) { var dateStart = data.SelectDate.Date; var dateMonth = data.SelectDate.Date.AddMonths(1); var monthRange = TimeHelper.DateRange(dateStart, dateMonth); var model = ctx.Analyses.Where(x => DbFunctions.TruncateTime(x.CreateDate) >= dateStart && DbFunctions.TruncateTime(x.CreateDate) <= dateMonth) .Select(s => new BloodPressureViewModel { Date = s.CreateDate.Value, Systolic = s.Systolic, Diastolic = s.Diastolic }).OrderBy(c => c.Date).ToList(); var list = monthRange.GroupJoin(model, r => r.Date, m => m.Date.Date, (r, m) => new { r, m }) .SelectMany(x => x.m.DefaultIfEmpty(), (x, m) => new BloodPressureViewModel { Date = m == null ? x.r : m.Date, Systolic = m == null ? 0 : m.Systolic, Diastolic = m == null ? 0 : m.Diastolic }).OrderBy(o => o.Date).ToList(); return(list); } }
public ActionResult MonthAnalyse(AnalyseViewModel data) { using (var ctx = new DensoEntities()) { var dateStart = data.SelectDate.Date.AddMonths(-1); var dateEnd = data.SelectDate.Date; var model = ctx.Analyses.Where(x => DbFunctions.TruncateTime(x.CreateDate) >= dateStart && DbFunctions.TruncateTime(x.CreateDate) <= dateEnd) .Select(s => new PulseRateViewModel { Date = s.CreateDate.Value, PulseRate = s.PulseRate }).ToList(); return(PartialView("Analyse", model)); } }
public ActionResult Generate(AnalyseViewModel data) { switch (data.Chart) { case ChartType.DayAnalyse: return(RedirectToAction("DayAnalyse", data)); case ChartType.WeekAnalyse: return(RedirectToAction("WeekAnalyse", data)); case ChartType.MonthAnalyse: return(RedirectToAction("MonthAnalyse", data)); default: return(Content("not founded")); } }
public ActionResult Generate(AnalyseViewModel data) { switch (data.Chart) { case ChartType.DayAnalyse: return(PartialView("PulseRate", DayAnalyse(data))); case ChartType.WeekAnalyse: return(PartialView("PulseRate", WeekAnalyse(data))); case ChartType.MonthAnalyse: return(PartialView("PulseRate", MonthAnalyse(data))); default: return(Content("Chart type Not founded")); } }
public ActionResult DayAnalyse(AnalyseViewModel data) { using (var ctx = new DensoEntities()) { var dateStartw = data.SelectDate.Date.AddDays(-7); var dateStartm = data.SelectDate.Date.AddMonths(-1); var dateEnd = data.SelectDate.Date; Debug.WriteLine($"start week { dateStartw }, month { dateStartm } <= end { dateEnd }"); var model = ctx.Analyses.Where(x => DbFunctions.TruncateTime(x.CreateDate) == data.SelectDate.Date) .Select(s => new PulseRateViewModel { Date = s.CreateDate.Value, PulseRate = s.PulseRate }).ToList(); return(PartialView("Analyse", model)); } }
public IEnumerable <PulseRateViewModel> DayAnalyse(AnalyseViewModel data) { using (var ctx = new DensoEntities()) { var dateStart = data.SelectDate.Date; var timeRange = TimeHelper.TimeRange(dateStart); var model = ctx.Analyses.Where(x => DbFunctions.TruncateTime(x.CreateDate) == dateStart) .Select(s => new PulseRateViewModel { Date = s.CreateDate.Value, PulseRate = s.PulseRate }).OrderBy(c => c.Date).ToList(); var list = timeRange.GroupJoin(model, r => r.Hour, m => m.Date.Hour, (r, m) => new { r, m }) .SelectMany(x => x.m.DefaultIfEmpty(), (x, m) => new PulseRateViewModel { Date = m == null ? x.r : m.Date, PulseRate = m == null ? 0.0 : m.PulseRate, }).OrderBy(o => o.Date).ToList(); return(list); } }