예제 #1
0
 public DbQueueView(int index, IQueryView queryProvider)
 {
     ID     = Guid.NewGuid();
     Index  = index;
     _query = queryProvider;
     Param  = new List <DbParameter>();
 }
예제 #2
0
 /// <summary>
 /// Retrieve every object of type T, where T must implement IStorable using on the dictionary as a filter on its properties
 /// </summary>
 /// <typeparam name="T">The type of IStorable you want to retrieve.</typeparam>
 /// <param name="filter">The filter used to retrieve the objects</param>
 public IEnumerable <T> Retrieve <T> (QueryFilter filter = null) where T : IStorable
 {
     lock (mutex) {
         IQueryView <T> qview = views [typeof(T)] as IQueryView <T>;
         return(qview.Query(filter));
     }
 }
예제 #3
0
 /// <summary>
 /// Retrieve every object of type T, where T must implement IStorable
 /// </summary>
 /// <typeparam name="T">The type of IStorable you want to retrieve.</typeparam>
 public IEnumerable <T> RetrieveAll <T> () where T : IStorable
 {
     lock (mutex) {
         IQueryView <T> qview = views [typeof(T)] as IQueryView <T>;
         return(qview.Query(null));
     }
 }
예제 #4
0
        public void FillViewData(IQueryView view)
        {
            DataTable dt = SqlHelper.Query(view.ConnectionString, view.SqlText);

            view.UnFilteredShowDataSrc = dt;
            view.ShowDataSrc           = dt;
        }
예제 #5
0
 /// <summary>
 /// Retrieve every object of type T, where T must implement IStorable using on the dictionary as a filter on its properties
 /// </summary>
 /// <typeparam name="T">The type of IStorable you want to retrieve.</typeparam>
 /// <param name="filter">The filter used to retrieve the objects</param>
 /// <param name="cache">An objects cache to reuse existing retrieved objects</param>
 public IEnumerable <T> RetrieveFull <T> (QueryFilter filter = null, IStorableObjectsCache cache = null) where T : IStorable
 {
     lock (mutex) {
         IQueryView <T> qview = views [typeof(T)] as IQueryView <T>;
         return(qview.QueryFull(filter, cache));
     }
 }
예제 #6
0
 public SqlQueryView(IQueryView query, IQueueView queryQueue, string tableName)
 {
     Query     = query;
     Queue     = queryQueue;
     TableName = tableName;
     Visit     = new ExpressionVisit <TEntity>(query, queryQueue, new ExpressionNew <TEntity>(query, queryQueue), new ExpressionBool <TEntity>(query, queryQueue));
 }
예제 #7
0
 /// <summary>
 /// Count the instances of T in the storage using the specified filter.
 /// </summary>
 /// <param name="filter">Filter.</param>
 /// <typeparam name="T">The type to count in the storage.</typeparam>
 public int Count <T> (QueryFilter filter) where T : IStorable
 {
     lock (mutex) {
         IQueryView <T> qview = views [typeof(T)] as IQueryView <T>;
         return(qview.Count(filter));
     }
 }
 public ExecuteQueryCommand(IQueryView view, Project prj, string hqlQueryText, TypedParameter[] typedParameters)
 {
     this.view = view;
     this.prj = prj;
     this.hqlQueryText = hqlQueryText;
     this.typedParameters = typedParameters;
 }
예제 #9
0
        /// <summary>
        /// Saves the query information.
        /// </summary>
        /// <param name="queryInfo">The query information.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">queryInfo</exception>
        public string SaveQueryInfo(IQueryView queryInfo)
        {
            if (queryInfo == null)
            {
                throw new ArgumentNullException(nameof(queryInfo));
            }

            var result = string.Empty;

            var newRecord = new Query
            {
                QueryName    = queryInfo.QueryName,
                Consequences = queryInfo.Consequences,
                CompanyId    = queryInfo.CompanyId,
                IsActive     = true,
                DateCreated  = DateTime.Now
            };

            try
            {
                using (
                    var dbContext = (HRMSEntities)this.dbContextFactory.GetDbContext(ObjectContextType.HRMS))
                {
                    dbContext.Queries.Add(newRecord);
                    dbContext.SaveChanges();
                }
            }
            catch (Exception e)
            {
                result = string.Format("Save Query info - {0}, {1}", e.Message,
                                       e.InnerException != null ? e.InnerException.Message : "");
            }

            return(result);
        }
