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