Exemple #1
0
        private IList ExecuteSubQuery(Type t, QueryContextsEntry queryContextsEntry)
        {
            IQueryGenerator queryGenerator  = ConfigContainer.Resolve <IQueryGenerator>();
            bool            hasBeenPrepared = PrepareParameters();
            string          generatedQuery;

            if (this.queryLanguage == QueryLanguage.NDOql)
            {
                generatedQuery = queryGenerator.GenerateQueryString(queryContextsEntry, this.expressionTree, this.hollowResults, this.queryContextsForTypes.Count > 1, this.orderings, this.skip, this.take);
            }
            else
            {
                generatedQuery = (string)this.expressionTree.Value;
            }

            if (hasBeenPrepared)
            {
                WriteBackParameters();
            }

            using (IPersistenceHandler persistenceHandler = this.pm.PersistenceHandlerManager.GetPersistenceHandler(t))
            {
                persistenceHandler.VerboseMode = this.pm.VerboseMode;
                persistenceHandler.LogAdapter  = this.pm.LogAdapter;
                this.pm.CheckTransaction(persistenceHandler, t);

                DataTable table = persistenceHandler.PerformQuery(generatedQuery, this.parameters, this.pm.DataSet);
                return(pm.DataTableToIList(t, table.Rows, this.hollowResults));
            }
        }
        internal DateQueryable(IEverythingInternal everything, IQueryGenerator parent, string kind)
            : base(everything, parent)
        {
            this.searchPattern = kind;
            EverythingWrapper.FileInfoIndex fileInfoIndex;

            switch (this.searchPattern)
            {
            default:
                this.Flags    = RequestFlags.EVERYTHING_REQUEST_DATE_MODIFIED;
                fileInfoIndex = EverythingWrapper.FileInfoIndex.DateModified;
                break;

            case "dc":
                this.Flags    = RequestFlags.EVERYTHING_REQUEST_DATE_CREATED;
                fileInfoIndex = EverythingWrapper.FileInfoIndex.DateCreated;
                break;

            case "dr":
                this.Flags    = RequestFlags.EVERYTHING_REQUEST_DATE_RUN;
                fileInfoIndex = EverythingWrapper.FileInfoIndex.DateAccessed;
                break;

            case "da":
                this.Flags    = RequestFlags.EVERYTHING_REQUEST_DATE_ACCESSED;
                fileInfoIndex = EverythingWrapper.FileInfoIndex.DateAccessed;
                break;
            }

            this.IsFast = EverythingWrapper.Everything_IsFileInfoIndexed(fileInfoIndex);
        }
Exemple #3
0
        private object ExecuteAggregateQuery(QueryContextsEntry queryContextsEntry, string field, AggregateType aggregateType)
        {
            Type            t = queryContextsEntry.Type;
            IQueryGenerator queryGenerator = ConfigContainer.Resolve <IQueryGenerator>();
            string          generatedQuery = queryGenerator.GenerateAggregateQueryString(field, queryContextsEntry, this.expressionTree, this.queryContextsForTypes.Count > 1, aggregateType);

            using (IPersistenceHandler persistenceHandler = this.pm.PersistenceHandlerManager.GetPersistenceHandler(t))
            {
                persistenceHandler.VerboseMode = this.pm.VerboseMode;
                persistenceHandler.LogAdapter  = this.pm.LogAdapter;
                this.pm.CheckTransaction(persistenceHandler, t);

                // Note, that we can't execute all subQueries in one batch, because
                // the subqueries could be executed against different connections.
                // TODO: This could be optimized, if we made clear whether the involved tables
                // can be reached with the same connection.
                var l = persistenceHandler.ExecuteBatch(new string[] { generatedQuery }, this.parameters);
                if (l.Count == 0)
                {
                    return(null);
                }

                return((l[0])["AggrResult"]);
            }
        }
        public QueryController(IQueryBuilderEngine engine)
        {
            _engine = engine;
            SetNewQuery();

            _linqGenerator = new EntityFrameworkQueryGenerator();
        }
        public ActionResult Process(string ID, int ISLEM)
        {
            IDatabase2 db = DatabaseFactory.GetDbObject();

            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.TableName = "comment";

            if (ISLEM == 1)
            {
                gen.AddDataParameter("APPROVED", 1);
            }
            else
            {
                gen.AddDataParameter("APPROVED", 2);
            }

            gen.FilterText = " WHERE ID=:p1";

            gen.AddFilterParameter("p1", ID);

            db.ExecuteQuery(gen.GetUpdateCommand());

            List <Comment> cList = ProcessView();

            return(View("Index", cList));
        }
        public ActionResult ProcessArticle(int ARTICLE_ID, int ISLEM)
        {
            try
            {
                IDatabase2      db  = DatabaseFactory.GetDbObject(DbSettings.TransactionMode);
                IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

                gen.TableName = "article";

                gen.AddDataParameter("ACTIVE", ISLEM);

                gen.FilterText = "where ID=:p1";

                gen.AddFilterParameter("p1", ARTICLE_ID);

                db.ExecuteQuery(gen.GetUpdateCommand());

                db.Commit();

                return(RedirectToAction("ManageArticle"));
            }
            catch
            {
                return(RedirectToAction("ManageArticle"));
            }
        }