예제 #10
0
        /// <summary>
        /// Saves the edit query information.
        /// </summary>
        /// <param name="queryInfo">The query information.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">queryInfo</exception>
        public string SaveEditQueryInfo(IQueryView queryInfo)
        {
            if (queryInfo == null)
            {
                throw new ArgumentNullException(nameof(queryInfo));
            }

            string result = string.Empty;

            try
            {
                using (
                    var dbContext = (HRMSEntities)this.dbContextFactory.GetDbContext(ObjectContextType.HRMS))
                {
                    var modelInfo = dbContext.Queries.SingleOrDefault(p => p.QueryId == queryInfo.QueryId);

                    modelInfo.QueryId      = queryInfo.QueryId;
                    modelInfo.QueryName    = queryInfo.QueryName;
                    modelInfo.CompanyId    = queryInfo.CompanyId;
                    modelInfo.Consequences = queryInfo.Consequences;
                    modelInfo.IsActive     = queryInfo.IsActive;
                    modelInfo.DateCreated  = DateTime.Now;


                    dbContext.SaveChanges();
                }
            }
            catch (Exception e)
            {
                result = string.Format("Save Edit Query info - {0}, {1}", e.Message,
                                       e.InnerException != null ? e.InnerException.Message : "");
            }

            return(result);
        }
예제 #11
0
        public override ISqlQueryView <TEntity> CreateSqlQuery <TEntity>(IQueryView query, IQueueView queue, string tableName)
        {
            var map = TableMapCache.GetMap <TEntity>();

            switch (map.ClassInfo.DataVer)
            {
            case "2000": return(new SqlQueryView2000 <TEntity>(query, queue, tableName));
            }
            return(new SqlQueryView <TEntity>(query, queue, tableName));
        }
예제 #12
0
        /// <summary>
        /// Creates the updated query view.
        /// </summary>
        /// <param name="queryInfo">The query information.</param>
        /// <param name="processingMessage">The processing message.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">queryInfo</exception>
        public IQueryView CreateUpdatedQueryView(IQueryView queryInfo, string processingMessage)
        {
            if (queryInfo == null)
            {
                throw new ArgumentNullException(nameof(queryInfo));
            }

            queryInfo.ProcessingMessage = processingMessage;

            return(queryInfo);
        }
예제 #13
0
        /// <summary>
        /// </summary>
        /// <param name="queryInfo"></param>
        /// <param name="processingMessage"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">queryInfo</exception>
        public IQueryView CreateQueryUpdatedView(IQueryView queryInfo, string processingMessage)
        {
            if (queryInfo == null)
            {
                throw new ArgumentNullException(nameof(queryInfo));
            }

            var returnViewModel =
                queryViewModelFactory.CreateUpdatedQueryView(queryInfo, processingMessage);

            return(returnViewModel);
        }
예제 #14
0
 internal void InitView(IQueryView view)
 {
     view.ConnectionString = new WindowsAuthConStrBuilder(view.DbHost, view.DbName).Build().GetConStr();
     view.SqlText          = SqlTextHelper.GetTblSqlByName(view.TbName);
     if (!string.IsNullOrEmpty(view.Filter) && view.UnFilteredShowDataSrc != null)
     {
         view.ShowDataSrc = DataTableHelper.GetFilteredDatatable(view.UnFilteredShowDataSrc, view.Filter);
     }
     else
     {
         view.ShowDataSrc = view.UnFilteredShowDataSrc;
     }
 }
예제 #15
0
 public HistoryPresenter(IPreferenceSet prefs, IQueryParametersCollection queryCollection, IHistoryView view, 
     IQueryView queryView, IOpenFileDialogView openFileView, ISaveFileDialogView saveFileView,
     IMessageBoxView messageBoxView, HistoryPresenterModel model)
 {
     _prefs = prefs;
      _queryCollection = queryCollection;
      _view = view;
      _queryView = queryView;
      _openFileView = openFileView;
      _saveFileView = saveFileView;
      _messageBoxView = messageBoxView;
      _model = model;
 }
예제 #16
0
        /// <summary>
        /// </summary>
        /// <param name="queryInfo"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">queryInfo</exception>
        public string ProcessQueryInfo(IQueryView queryInfo)
        {
            if (queryInfo == null)
            {
                throw new ArgumentNullException(nameof(queryInfo));
            }

            var processingMessage = string.Empty;


            processingMessage = this.queryRepository.SaveQueryInfo(queryInfo);

            return(processingMessage);
        }
예제 #17
0
        public void ExportChosenCols(IQueryView view)
        {
            var    dt      = view.ShowDataSrc;
            string content = "";

            foreach (DataRow row in dt.Rows)
            {
                string rowContent = "";
                view.DicExportCols.ToList().ForEach(pair =>
                {
                    rowContent += pair.Value ? (row[pair.Key].ToString().ToUpper() + ":") : "";
                });
                content += rowContent.Trim().TrimEnd(':') + "\r\n";
            }
            FileHeper.ExportFile(view.Output, content);
        }
