/// <summary> /// Generates a new TopTotalRevenueByDealerReport. /// </summary> public void Generate(IDocumentAdapter document, ICarsFactoryDbContext dbContext) { var totalRevenueByDealers = (from dealer in dbContext.Dealers let totalRevenue = (decimal?)dealer.Cars.Where( y => y.OrderId != null && y.Order.OrderStatus == OrderStatus.Closed) .Sum(x => x.Price) let town = dealer.Town.Name let orderCount = dealer.Cars.Count( y => y.OrderId != null && y.Order.OrderStatus == OrderStatus.Closed) orderby totalRevenue descending select new { Dealer = dealer.Name, TotalRevenue = totalRevenue, Town = town, TotalOrders = orderCount }) .Take(10) .ToList(); document.AddMetadata() .AddHeader($"Top 10 total revenue by dealer for all time. Generated on {DateTime.Now}") .AddTabularData(totalRevenueByDealers) .Save(); }
public DbInitializer( IDocumentAdapter documentAdapter, string[] collectionIds) { _doc = documentAdapter; _collectionIds = collectionIds; }
public Document(IIdentity identity, DocumentOperation operation, IDocumentAdapter documentAdapter, bool initializeNestedDocuments) : this(identity, operation, documentAdapter) { if (initializeNestedDocuments) { this.internalNestedDocuments = new List <IDocument>(); } }
/// <summary> /// Generates a new TotalRevenueInLastYearByDealerReport. /// </summary> public void Generate(IDocumentAdapter document, ICarsFactoryDbContext dbContext) { var lastYear = DateTime.Now.Year - 1; var totalRevenueForThePastMonth = (from dealer in dbContext.Dealers let totalRevenue = (decimal?)dealer.Cars.Where( car => car.Order != null && car.Order.Date.Year > lastYear && car.Order.OrderStatus == OrderStatus.Closed) .Sum(c => c.Price) let town = dealer.Town.Name let orderCount = dealer.Cars.Count(car => car.Order != null && car.Order.Date.Year > lastYear && car.Order.OrderStatus == OrderStatus.Closed) orderby totalRevenue descending select new { Dealer = dealer.Name, TotalRevenue = totalRevenue, Town = town, TotalOrders = orderCount }) .ToList(); document.AddMetadata() .AddHeader($"Total revenue by dealer for the last year. Generated on {DateTime.Now}") .AddTabularData(totalRevenueForThePastMonth) .Save(); }
protected SearchSubsystem( Control parent, RichTextBox findEditor, Panel panelSearchIcon, ListBox listBoxSuggest, LuceneSearcher <TId, TObj> searcher, IDocumentAdapter <TId, TObj> adapter, params LayoutViewControl[] layoutViews) { _parent = parent; _findEditor = findEditor; _panelSearchIcon = panelSearchIcon; _listBoxSuggest = listBoxSuggest; Searcher = searcher; _adapter = adapter; _views = layoutViews; _listBoxSuggest.Visible = false; _listBoxSuggest.Height = 0; _highlighter = new SearchStringHighlighter(_findEditor); _highlighter.Highlight(); }
public Document(IIdentity identity, DocumentOperation operation, IDocumentAdapter documentAdapter) { Util.ThrowOnNullArgument(identity, "identity"); this.propertyBag = new PropertyBag(); this.documentAdapter = documentAdapter; this.propertyBag.SetProperty <IIdentity>(DocumentSchema.Identity, identity); this.propertyBag.SetProperty <DocumentOperation>(DocumentSchema.Operation, operation); this.diagnosticsSession = DiagnosticsSession.CreateDocumentDiagnosticsSession(identity, ExTraceGlobals.CoreDocumentModelTracer); }
public LiteDbStorage(LiteDatabase database, IDocumentAdapter <TDoc> documentAdapter) { Check.DoRequireArgumentNotNull(database, nameof(database)); Check.DoRequireArgumentNotNull(documentAdapter, nameof(documentAdapter)); _database = database; _documents = database.GetCollection <TDoc>(); DocumentAdapter = documentAdapter; }
public RepositoryShould() { _doc = GetDocumentAdapter(); IDbInitializer dbInitializer = new DbInitializer(_doc, new string[] { "Cars", "Persons" }); dbInitializer.InitializeAsync().Wait(); _carRepository = new CarRepository(_doc); }
public CardSpellcheckerState( CardRepository repo, Spellchecker spellchecker, CardSearcherState searcherState, IDocumentAdapter <int, Card> adapter, Func <int> maxCount, bool loaded) : base(spellchecker, searcherState, adapter, maxCount, loaded) { _repo = repo; }
protected LuceneSpellcheckerState( Spellchecker spellchecker, LuceneSearcherState <TId, TDoc> searcherState, IDocumentAdapter <TId, TDoc> adapter, Func <int> maxCount, bool loaded) { _spellchecker = spellchecker; _reader = searcherState.Reader; _adapter = adapter; _maxCount = maxCount; IsLoaded = loaded; }
public void Generate(IDocumentAdapter document) { var fakeDb = new MockDbContext(); using (fakeDb) { var totalRevenueByDealers = fakeDb.GetTotalRevenueByDealers(); document.AddMetadata() .AddRow($"Top 10 total revenue by dealer for all time. Generated on {DateTime.Now}") .AddTable(totalRevenueByDealers) .Save(); } }
protected LuceneSpellchecker(IDocumentAdapter <TId, TObj> adapter) { _adapter = adapter; MaxCount = 20; _userFields = _adapter.GetUserFields() .Select(f => f + ":") .OrderBy(Str.Comparer) .ToReadOnlyList(); _allTokensAreField = _userFields .Select(_ => TokenType.Field) .ToReadOnlyList(); }
/// <summary> /// Generates a new DealerSalesReportForLastQuarter. /// </summary> public void Generate(IDocumentAdapter document, ICarsFactoryDbContext dbContext) { var pastDate = DateTime.Now.AddMonths(-3); Console.WriteLine(dbContext.Orders.First().TotalPrice); var dealerData = (from dealer in dbContext.Dealers let cars = dealer.Cars.Where(car => car.OrderId != null && car.Order.OrderStatus == OrderStatus.Closed && car.Order.Date > pastDate) .Select(c => new { Model = c.Model.Manufacturer.Name + " " + c.Model.Name, Year = c.Year.Year, Price = c.Price, OrderDate = c.Order.Date, OrderId = c.OrderId }) select new { Cars = cars.ToList(), Name = dealer.Name, Town = dealer.Town.Name, } ).OrderByDescending(x => x.Cars.Count) .ToList(); document.AddMetadata() .AddHeader($"Dealer sales report for the last three months. Generated on {DateTime.Now}"); foreach (var dealer in dealerData) { var deal = new { Dealer = dealer.Name + ", " + dealer.Town }; var dealerTableData = new[] { deal }.ToList(); document.AddTabularData(dealerTableData); if (dealer.Cars.Count > 0) { document.AddTabularData(dealer.Cars); } var totalsTableData = new { TotalRevenue = dealer.Cars.Sum(c => c.Price) }; var totals = new[] { totalsTableData }.ToList(); document.AddTabularData(totals); document.AddHeader(string.Empty); } document.Save(); }
protected LuceneSpellchecker(IDocumentAdapter <TId, TDoc> adapter) { Adapter = adapter; MaxCount = 20; _userFields = Adapter.FieldByAlias.Keys.OrderBy(Str.Comparer) .Concat(Adapter.GetUserFields().OrderBy(Str.Comparer)) .Select(f => f + ":") .ToList(); _allTokensAreField = _userFields .Select(_ => TokenType.Field) .ToList(); }
public DFormattingVisitor(DFormattingOptions policy, IDocumentAdapter document, DModule ast, ITextEditorOptions options = null) { if (policy == null) { throw new ArgumentNullException("policy"); } if (document == null) { throw new ArgumentNullException("document"); } this.ast = ast; this.policy = policy; this.document = document; this.options = options ?? TextEditorOptions.Default; curIndent = new FormattingIndentStack(this.options); }
protected SearchSubsystem( Control parent, SearchBar searchBar, LuceneSearcher <TId, TObj> searcher, IDocumentAdapter <TId, TObj> adapter, params LayoutViewControl[] layoutViews) { _parent = parent; _searchBar = searchBar; Searcher = searcher; _adapter = adapter; _views = layoutViews; _highlighter = new SearchStringHighlighter(_searchBar.Input); _highlighter.Highlight(); }
public static string FormatCode(string code, DModule ast = null, IDocumentAdapter document = null, DFormattingOptions options = null, ITextEditorOptions textStyle = null) { options = options ?? DFormattingOptions.CreateDStandard(); textStyle = textStyle ?? TextEditorOptions.Default; ast = ast ?? DParser.ParseString(code) as DModule; var formattingVisitor = new DFormattingVisitor(options, document ?? new TextDocument{ Text = code }, ast, textStyle); formattingVisitor.WalkThroughAst(); var sb = new StringBuilder(code); formattingVisitor.ApplyChanges((int start, int length, string insertedText) => { sb.Remove(start,length); sb.Insert(start,insertedText); }); return sb.ToString(); }
/// <summary> /// Generates a new TopSellingManufacturersReport. /// </summary> public void Generate(IDocumentAdapter document, ICarsFactoryDbContext dbContext) { var topManufacturers = (from car in dbContext.Cars.Where(car => car.OrderId != null && car.Order.OrderStatus == OrderStatus.Closed) group car by car.Model.Manufacturer.Name into g orderby g.Count() descending select new { Model = g.Key, OrderCount = g.Count() }) .ToList(); document.AddMetadata() .AddHeader($"Top selling manufacturers of all time. Generated on {DateTime.Now}") .AddTabularData(topManufacturers) .Save(); }
/// <summary> /// Generates a new TopRevenueByTownReport. /// </summary> public void Generate(IDocumentAdapter document, ICarsFactoryDbContext dbContext) { var topTowns = (from car in dbContext.Cars .Where(car => car.OrderId != null && car.Order.OrderStatus == OrderStatus.Closed) group car by car.Dealer.Town.Name into g orderby g.Count() descending select new { Town = g.Key, OrderCount = g.Count() }) .ToList(); document.AddMetadata() .AddHeader($"Most orders by town. Generated on {DateTime.Now}") .AddTabularData(topTowns) .Save(); }
public static string FormatCode(string code, DModule ast = null, IDocumentAdapter document = null, DFormattingOptions options = null, ITextEditorOptions textStyle = null) { options = options ?? DFormattingOptions.CreateDStandard(); textStyle = textStyle ?? TextEditorOptions.Default; ast = ast ?? DParser.ParseString(code) as DModule; var formattingVisitor = new DFormattingVisitor(options, document ?? new TextDocument { Text = code }, ast, textStyle); formattingVisitor.WalkThroughAst(); var sb = new StringBuilder(code); formattingVisitor.ApplyChanges((int start, int length, string insertedText) => { sb.Remove(start, length); sb.Insert(start, insertedText); }); return(sb.ToString()); }
public CarRepository(IDocumentAdapter documentAdapter) : base("Cars", documentAdapter) { }
public QrDataProvider(IXApplication app, IXLogger logger, IDocumentAdapter docAdapter) { m_App = app; m_DocAdapter = docAdapter; m_Logger = logger; }
internal ScopedDocument(IDocumentAdapter docAdapter, IXDrawing drw, IXLogger logger, bool useRefDoc) { m_DocAdapter = docAdapter; m_CloseDrawing = false; m_CloseDocument = false; m_Logger = logger; m_Drawing = (IXDrawing)m_DocAdapter.GetDocumentReplacement(drw, true); if (drw != m_Drawing) { m_CloseDrawing = !m_Drawing.IsCommitted; } if (!m_Drawing.IsCommitted) { m_Drawing.Commit(); } if (useRefDoc) { var view = m_Drawing.Sheets.Active.DrawingViews.FirstOrDefault(); if (view == null) { throw new UserException("No drawing views in this document"); } var refDoc = view.ReferencedDocument; if (refDoc == null) { throw new UserException("View does not have a document"); } var conf = view.ReferencedConfiguration; var replDoc = (IXDocument3D)m_DocAdapter.GetDocumentReplacement(refDoc, true); if (refDoc != replDoc) { refDoc = replDoc; } m_CloseDocument = m_CloseDrawing || !refDoc.IsCommitted; if (!refDoc.IsCommitted) { refDoc.Commit(); } if (!conf.IsCommitted) { conf = refDoc.Configurations[conf.Name]; } Document = refDoc; Configuration = conf; } else { Document = m_Drawing; } }
protected LuceneSearcher(LuceneSpellchecker <TId, TDoc> spellchecker, IDocumentAdapter <TId, TDoc> adapter) { Adapter = adapter; Spellchecker = spellchecker; }
public EditQrCodeFeature(IXExtension ext, IMessageService msgSvc, IXLogger logger, IDocumentAdapter docAdapter) : base(ext, msgSvc, logger, docAdapter) { }
protected LuceneSearcherState(IDocumentAdapter <TId, TDoc> adapter) { Adapter = adapter; }
internal IDocument CreateDocument(IIdentity documentId, DocumentOperation documentOperation, IDocumentAdapter documentAdapter, bool initializeNestedDocuments) { Util.ThrowOnNullArgument(documentId, "documentId"); return(new Document(documentId, documentOperation, documentAdapter, initializeNestedDocuments)); }
internal IDocument CreateDocument(IIdentity documentId, DocumentOperation documentOperation, IDocumentAdapter documentAdapter) { return(this.CreateDocument(documentId, documentOperation, documentAdapter, false)); }
protected Repository(string collectionId, IDocumentAdapter documentAdapter) { CollectionId = collectionId; Doc = documentAdapter; }
public InsertQrCodeFeature(IXExtension ext, IMessageService msgSvc, IXLogger logger, IDocumentAdapter docAdapter) { m_App = ext.Application; m_MsgSvc = msgSvc; m_Logger = logger; m_InsertQrCodePage = ext.CreatePage <QrCodeData>(); m_CurInsertQrCodePageData = new QrCodeData(); m_QrDataProvider = new QrDataProvider(m_App, m_Logger, docAdapter); m_QrCodeManager = new QrCodePictureManager(m_App, m_QrDataProvider); m_InsertQrCodePage.DataChanged += OnPageDataChanged; m_InsertQrCodePage.Closed += OnInserQrCodePageClosed; m_InsertQrCodePage.Closing += OnInsertQrCodePageClosing; }