Exemple #7
0
 public SizeQueryable(IEverythingInternal everything, IQueryGenerator parent)
     : base(everything, parent)
 {
     this.Flags  = RequestFlags.EVERYTHING_REQUEST_SIZE;
     this.IsFast = EverythingWrapper.Everything_IsFileInfoIndexed(EverythingWrapper.FileInfoIndex.FileSize) &&
                   EverythingWrapper.Everything_IsFileInfoIndexed(EverythingWrapper.FileInfoIndex.FolderSize);
 }
Exemple #8
0
        protected AdoRepository(IAdoContext context, IAdoMapper <T> mapper)
        {
            Context = context;
            Mapper  = mapper;

            Uow             = context;
            _queryGenerator = context.QueryGenerator(mapper);
        }
 public QuestChainQueryGenerator(IQuestTemplateSource questTemplateSource,
                                 IQueryGenerator queryGenerator,
                                 ISqlGenerator sqlGenerator)
 {
     this.questTemplateSource = questTemplateSource;
     this.queryGenerator      = queryGenerator;
     this.sqlGenerator        = sqlGenerator;
 }
Exemple #10
0
        private static List <Category> GetData()
        {
            IDatabase2      db  = DatabaseFactory.GetDbObject();
            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.SelectText = "select * from category order by LABEL_TEXT";

            return(db.GetObjectList <Category>(gen.GetSelectCommandBasic()));
        }
        protected ViewModelBase(IHistoryManager history,
                                DatabaseTableSolutionItem solutionItem,
                                ISolutionItemNameRegistry solutionItemName,
                                ISolutionManager solutionManager,
                                ISolutionTasksService solutionTasksService,
                                IEventAggregator eventAggregator,
                                IQueryGenerator queryGenerator,
                                IDatabaseTableDataProvider databaseTableDataProvider,
                                IMessageBoxService messageBoxService,
                                ITaskRunner taskRunner,
                                IParameterFactory parameterFactory,
                                ITableDefinitionProvider tableDefinitionProvider,
                                IItemFromListProvider itemFromListProvider,
                                ISolutionItemIconRegistry iconRegistry,
                                ISessionService sessionService,
                                IDatabaseTableCommandService commandService,
                                IParameterPickerService parameterPickerService,
                                IStatusBar statusBar,
                                IMySqlExecutor mySqlExecutor)
        {
            this.solutionItemName          = solutionItemName;
            this.solutionManager           = solutionManager;
            this.solutionTasksService      = solutionTasksService;
            this.queryGenerator            = queryGenerator;
            this.databaseTableDataProvider = databaseTableDataProvider;
            this.messageBoxService         = messageBoxService;
            this.taskRunner              = taskRunner;
            this.parameterFactory        = parameterFactory;
            this.tableDefinitionProvider = tableDefinitionProvider;
            this.itemFromListProvider    = itemFromListProvider;
            this.sessionService          = sessionService;
            this.commandService          = commandService;
            this.parameterPickerService  = parameterPickerService;
            this.statusBar     = statusBar;
            this.mySqlExecutor = mySqlExecutor;
            this.solutionItem  = solutionItem;
            History            = history;

            undoCommand            = new DelegateCommand(History.Undo, CanUndo);
            redoCommand            = new DelegateCommand(History.Redo, CanRedo);
            Save                   = new AsyncAutoCommand(SaveSolutionItem);
            title                  = solutionItemName.GetName(solutionItem);
            Icon                   = iconRegistry.GetIcon(solutionItem);
            nameGeneratorParameter = parameterFactory.Factory("Parameter");

            History.PropertyChanged += (_, _) =>
            {
                undoCommand.RaiseCanExecuteChanged();
                redoCommand.RaiseCanExecuteChanged();
                RaisePropertyChanged(nameof(IsModified));
            };

            tableDefinition = tableDefinitionProvider.GetDefinition(solutionItem.DefinitionId) !;
            LoadAndCreateCommands();
            nameGeneratorParameter = parameterFactory.Factory(tableDefinition.Picker);
        }
