// GET: Patient public ActionResult Details(int id) { var patientViewModel = new PatientViewModel { Patient = BVSBusinessServices.Patients.GetByID(id) }; var patientMeasurements = BVSBusinessServices.Measurements.GetByPatientID(id).OrderByDescending(m => m.MeasurementOn); patientViewModel.PatientMeasurements = new List <MeasurementGridViewModel>(); foreach (Measurement measurement in patientMeasurements) { var u = new MeasurementGridViewModel() { ID = measurement.ID, CalculatedVolume = measurement.CalculatedVolume, MeasurementOn = measurement.MeasurementOn, PatientFeedback = measurement.PatientFeedback, PatientRating = (measurement.PatientRating.HasValue ? (measurement.PatientRating.ToString() + " ") : "") + ((measurement.IsPatientRatingThumbsUp.HasValue && measurement.IsPatientRatingThumbsUp.Value) ? "(Thumbs Up)" : "") + ((measurement.IsPatientRatingThumbsDown.HasValue && measurement.IsPatientRatingThumbsDown.Value) ? "(Thumbs Down)" : ""), PatientID = measurement.PatientID, IsVoided = measurement.IsVoided }; patientViewModel.PatientMeasurements.Add(u); } return(View(patientViewModel)); }
public ActionResult MeasurementChart(int id, DateTime?startDate = null, DateTime?endDate = null) { var patientViewModel = new PatientChartViewModel { Patient = BVSBusinessServices.Patients.GetByID(id), StartDate = startDate, EndDate = endDate, PatientMeasurements = new List <MeasurementGridViewModel>() }; var patientMeasurements = BVSBusinessServices.Measurements.GetByPatientID(id); if (startDate.HasValue) { startDate = startDate.Value.Date; patientMeasurements = patientMeasurements.Where(x => x.MeasurementOn >= startDate); } if (endDate.HasValue) { endDate = endDate.Value.Date; var nextDay = endDate.Value.AddDays(1); patientMeasurements = patientMeasurements.Where(x => x.MeasurementOn < nextDay); } patientMeasurements = patientMeasurements.OrderBy(m => m.MeasurementOn); foreach (Measurement measurement in patientMeasurements) { var u = new MeasurementGridViewModel() { ID = measurement.ID, CalculatedVolume = measurement.CalculatedVolume, MeasurementOn = measurement.MeasurementOn, PatientFeedback = measurement.PatientFeedback, PatientRating = measurement.PatientRating.HasValue ? measurement.PatientRating.ToString() : "", PatientID = measurement.PatientID, IsVoided = measurement.IsVoided }; patientViewModel.PatientMeasurements.Add(u); } var width = 800; if (patientViewModel.PatientMeasurements.Count() > 1) { var timeDifff = patientViewModel.PatientMeasurements.Last().MeasurementOn.Subtract(patientViewModel.PatientMeasurements.First().MeasurementOn).TotalMinutes; int timeDiff = (int)timeDifff; var newWidth = timeDiff * 8; if (newWidth > width) { width = newWidth; } } patientViewModel.ChartWidth = width; return(View(patientViewModel)); }