Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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));
            }
        }
Exemplo n.º 3
0
        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));
            }
        }
Exemplo n.º 4
0
        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);
            }
        }