Exemple #12
0
        public EntityStore(IDbConnection connection, IQueryGenerator generator) : this()
        {
            _connection            = connection;
            _useProvidedConnection = true;

            if (generator != null)
            {
                _queryGenerator = generator;
            }
        }
Exemple #13
0
        public static TResult GenerateCommand <TReturn, TResult>(IQueryGenerator <TReturn, TResult> qg, string input) where TReturn : class
        {
            SQEParser.ExpressionContext expressionContext = ProcessInput(input);

            var visitor = new AbstractTreeVisitor <TReturn, TResult>(qg);

            visitor.Visit(expressionContext);

            return(qg.GetResult());
        }
Exemple #14
0
        public EntityStore()
        {
            if (!EntityTypes.IsRegistered <TEntity>())
            {
                throw new Exception("You must register your type with EntityTypes before instantiating an EntityStore.");
            }

            _connectionString = ConnectionStringHelper.FindFirst();
            _queryGenerator   = new SqlServerGenerator();
        }
Exemple #15
0
        public FormRepository(IOptions <ConnectionStringsOptions> connectionStrings, IQueryGenerator queryGenerator)
            : base(connectionStrings.Value.Vendora)
        {
            _queryFactory = queryGenerator.GetFactory <Form>();

            _queryLanguage        = _queryFactory.GetColumnProperty(" = @", nameof(Form.Language));
            _queryName            = _queryFactory.GetColumnProperty(" = @", nameof(Form.Name));
            _queryOrderByCreation = $"ORDER BY {_queryFactory.GetColumn(nameof(Form.CreatedDate))}";

            SqlMapper.AddTypeHandler(typeof(FormMetadata), new JsonTypeHandler());
        }
        private List <Article> GetAllData()
        {
            IDatabase2      db  = DatabaseFactory.GetDbObject();
            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.SelectText = "select * from article order by INSERT_DATE desc";

            List <Article> sonuc = db.GetObjectList <Article>(gen.GetSelectCommandBasic());

            return(sonuc);
        }
        public ActionResult AddArticle(string TITLE, string CONTENT, int[] CATEGORIES)
        {
            try
            {
                string nGuid = Guid.NewGuid().ToString("N");

                IDatabase2      db  = DatabaseFactory.GetDbObject(DbSettings.TransactionMode);
                IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

                gen.TableName = "article";

                gen.AddDataParameter("TITLE", TITLE);
                gen.AddDataParameter("TEXT", CONTENT);
                gen.AddDataParameter("INSERT_DATE", DateTime.Now);
                gen.AddDataParameter("AUTHOR", "vyigity");
                gen.AddDataParameter("ID_GUID", nGuid);

                db.ExecuteQuery(gen.GetInsertCommand());

                IQueryGenerator gen2 = QueryGeneratorFactory.GetDbObject();
                gen2.SelectText = "select ID from article where ";
                gen2.FilterText = "ID_GUID = :p1";
                gen2.AddFilterParameter("p1", nGuid);

                if (CATEGORIES != null && CATEGORIES.Length > 0)
                {
                    int id = Util.GetProperty <int>(db.GetSingleValue(gen2.GetSelectCommandBasic()));

                    foreach (int i in CATEGORIES)
                    {
                        IQueryGenerator gen3 = QueryGeneratorFactory.GetDbObject();
                        gen3.TableName = "article_category";

                        gen3.AddDataParameter("ARTICLE_ID", id);
                        gen3.AddDataParameter("CATEGORY_ID", i);

                        db.ExecuteQuery(gen3.GetInsertCommand());
                    }
                }

                db.Commit();

                ProcessView();

                return(RedirectToAction("ManageArticle"));
            }
            catch
            {
                return(RedirectToAction("Index"));
            }
        }
