public ActionResult Index() { List<ViewModels.EpisodeViewModel> eMList = new List<ViewModels.EpisodeViewModel>(); if (dbModel.pacemakerdataview == null) { return View("Error"); } foreach (var episode in dbModel.pacemakerdataview.Where(m => !(m.episodeName == "" || m.episodeName == "None") ).Select(m => m.episodeName).Distinct()) { var tempObj = new ViewModels.EpisodeViewModel(); tempObj.EpisodeType = episode; eMList.Add(tempObj); } foreach (var item in eMList) { item.TotalTransmissions = dbModel.pacemakerdataview.Select(m => m.ID).Distinct().Count(); item.Transmissions = dbModel.pacemakerdataview.Where(modelItem => modelItem.episodeName == item.EpisodeType) .Select(modelItem => modelItem.ID).Distinct().Count(); item.ProcentTransmission = Helpers.ModelHelpers.calcProcent( dbModel.pacemakerdataview.Where(modelItem => modelItem.episodeName == item.EpisodeType).Select(modelItem => modelItem.ID).Distinct().Count(), item.TotalTransmissions); var d = dbModel.pacemakerdataview.Min(m => m.episodeDate); item.EpisodeDateMin = d.Substring(6, 2) + "/" + d.Substring(4, 2) + "/" + d.Substring(0, 4); var de = dbModel.pacemakerdataview.Max(m => m.episodeDate); item.EpisodeDateMax = de.Substring(6, 2) + "/" + de.Substring(4, 2) + "/" + de.Substring(0, 4); } return View("Index", eMList); }
public JsonResult getNewModel(string episodes, string datesSelected, string patientsChecked) { string[] episodeList = episodes.Split('|'); string[] dateList = datesSelected.Split('|'); string db = dateList[0]; string de = dateList[1]; string[] patientList = patientsChecked.Split('|'); int transmissions; List<ViewModels.EpisodeViewModel> eMList = new List<ViewModels.EpisodeViewModel>(); if (dbModel.pacemakerdataview != null) { transmissions = dbModel.pacemakerdataview.Where(m => (m.transmissionDate.CompareTo(db) >= 0 && m.transmissionDate.CompareTo(de) <= 0) && patientList.Contains(m.firstName + " " + m.lastName)).Select(m => m.ID).Distinct().Count(); var model = dbModel.pacemakerdataview.Where(m => episodeList.Contains(m.episodeName) && (m.transmissionDate.CompareTo(db) >= 0 && m.transmissionDate.CompareTo(de) <= 0) && patientList.Contains(m.firstName + " " + m.lastName)); foreach (var episode in model.Where(m => m.episodeName != "").Select(m => m.episodeName).Distinct()) { var tempObj = new ViewModels.EpisodeViewModel(); tempObj.EpisodeType = episode; eMList.Add(tempObj); } foreach (var item in eMList) { item.TotalTransmissions = transmissions; item.Transmissions = model.Where(modelItem => modelItem.episodeName == item.EpisodeType) .Select(modelItem => modelItem.ID).Distinct().Count(); item.ProcentTransmission = Helpers.ModelHelpers.calcProcent( model.Where(modelItem => modelItem.episodeName == item.EpisodeType).Select(modelItem => modelItem.ID).Distinct().Count(), transmissions); } } return Json(eMList, JsonRequestBehavior.AllowGet); }