public PartialViewResult _OpenDataStat(int TVItemID) { ViewBag.OpenDataStat = null; OpenDataStat openDataStat = _OpenDataService.GetOpenDataStatDB(TVItemID); ViewBag.OpenDataStat = openDataStat; return(PartialView()); }
public OpenDataStat GetOpenDataStatDB(int TVItemID) { string routineTxt = ((int)SampleTypeEnum.Routine).ToString() + ","; TVItemModel tvItemModel = _TVItemService.GetTVItemModelWithTVItemIDDB(TVItemID); if (!string.IsNullOrWhiteSpace(tvItemModel.Error)) { return new OpenDataStat() { Error = tvItemModel.Error } } ; using (CSSPDBEntities dd = new CSSPDBEntities()) { OpenDataStat openDataStat = (from c in dd.TVItems let samples = (from d in dd.TVItems from s in dd.MWQMSamples where d.TVItemID == s.MWQMSiteTVItemID && d.TVPath.StartsWith(c.TVPath) && d.TVType == (int)TVTypeEnum.MWQMSite && s.SampleTypesText.Contains(routineTxt) select new { s.UseForOpenData }) let totalSampleCount = (from s in samples select s).Count() let useForOpenDataSampleCount = (from s in samples where s.UseForOpenData == true select s).Count() where c.TVItemID == TVItemID select new OpenDataStat { Error = "", TotalNumberOfSamples = totalSampleCount, NumberOfUseForOpenDataSamples = useForOpenDataSampleCount, }).FirstOrDefault <OpenDataStat>(); return(openDataStat); } }