/// <summary>
        /// GetLogItems fetches log items according to the request parameters provided
        /// </summary>
        /// <param name="request">The request parameters</param>
        /// <returns></returns>
        public LogFetchResponse GetLogItems(LogFetchRequest request)
        {
            //  Our return result
            LogFetchResponse result = new LogFetchResponse();

            //  Our placeholder result list
            List<system_logging> logitems = new List<system_logging>();

            //  The base query just gets information from the log table
            var query = from items in _context.system_logging
                        select items;

            //  If we have an application, filter on it
            if(!string.IsNullOrEmpty(request.ApplicationName))
            {
                query = query.Where(q => q.log_application == request.ApplicationName);
            }

            //  If we have an aspnet sessionid, filter on it
            if(!string.IsNullOrEmpty(request.SessionId))
            {
                query = query.Where(q => q.aspnet_sessionid == request.SessionId);
            }

            //  If we have a machine name, filter on it
            if(!string.IsNullOrEmpty(request.MachineName))
            {
                query = query.Where(q => q.log_machine_name == request.MachineName);
            }

            //  If we have a start date, filter on it:
            if(request.StartDate.HasValue)
            {
                query = query.Where(q => q.entered_date > request.StartDate);
            }

            //  Filter on the end date:
            query = query.Where(q => q.entered_date < request.EndDate);

            //  Order and get a count of the entire set
            query = query.OrderByDescending(item => item.entered_date);
            var totalcount = query.Count();

            //  Filter on page number & size:
            query = query.Skip(request.Page * request.PageSize).Take(request.PageSize);

            //  Execute the query and set the results:
            logitems = query.ToList();
            var resultcount = query.Count();

            result = new LogFetchResponse()
            {
                TotalCount = totalcount,
                Count = resultcount,
                Data = logitems
            };

            return result;
        }
        /// <summary>
        /// GetLogItems fetches log items according to the request parameters provided
        /// </summary>
        /// <param name="request">The request parameters</param>
        /// <returns></returns>
        public LogFetchResponse GetLogItems(LogFetchRequest request)
        {
            //  Our return result
            LogFetchResponse result = new LogFetchResponse();

            //  Our placeholder result list
            List <system_logging> logitems = new List <system_logging>();

            //  The base query just gets information from the log table
            var query = from items in _context.system_logging
                        select items;

            //  If we have an application, filter on it
            if (!string.IsNullOrEmpty(request.ApplicationName))
            {
                query = query.Where(q => q.log_application == request.ApplicationName);
            }

            //  If we have an aspnet sessionid, filter on it
            if (!string.IsNullOrEmpty(request.SessionId))
            {
                query = query.Where(q => q.aspnet_sessionid == request.SessionId);
            }

            //  If we have a machine name, filter on it
            if (!string.IsNullOrEmpty(request.MachineName))
            {
                query = query.Where(q => q.log_machine_name == request.MachineName);
            }

            //  If we have a start date, filter on it:
            if (request.StartDate.HasValue)
            {
                query = query.Where(q => q.entered_date > request.StartDate);
            }

            //  Filter on the end date:
            query = query.Where(q => q.entered_date < request.EndDate);

            //  Order and get a count of the entire set
            query = query.OrderByDescending(item => item.entered_date);
            var totalcount = query.Count();

            //  Filter on page number & size:
            query = query.Skip(request.Page * request.PageSize).Take(request.PageSize);

            //  Execute the query and set the results:
            logitems = query.ToList();
            var resultcount = query.Count();

            result = new LogFetchResponse()
            {
                TotalCount = totalcount,
                Count      = resultcount,
                Data       = logitems
            };

            return(result);
        }