/// <summary> /// Retrieve WO summary results - count of work orders with each status type for each date /// </summary> /// <param name="search">Search string criteria</param> /// <returns>Work Order summary results</returns> public IQueryable <WorkOrderSummary> GetSummary(string search) { var workOrders = repo.GetAllQ(); IQueryable <WorkOrder> query; if (string.IsNullOrEmpty(search)) { query = workOrders; } else { query = IndexViewBase.filterDateTimeOfWork(workOrders, search); } var group_query = from wo in query group wo by new { dateSoW = TimeZoneInfo.ConvertTimeFromUtc(wo.dateTimeofWork, _clientTimeZoneInfo).Date, wo.statusID } into dayGroup select new WorkOrderSummary { date = dayGroup.Key.dateSoW, status = dayGroup.Key.statusID, count = dayGroup.Count() }; return(group_query); }
/// <summary> /// Retrieve WO summary results - count of work orders with each status type for each date /// </summary> /// <param name="search">Search string criteria</param> /// <returns>Work Order summary results</returns> public IQueryable <WorkOrderSummary> GetSummary(string search) { IQueryable <WorkOrder> query; if (!string.IsNullOrEmpty(search)) { query = IndexViewBase.filterDateTimeOfWork(repo.GetAllQ(), search); } else { query = repo.GetAllQ(); } var group_query = from wo in query group wo by new { dateSoW = DbFunctions.TruncateTime(wo.dateTimeofWork), wo.statusID } into dayGroup select new WorkOrderSummary() { date = dayGroup.Key.dateSoW, status = dayGroup.Key.statusID, count = dayGroup.Count() }; return(group_query); }