Exemple #18
0
        private static void FillComments(IDatabase2 db, Article article)
        {
            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.SelectText = "select * from blog.comment c where c.APPROVED = 1 and ";
            gen.FilterText = "c.article_id = :p1 ";
            gen.SelectTail = "order by c.INSERT_DATE desc";

            gen.AddFilterParameter("p1", article.ID);

            List <Comment> cList = db.GetObjectList <Comment>(gen.GetSelectCommandBasic());

            article.COMMENTS = cList;
        }
Exemple #19
0
        public EntityStore(string connectionString, IQueryGenerator generator) : this()
        {
            _connectionString = ConnectionStringHelper.FindByName(connectionString);

            if (_connectionString == null)
            {
                throw new ArgumentException("A connection string must be specified, or there must be at least one connection string set in your configuration file.");
            }

            if (generator != null)
            {
                _queryGenerator = generator;
            }
        }
        private Article GetData(int id)
        {
            IDatabase2      db  = DatabaseFactory.GetDbObject();
            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.SelectText = "select * from article where ";
            gen.FilterText = "id=:p1";

            gen.AddFilterParameter("p1", id);

            Article sonuc = db.GetObject <Article>(gen.GetSelectCommandBasic());

            return(sonuc);
        }
Exemple #21
0
        private static List <Article> GetData(string searchText)
        {
            IDatabase2      db  = DatabaseFactory.GetDbObject();
            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.SelectText = "select a.*,(select count(*) from comment c where c.article_id = a.id and c.APPROVED = 1) COMMENT_COUNT from article a where a.ACTIVE=1 and ";
            gen.FilterText = "TEXT like CONCAT('%',:p1,'%') ";
            gen.SelectTail = "order by INSERT_DATE desc";
            gen.AddFilterParameter("p1", searchText);
            List <Article> aList = db.GetObjectList <Article>(gen.GetSelectCommandBasic());

            FillCategory(db, aList);

            return(aList);
        }
Exemple #22
0
        public ActionResult AddCategory(Category param)
        {
            IDatabase2      db  = DatabaseFactory.GetDbObject();
            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.TableName = "category";

            gen.AddDataParameter("LABEL_TEXT", param.LABEL_TEXT);

            db.ExecuteQuery(gen.GetInsertCommand());

            List <Category> cList = ProcessView();

            return(View("Index", cList));
        }
        private static List <Category> GetLoadedCategory(int id)
        {
            IDatabase2      db  = DatabaseFactory.GetDbObject();
            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.SelectText = "select c.* from category c, article_category ac where ";
            gen.FilterText = "c.id = ac.category_id and ac.article_id = :p1 ";
            gen.SelectTail = "order by c.LABEL_TEXT";

            gen.AddFilterParameter("p1", id);

            List <Category> aList = db.GetObjectList <Category>(gen.GetSelectCommandBasic());

            return(aList);
        }
        private static List <Comment> GetData()
        {
            IDatabase2      db  = DatabaseFactory.GetDbObject();
            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.SelectText = @"select c.*, a.TITLE ARTICLE_TITLE from blog.comment c, blog.article a 

                                where

                                c.ARTICLE_ID = a.ID and

                                c.APPROVED = 0 order by INSERT_DATE desc";

            return(db.GetObjectList <Comment>(gen.GetSelectCommandBasic()));
        }
Exemple #25
0
        private static void FillCategory(IDatabase2 db, List <Article> aList)
        {
            foreach (var arc in aList)
            {
                IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();
                gen.SelectText = "select * from category c ,article_category a where ";
                gen.FilterText = "a.category_id = c.id and  a.article_id = :p1";
                gen.SelectTail = "order by c.LABEL_TEXT";

                gen.AddFilterParameter("p1", arc.ID);

                List <Category> cList = db.GetObjectList <Category>(gen.GetSelectCommandBasic());

                arc.CATEGORIES = cList;
            }
        }
Exemple #26
0
        private static List <Article> GetDataWithCategory(int id)
        {
            IDatabase2      db  = DatabaseFactory.GetDbObject();
            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.SelectText = "select a.*, (select count(*) from comment co where co.article_id = a.id and co.APPROVED = 1) COMMENT_COUNT from article a, article_category c where a.id = c.article_id and a.ACTIVE=1 and ";
            gen.FilterText = "c.category_id = :p1 order by a. INSERT_DATE desc";

            gen.AddFilterParameter("p1", id);

            List <Article> aList = db.GetObjectList <Article>(gen.GetSelectCommandBasic());

            FillCategory(db, aList);

            return(aList);
        }