예제 #18
0
        /// <summary>
        /// </summary>
        /// <param name="queryInfo"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">queryInfo</exception>
        public string ProcessEditQueryInfo(IQueryView queryInfo)
        {
            if (queryInfo == null)
            {
                throw new ArgumentNullException(nameof(queryInfo));
            }

            string processingMessage = string.Empty;


            //Store Compnay Information
            processingMessage = this.queryRepository.SaveEditQueryInfo(queryInfo);


            return(processingMessage);
        }
예제 #19
0
        public void Load(IQueryView queryView)
        {
            _source.Clear();
            _selectedPredefinedCondition = null;

            if (_queryView == null)
            {
                _queryView = queryView;
            }

            if (_queryView == null)
            {
                return;
            }

            foreach (var expression in _queryView.UserPredefinedConditions)
            {
                _source.Add(new UserConditionVisualItem(expression));
            }
        }
        public void LoadUserConditions(IQueryView queryView)
        {
            ListBoxConditions.Items.Clear();

            _selectedPredefinedCondition = null;

            if (_queryView == null)
            {
                _queryView             = queryView;
                TextBoxCondition.Query = queryView.Query;
            }

            if (_queryView == null)
            {
                return;
            }

            foreach (var expression in _queryView.UserPredefinedConditions)
            {
                ListBoxConditions.Items.Add(new UserConditionVisualItem(expression));
            }
        }
예제 #21
0
 public SqlQueryView2000(IQueryView query, IQueueView queue, string tableName) : base(query, queue, tableName)
 {
 }
 public void SetUp()
 {
     mocks = new MockRepository();
     queryView = (IQueryView)mocks.CreateMock(typeof(IQueryView));
     mainPresenter = (IMainPresenter)mocks.CreateMock(typeof(IMainPresenter));
     SetupResult.On(mainPresenter).Call(mainPresenter.CurrentProject).Return(prj);
     QueryPresenterWithMockView.MockView = queryView;
     presenter = new QueryPresenterWithMockView(mainPresenter);
 }
 public void SetUp()
 {
     mocks = new MockRepository();
     prj = mocks.CreateMock(typeof(Project),"New Project") as Project;
     view = mocks.CreateMock(typeof(IQueryView)) as IQueryView;
     query = "from TestProject tp where tp.Id = :id";
     param = new TypedParameter("id",typeof(int),1);
     parameters = new TypedParameter[]
         {  param,	};
     command = new ExecuteQueryCommand(this.view,this.prj,this.query,this.parameters);
 }
예제 #24
0
 public QueryPresenter(IQueryView view)
 {
     InitView(view);
 }
예제 #25
0
        public void Init()
        {
            _prefs = MockRepository.GenerateStub<IPreferenceSet>();
             _queryCollection = MockRepository.GenerateStub<IQueryParametersCollection>();
             _view = MockRepository.GenerateMock<IHistoryView>();
             _queryView = MockRepository.GenerateMock<IQueryView>();
             _openFileView = MockRepository.GenerateMock<IOpenFileDialogView>();
             _saveFileView = MockRepository.GenerateMock<ISaveFileDialogView>();
             _messageBoxView = MockRepository.GenerateMock<IMessageBoxView>();

             _database = MockRepository.GenerateMock<IUnitInfoDatabase>();
             _model = new HistoryPresenterModel(_database);
        }
        public void SetUp()
        {
            mocks = new MockRepository();
            queryView = mocks.CreateMock(typeof(IQueryView)) as IQueryView;

            parameters = new Hashtable();
            parameters["id"] = new TypedParameter("id",typeof(int),1);

            SetupResult.On(queryView).Call(queryView.Parameters).Return(parameters);

            QueryPresenterWithMockView.MockView = queryView;
            context = new QueryPresenterWithMockView(null);
        }
예제 #27
0
 /// <summary>
 /// 创建队列
 /// </summary>
 /// <param name="index">索引</param>
 /// <param name="query">数据库持久化</param>
 public IQueueView CreateQueue(int index, IQueryView query)
 {
     return(new DbQueueView(index, query));
 }
 public QueryPresenter(IMainPresenter mainPresenter, Query query)
 {
     this.mainPresenter = mainPresenter;
     this.query = query;
     this.view = CreateView();
 }
예제 #29
0
 /// <summary>
 /// 创建SQL查询
 /// </summary>
 /// <typeparam name="TEntity">实体类</typeparam>
 /// <param name="query">数据库持久化</param>
 /// <param name="queue">当前队列</param>
 /// <param name="tableName">表名</param>
 /// <returns></returns>
 public virtual ISqlQueryView <TEntity> CreateSqlQuery <TEntity>(IQueryView query, IQueueView queue, string tableName) where TEntity : class, new()
 {
     return(new SqlQueryView <TEntity>(query, queue, tableName));
 }