public DataResultLogMessageList SearchLogMessages(string LogginConfigurationSectionName, DataFilterLogger dataFilter) { // Pagination Sample over Azute Table Storage Entities // Remember that method "Count" is not supported. Thus, I can't know the total number of pages //using Microsoft.WindowsAzure.Storage.Table.Queryable; //var table = this.TableClient().GetTableReference(dataFilter.LogTraceSourceSelected); //var query = (from log in table.CreateQuery<AzureTableStorageListenerEntity>() // where log.PartitionKey == dataFilter.CreationDateFrom.ToString("yyyyMMdd") // select log).Take(dataFilter.PageSize) // .AsTableQuery<AzureTableStorageListenerEntity>(); //var result = new List<LogMessageModel>(); //var queryResult = query.ExecuteSegmented(dataFilter.NextContinuationToken); //return new DataResultLogMessageList() //{ // Page = dataFilter.Page, // PageSize = dataFilter.PageSize, // Data = queryResult.Results.Select(p => baseModel.DeserializeFromJson<LogMessageModel>(p.LogMessageJSON)).ToList(), // TotalRows = 1000, //-> just a fake // NextContinuationToken = queryResult.ContinuationToken, // PreviousContinuationToken = dataFilter.NextContinuationToken //}; CloudTable table = this.TableClient().GetTableReference(dataFilter.LogTraceSourceSelected); TableQuery<AzureTableStorageListenerEntity> rangeQuery = new TableQuery<AzureTableStorageListenerEntity>().Where( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, dataFilter.CreationDate.ToString("yyyyMMdd")) ); List<AzureTableStorageListenerEntity> resultsList = table.ExecuteQuery<AzureTableStorageListenerEntity>(rangeQuery).ToList(); int rowStartIndex = dataFilter.Page.Value * dataFilter.PageSize; int rowEndIndex = (int)(dataFilter.Page.Value * dataFilter.PageSize) + dataFilter.PageSize; return new DataResultLogMessageList() { Page = dataFilter.Page, PageSize = dataFilter.PageSize, Data = resultsList.Skip(rowStartIndex).Take(dataFilter.PageSize).Select(p => baseModel.DeserializeFromJson<LogMessageModel>(p.LogMessageJSON)).ToList(), TotalRows = resultsList.Count, }; }
public DataResultLogMessageList SearchLogMessages(string LogginConfigurationSectionName, DataFilterLogger dataFilter) { using (ILoggingProxy provider = DependencyFactory.Resolve<ILoggingProxy>()) { DataResultLogMessageList resultSearch = provider.LoggingExceptionGetAll((DataFilterLogger)dataFilter); return new DataResultLogMessageList() { Data = resultSearch.Data, Page = resultSearch.Page, PageSize = resultSearch.PageSize, SortAscending = resultSearch.SortAscending, SortBy = resultSearch.SortBy, TotalPages = resultSearch.TotalPages, TotalRows = resultSearch.TotalRows }; } }
public DataResultLogMessageList LoggingExceptionGetAll(DataFilterLogger filter) { Database db = DatabaseFactory.CreateDatabase(Info.GetDatabaseName(ApplicationConfiguration.DatabaseNames.Logging)); DbCommand cmd = db.GetStoredProcCommand("LoggingExceptionGetAll"); db.AddInParameter(cmd, "@filter", DbType.Xml, baseModel.Serialize(filter).DocumentElement.OuterXml); XmlDocument xDoc = new XmlDocument(); Func<IDataReader, LogMessageModel> customConstructor = (rdr) => { xDoc.LoadXml((string)rdr["FormattedMessage"]); return new LogMessageModel(xDoc.DocumentElement.CreateNavigator()); }; DataResultLogMessageList pagedList = (DataResultLogMessageList)this.ExecuteReaderForPagedResult<LogMessageModel>( new DataResultLogMessageList() { PageSize = filter.PageSize, Page = filter.Page }, db, null, cmd, customConstructor); return pagedList; }
public DataResultLogMessageList SearchLogMessages(string LogginConfigurationSectionName, DataFilterLogger dataFilter) { List<LogMessageModel> logMessageModelList = new List<LogMessageModel>(); using (MemoryStream ms = new MemoryStream(this.GetAllDataMemoryStream(dataFilter.LogTraceListenerSelected, LogginConfigurationSectionName))) { logMessageModelList = this.GetAllDataDeserialized(ms); logMessageModelList = logMessageModelList.Where(r => r.Category == dataFilter.LogTraceSourceSelected).ToList(); } int rowStartIndex = dataFilter.Page.Value * dataFilter.PageSize; int rowEndIndex = (int)(dataFilter.Page.Value * dataFilter.PageSize) + dataFilter.PageSize; return new DataResultLogMessageList() { Page = dataFilter.Page, PageSize = dataFilter.PageSize, Data = logMessageModelList.Skip(rowStartIndex).Take(rowEndIndex).ToList(), TotalRows = logMessageModelList.Count, }; }
public DataResultLogMessageList LoggingExceptionGetAll(DataFilterLogger filter) { return this._bl.LoggingExceptionGetAll(filter); }
public DataResultLogMessageList SearchLogMessages(string LogginConfigurationSectionName, DataFilterLogger dataFilter) { return DependencyFactory.Resolve<ILoggingDAL>().LoggingExceptionGetAll(dataFilter); }