Exemple #27
0
        protected ViewModelBase(IHistoryManager history,
                                DatabaseTableSolutionItem solutionItem,
                                ISolutionItemNameRegistry solutionItemName,
                                ISolutionManager solutionManager,
                                ISolutionTasksService solutionTasksService,
                                IEventAggregator eventAggregator,
                                IQueryGenerator queryGenerator,
                                IDatabaseTableDataProvider databaseTableDataProvider,
                                IMessageBoxService messageBoxService,
                                ITaskRunner taskRunner,
                                IParameterFactory parameterFactory,
                                ITableDefinitionProvider tableDefinitionProvider,
                                IItemFromListProvider itemFromListProvider,
                                ISolutionItemIconRegistry iconRegistry)
        {
            this.solutionItemName          = solutionItemName;
            this.solutionManager           = solutionManager;
            this.solutionTasksService      = solutionTasksService;
            this.queryGenerator            = queryGenerator;
            this.databaseTableDataProvider = databaseTableDataProvider;
            this.messageBoxService         = messageBoxService;
            this.taskRunner           = taskRunner;
            this.parameterFactory     = parameterFactory;
            this.itemFromListProvider = itemFromListProvider;
            this.solutionItem         = solutionItem;
            History = history;

            undoCommand            = new DelegateCommand(History.Undo, CanUndo);
            redoCommand            = new DelegateCommand(History.Redo, CanRedo);
            Save                   = new DelegateCommand(SaveSolutionItem);
            title                  = solutionItemName.GetName(solutionItem);
            Icon                   = iconRegistry.GetIcon(solutionItem);
            nameGeneratorParameter = parameterFactory.Factory("Parameter");

            History.PropertyChanged += (_, _) =>
            {
                undoCommand.RaiseCanExecuteChanged();
                redoCommand.RaiseCanExecuteChanged();
                RaisePropertyChanged(nameof(IsModified));
            };

            tableDefinition        = tableDefinitionProvider.GetDefinition(solutionItem.DefinitionId) !;
            nameGeneratorParameter = parameterFactory.Factory(tableDefinition.Picker);

            AutoDispose(eventAggregator.GetEvent <EventRequestGenerateSql>()
                        .Subscribe(ExecuteSql));
        }
Exemple #28
0
        public ActionResult DeleteCategory(int ID)
        {
            IDatabase2 db = DatabaseFactory.GetDbObject();

            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.SelectText = "delete from category where ";
            gen.FilterText = "id = :p1";

            gen.AddFilterParameter("p1", ID);

            db.ExecuteQuery(gen.GetSelectCommandBasic());

            List <Category> cList = ProcessView();

            return(View("Index", cList));
        }
        public ActionResult AddComment(Comment param)
        {
            IDatabase2      db  = DatabaseFactory.GetDbObject();
            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.TableName = "comment";

            gen.AddDataParameter("ID", Guid.NewGuid().ToString("N"));
            gen.AddDataParameter("ARTICLE_ID", param.ARTICLE_ID);
            gen.AddDataParameter("COMMENT_TEXT", param.COMMENT_TEXT);
            gen.AddDataParameter("USER_NAME", param.USER_NAME);
            gen.AddDataParameter("INSERT_DATE", DateTime.Now);

            db.ExecuteQuery(gen.GetInsertCommand());

            return(Json(new { }));
        }
Exemple #30
0
        private static List <Article> GetData(int id)
        {
            IDatabase2      db  = DatabaseFactory.GetDbObject();
            IQueryGenerator gen = QueryGeneratorFactory.GetDbObject();

            gen.SelectText = "select a.*, (select count(*) from comment c where c.article_id = a.id and c.APPROVED = 1) COMMENT_COUNT from article a where a.ACTIVE=1 and ";
            gen.FilterText = "a.id = :p1";

            gen.AddFilterParameter("p1", id);

            List <Article> aList = db.GetObjectList <Article>(gen.GetSelectCommandBasic());

            FillCategory(db, aList);
            FillComments(db, aList.First());

            return(aList);
        }