private void 查看地图中第一个图层的属性记录ToolStripMenuItem_Click(object sender, EventArgs e) { //判断地图视图中是否有处于显示状态中的地图 if (this.mapCtrl.ActiveMap == null) { MessageBox.Show("请先在地图视图中显示一幅地图!!!"); return; } //获取激活地图 Map map = this.mapCtrl.ActiveMap; //判断地图中是否有图层 if (map.LayerCount < 1) { MessageBox.Show("操作失败,地图中没有图层!!!"); return; } //获取地图中第一个图层的属性表 VectorLayer vecLayer = map.get_Layer(0) as VectorLayer; RecordSet rcdSet = null; QueryDef qryDef = new QueryDef(); IVectorCls vecCls = vecLayer.GetData() as IVectorCls; rcdSet = vecCls.Select(qryDef); this.attCtrl.SetXCls(vecCls, rcdSet); return; }
private void StartSearch(QueryDef query) { _logger.Info("\n\n====== START SEARCH " + DateTime.Now + " ======\n\n"); //Por cada red social a la que apunta la query foreach (var searchEngineName in query.SearchEnginesNamesList) { _logger.Info("\n\n====== START SEARCH FOR (" + searchEngineName + ") " + DateTime.Now + " ======\n\n"); var postsResult = _searchEngineManager.Search(query.Query, new List <string> { searchEngineName }, ParamAccess.ISOLocationCountry, ParamAccess.ISOLanguageCode); foreach (var post in postsResult) { if (_serviceManager.ExistPost(post.UrlPost)) { continue; } _sentimentValuator.ProcessItem(post); post.QueryDef = query; _serviceManager.SavePost(post); } _logger.Info("\n\n===" + postsResult.Count + " POSTs FOUND IN " + searchEngineName + "\n"); } _logger.Info("\n\n====== END QUERY SEARCH " + DateTime.Now + " ======\n\n"); _logger.Info("\n\n====== WAITING FOR ANOTHER TIME ELAPSE ======\n\n"); }
public void nullArg() { QueryDef q = new QueryDef(null); Assert.False(q.IsID); Assert.True(q.IsEmpty); }
/// <summary> /// Формирует Excel документ из формы и запроса выборки данных /// </summary> /// <param name="form">Форма, задающая оформление данных в выходном документе</param> /// <param name="queryDef">Запрос для выборки данных из БД</param> /// <returns>Массив двоичных данных тела Excel файла</returns> public byte[] ExcelFromQuery(BizForm form, QueryDef queryDef) { var sqb = _sqlQueryBuilderFactory.Create(); using (var sqlQuery = sqb.Build(queryDef, form, null, null)) { sqlQuery.AddAttribute("&Id"); using (var sqlReader = _sqlQueryReaderFactory.Create(sqlQuery) /*new SqlQueryReader(DataContext, sqlQuery)*/) { var defBuilder = new XlsGridDefBuilder(Provider, form, sqlReader); using (var def = defBuilder.BuildFromBizForm()) { var builder = new XlsBuilder(def); using (var workbook = builder.Build()) { using (var stream = new MemoryStream()) { workbook.Write(stream); return(stream.ToArray()); } } } } } }
public void emptyArg() { QueryDef q = new QueryDef(""); Assert.False(q.IsID); Assert.True(q.IsEmpty); NameValueCollection nvc = new NameValueCollection(); q = new QueryDef(nvc); Assert.False(q.IsID); Assert.True(q.IsEmpty); nvc.Add("id", null); q = new QueryDef(nvc); Assert.False(q.IsID); Assert.True(q.IsEmpty); List <string> lst = new List <string>(); q = new QueryDef(lst); Assert.False(q.IsID); Assert.True(q.IsEmpty); lst.Add(null); q = new QueryDef(lst); Assert.False(q.IsID); Assert.True(q.IsEmpty); }
public static SqlQuery Build(QueryDef def, BizForm form, IEnumerable <AttributeSort> sortAttrs, Guid userId, IDataContext dataContext) { var factory = AppServiceProviderFactoryProvider.GetFactory(); using (var provider = factory.Create(dataContext)) { var sqb = new SqlQueryBuilderTool(provider, dataContext, userId); return(sqb.Build(def, form, sortAttrs)); } /*var query = SqlQueryBuilder.Build(dataContext, def, userId); * try * { * query.AddAttribute("&Id"); * AddFormAttributes(query, query.Source, form); * if (sortAttrs != null) * foreach (var attr in sortAttrs) * query.AddOrderAttribute(attr.AttributeId, attr.Asc); * else * AddFormSortOrders(query, query.Source, form); * * return query; * } * catch * { * query.Dispose(); * throw; * }*/ }
public static String GetOrderBy(QueryDef q) { var l = new List <String>(); var First = true; foreach (var k in q.OrderBy) { if (First) { if (k.IsDescending) { l.Add(".OrderByDescending(_e_ => _e_.[[{0}]])".Formats(k.Name)); } else { l.Add(".OrderBy(_e_ => _e_.[[{0}]])".Formats(k.Name)); } First = false; } else { if (k.IsDescending) { l.Add(".ThenByDescending(_e_ => _e_.[[{0}]])".Formats(k.Name)); } else { l.Add(".ThenBy(_e_ => _e_.[[{0}]])".Formats(k.Name)); } } } return(String.Join("", l.ToArray())); }
public static String GetOrderBy(QueryDef q, String EntityName) { var l = new List <String>(); var First = true; foreach (var k in q.OrderBy) { if (First) { if (k.IsDescending) { l.Add(@">>orderby_descending([](std::shared_ptr<class [[" + EntityName + @"]]> _e_) { return _e_->[[" + k.Name + @"]]; })"); } else { l.Add(@">>orderby([](std::shared_ptr<class [[" + EntityName + @"]]> _e_) { return _e_->[[" + k.Name + @"]]; })"); } First = false; } else { if (k.IsDescending) { l.Add(@">>thenby_descending([](std::shared_ptr<class [[" + EntityName + @"]]> _e_) { return _e_->[[" + k.Name + @"]]; })"); } else { l.Add(@">>thenby([](std::shared_ptr<class [[" + EntityName + @"]]> _e_) { return _e_->[[" + k.Name + @"]]; })"); } } } return(String.Join("", l.ToArray())); }
// copy _ClassInfo when cloning because it contains information that is instance-specific when typed as -object- and it's also // more efficient that recreating each time. protected virtual Query <T> CopyTo(Query <T> target) { target.ClassInfo = _ClassInfo; target.QueryDef = QueryDef.Clone(); target.Target = Target; return(target); }
/// <summary> /// Возвращает количество и список документов попадающих в запрос /// </summary> /// <param name="count">Количество документов попадающих под запрос в БД</param> /// <param name="queryDef">Запрос на выборку данных</param> /// <param name="pageNo">Номер страницы</param> /// <param name="pageSize">Количество строк на странице</param> /// <returns>Список идентификаторв документов</returns> public List <Guid> GetDocListWithCount(out int count, QueryDef queryDef, int pageNo, int pageSize) { /*using (var query = new DocQuery(queryDef, DataContext)) * { * count = query.Count(); * * return pageSize <= 0 * ? query.All().ToList() * : query.Take(pageNo * pageSize, pageSize).ToList(); * }*/ var sqb = _sqlQueryBuilderFactory.Create(); using (var query = sqb.Build(queryDef)) { query.AddAttribute("&Id"); using (var reader = _sqlQueryReaderFactory.Create(query)) { reader.Open(); count = reader.GetCount(); var i = reader.GetAttributeIndex("&Id"); var result = new List <Guid>(); while (reader.Read()) { result.Add(reader.GetGuid(i)); } return(result); } } }
public SqlQueryReader Create(QueryDef def) { var sqb = new SqlQueryBuilderTool(Provider, DataContext); var query = sqb.Build(def); return(Create(query)); }
public async Task SingleQueryDef() { try { ResultCount = 0; await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() => { var featLayer = (MapView.Active.Map.Layers.First(layer => layer.Name.Equals("Portland Precincts")) as FeatureLayer); if (featLayer == null) { return; } using (var tbl = featLayer.GetTable()) { using (var datastore = tbl.GetDatastore()) { if (datastore is UnknownDatastore) { return; } var geodatabase = datastore as Geodatabase; if (geodatabase == null) { return; } var queryDef = new QueryDef { Tables = "Portland_PD_Precincts", SubFields = "Name", WhereClause = "Name <> ''" }; var result = new DataTable("results"); result.Columns.Add("Precinct Name", typeof(string)); using (var rowCursor = geodatabase.Evaluate(queryDef, false)) { while (rowCursor.MoveNext()) { using (Row row = rowCursor.Current) { var feature = row as Feature; var rowResult = result.NewRow(); rowResult[0] = Convert.ToString(row[0]); result.Rows.Add(rowResult); } } } ResultCount = result.Rows.Count; ResultData = result; } } }); } catch (Exception ex) { MessageBox.Show($@"Error in single table querydef: {ex}"); } }
public void stringArg() { QueryDef q = new QueryDef("22"); Assert.True(q.IsID); Assert.False(q.IsEmpty); Assert.Equal("22", q.ID); }
public override bool Query() { QueryDef.DatabaseConnection = _master.DatabaseConnection; QueryDef.SetDataSet(_master.DataStorage); QueryDef.RemoveTable(TableName); OnRemoveTable(); return(base.Query()); }
public QueryBuilder(Guid docDefId, Guid userId) : base(null) { Def = new QueryDef { Source = new QuerySourceDef { DocDefId = docDefId }, UserId = userId }; }
public void intArg() { QueryDef q = new QueryDef(2); Assert.True(q.IsID); Assert.False(q.IsEmpty); Assert.Equal("2", q.ID); }
/// <summary> /// 查询数据,将查询到的结果放到新建的 temp 类中 /// </summary> /// <param name="className">要查询的类的名字</param> /// <param name="search">查询语句</param> /// <param name="tempClass">要创建的临时类</param> /// <returns></returns> public static bool SearchData(string className, string search, string tempClass) { //定义变量 IVectorCls VectorCls = new SFeatureCls(); //打开简单要素类 bool rtn = VectorCls.Open("GDBP://MapGisLocal/Templates/sfcls/" + className); if (!rtn) { PUMessageBox.ShowDialog("简单要素类 " + className + " 打开失败", "失败"); return(false); } QueryDef def = new QueryDef(); //设置属性查询条件 def.Filter = search; //查询要素 RecordSet recordSet = VectorCls.Select(def); if (recordSet != null) { int num = recordSet.Count; } else { return(false); } Server svr = new Server(); //连接数据源 svr.Connect("MapGISLocal", "", ""); DataBase GDB = svr.OpenGDB("templates"); SFeatureCls tmpSFCls = new SFeatureCls(GDB); int id = tmpSFCls.Create(tempClass, GeomType.Pnt, 0, 0, null); if (id == 0) { bool temp = SFeatureCls.Remove(GDB, tempClass); id = tmpSFCls.Create(tempClass, GeomType.Pnt, 0, 0, null); if (id == 0) { PUMessageBox.ShowDialog("无法操作简单要素类,请检查是否有其他进程正在使用 " + tempClass, "失败"); return(false); } } rtn = tmpSFCls.CopySet(recordSet); if (rtn == false) { tmpSFCls.Close(); SFeatureCls.Remove(GDB, id); } //关闭类 VectorCls.Close(); return(true); }
public Doc FillDocFromQuery(Doc doc, QueryDef queryDef) { if (queryDef != null && doc != null) { SetDocAttribute(doc, queryDef.WhereConditions); } return(doc); }
public QueryCsvWriter(IAppServiceProvider provider, IDataContext dataContext, QueryDef queryDef, StreamWriter writer, Guid userId) { Provider = provider; DataContext = dataContext; QueryDef = queryDef; Writer = writer; UserId = userId; _sqlQueryBuilder = provider.Get <ISqlQueryBuilder>(); }
public QueryBuilder(string docDefName, Guid userId) : base(null) { Def = new QueryDef { Source = new QuerySourceDef { DocDefName = docDefName }, UserId = userId }; }
public IQueryExpression NotIn(QueryDef subQuery) { Condition.Right = new QueryConditionPartDef { SubQuery = new SubQueryDef { QueryDef = subQuery } }; //SubQueryDef = subQuery; Condition.Condition = ConditionOperation.NotIn; return(this); }
public IQueryJoin RightJoin(QueryDef query, string alias) { var helper = new QueryDefHelper(Def); var source = new QuerySourceDef { Alias = alias, SubQuery = query }; var join = helper.AddJoin(source, SqlSourceJoinType.RightOuter); return(new QueryJoinBuilder(this, join)); }
public IQueryExpression In(QueryDef subQuery) { Condition.Right = new QueryConditionPartDef { SubQuery = new SubQueryDef { QueryDef = subQuery } }; //Condition.SubQueryDef = subQuery; Condition.Condition = ConditionOperation.In; return(GetParentExpression()); }
public static SqlQuery Build(IDataContext dataContext, QueryDef def) { if (def.Source == null) { throw new PropertyConstraintException("QueryDef Source not defined!"); } var factory = AppServiceProviderFactoryProvider.GetFactory(); using (var provider = factory.Create(dataContext)) { var bldr = new SqlQueryBuilderTool(provider, dataContext, def.UserId); return(bldr.Build(def)); } /*using (var defRepo = new DocDefRepository(dataContext)) * { * var docDef = def.Source.DocDefId == Guid.Empty * ? defRepo.DocDefByName(def.Source.DocDefName) * : defRepo.DocDefById(def.Source.DocDefId); * * var query = new SqlQuery(dataContext, docDef, def.Alias, def.UserId) * { * DocumentId = def.DocumentId, * ListAttrDefId = def.ListAttrId * }; * try * { * foreach (var source in def.Sources) * { * BuildSource(query, source, defRepo, dataContext); * } * foreach (var join in def.Joins) * { * BuildJoin(query, join, docDef, dataContext); * } * foreach (var condition in def.WhereConditions) * { * BuildCondition(query, condition, docDef, null); * } * foreach (var order in def.OrderAttributes) * { * query.AddOrderAttribute(order); * } * return query; * } * catch * { * query.Dispose(); * throw; * } * }*/ }
public ActionResult Create(QueryDef querydef) { if (!UserHelper.GetCurrent().IsAdmin) return View("AccesoDenegdo"); querydef.SearchEnginesNames = "TwitterSearchEngine;FacebookSearchEngine;GooglePlusSearchEngine"; if (ModelState.IsValid) { _querydefRepository.Save(querydef); return RedirectToAction("Index"); } return View(); }
public void stringListArg() { string[] ids = new string[] { "22", "23", "24" }; QueryDef q = new QueryDef(string.Join(',', ids)); Assert.False(q.IsID); Assert.False(q.IsEmpty); Assert.Equal("22,23,24", q.Collection.Get("ids")); q = new QueryDef("50,51,"); Assert.False(q.IsID); Assert.False(q.IsEmpty); Assert.Equal("50,51", q.Collection.Get("ids")); }
public ActionResult Create(QueryDef querydef) { if (!UserHelper.GetCurrent().IsAdmin) { return(View("AccesoDenegdo")); } querydef.SearchEnginesNames = "TwitterSearchEngine;FacebookSearchEngine;GooglePlusSearchEngine"; if (ModelState.IsValid) { _querydefRepository.Save(querydef); return(RedirectToAction("Index")); } return(View()); }
public IQueryExpression NotIn(QueryDef subQuery, string attribute) { var helper = new QueryDefHelper(subQuery); var subAttr = helper.AddAttribute(attribute); Condition.Right = new QueryConditionPartDef { SubQuery = new SubQueryDef { QueryDef = subQuery, Attribute = subAttr } }; //Condition.SubQueryDef = subQuery; //Condition.SubQueryAttribute = attribute; Condition.Condition = ConditionOperation.NotIn; return(GetParentExpression()); }
/// <summary> /// Подсчитывает количество строк в запросе /// </summary> /// <param name="queryDef">Запрос на выборку данных</param> /// <returns>Количество строк</returns> public int GetQueryCount(QueryDef queryDef) { /*using (var query = new DocQuery(queryDef, DataContext)) * * return query.Count();*/ var sqb = _sqlQueryBuilderFactory.Create(); using (var query = sqb.Build(queryDef)) { using (var reader = _sqlQueryReaderFactory.Create(query)) { return(reader.GetCount()); } } }
public String GetQueryParameterList(QueryDef q) { var pl = new List <String>(); if (q.Verb.OnInsert || q.Verb.OnUpdate) { if (q.Numeral.OnOptional) { pl.Add(GetEscapedIdentifier("v")); } else if (q.Numeral.OnOne) { pl.Add(GetEscapedIdentifier("v")); } else if (q.Numeral.OnMany) { pl.Add(GetEscapedIdentifier("l")); } else { throw new InvalidOperationException(); } } else if (q.Verb.OnUpsert) { if (q.Numeral.OnOne) { pl.Add(GetEscapedIdentifier("v")); } else if (q.Numeral.OnMany) { pl.Add(GetEscapedIdentifier("l")); } else { throw new InvalidOperationException(); } } pl.AddRange(q.By.Select(c => GetEscapedIdentifier(c)).ToArray()); if (q.Numeral.OnRange) { pl.Add("_Skip_"); pl.Add("_Take_"); } var ParameterList = String.Join(", ", pl.ToArray()); return(ParameterList); }
public DocSqlQuery(IQueryExpression exp) { while (exp != null && !(exp is IQuery)) { exp = exp.End(); } if (exp is IQuery) { Def = ((IQuery)exp).GetDef(); } else { throw new ApplicationException("Не могу создать запрос! Ошибка в выражении запроса"); } }
protected CsmArbitraryQuery(QueryDef query) : this() { TrebuchetQuery = query; }
private static QueryDef GetQuery(QueryDef query, BusinessObjectDef businessObjectDef, string fieldName, CsmQueryOperator op, TypedValue value) { var cherWellOperator = OperatorMap[op]; var fieldDef = businessObjectDef.Fields.GetFieldByDisplayNameOrName(fieldName); QueryConditionClause clause = query.TopLevelGroupingClause.CreateFieldValueClause(fieldDef.Id, cherWellOperator, value); query.TopLevelGroupingClause.Clauses.Add(clause); return query; }
/// <summary> /// CTR /// </summary> public QueryParams() { Query = new QueryDef(); }
public void TestMapping() { var settings = SrmSettingsList.GetDefault(); var document = new SrmDocument(settings); var documentContainer = new MemoryDocumentContainer(); documentContainer.SetDocument(document, null); using (var database = new Database(settings)) { var dataSchema = new SkylineDataSchema(documentContainer, DataSchemaLocalizer.INVARIANT); var sessionFactory = database.SessionFactory; foreach (var classMetaData in sessionFactory.GetAllClassMetadata().Values) { var tableType = classMetaData.GetMappedClass(EntityMode.Poco); foreach (var propertyName in classMetaData.PropertyNames) { if (propertyName == "Protein" && tableType == typeof (DbProteinResult)) { continue; } var queryDef = new QueryDef { Select = new[] {new ReportColumn(tableType, propertyName),} }; var reportSpec = new ReportSpec("test", queryDef); var newTableType = ReportSpecConverter.GetNewTableType(reportSpec); Assert.IsNotNull(newTableType, "No table for type {0}", tableType); var converter = new ReportSpecConverter(dataSchema); var viewInfo = converter.Convert(reportSpec); Assert.IsNotNull(viewInfo, "Unable to convert property {0} in table {1}", propertyName, tableType); Assert.AreEqual(1, viewInfo.DisplayColumns.Count, "No conversion for property {0} in table {1}", propertyName, tableType); Assert.IsNotNull(viewInfo.DisplayColumns[0].ColumnDescriptor, "Column not found for property {0} in table {1}", propertyName, tableType); var report = Report.Load(reportSpec); var resultSet = report.Execute(database); var bindingListSource = new BindingListSource(); bindingListSource.SetViewContext(new SkylineViewContext(viewInfo.ParentColumn, Array.CreateInstance(viewInfo.ParentColumn.PropertyType, 0)), viewInfo); var properties = bindingListSource.GetItemProperties(null); var oldCaptions = resultSet.ColumnInfos.Select(columnInfo => columnInfo.Caption).ToArray(); var newCaptions = properties.Cast<PropertyDescriptor>().Select(pd=>pd.DisplayName).ToArray(); if (oldCaptions.Length != newCaptions.Length) { Console.Out.WriteLine(oldCaptions); } CollectionAssert.AreEqual(oldCaptions, newCaptions, "Caption mismatch on {0} in {1}", propertyName, tableType); for (int i = 0; i < resultSet.ColumnInfos.Count; i++) { var columnInfo = resultSet.ColumnInfos[i]; var formatAttribute = (FormatAttribute)properties[i].Attributes[typeof(FormatAttribute)]; string message = string.Format("Format problem on column converted from {0} in {1}", columnInfo.ReportColumn.Column, columnInfo.ReportColumn.Table); if (null == columnInfo.Format) { Assert.IsTrue(null == formatAttribute || null == formatAttribute.Format, message); } else { Assert.IsNotNull(formatAttribute, message); Assert.AreEqual(columnInfo.Format, formatAttribute.Format, message); } if (columnInfo.IsNumeric) { Assert.IsNotNull(formatAttribute, message); Assert.AreEqual(TextUtil.EXCEL_NA, formatAttribute.NullValue, message); } else { Assert.IsTrue(null == formatAttribute || null == formatAttribute.NullValue, message); } } } } } }
private void StartSearch(QueryDef query) { _logger.Info("\n\n====== START SEARCH " + DateTime.Now + " ======\n\n"); //Por cada red social a la que apunta la query foreach (var searchEngineName in query.SearchEnginesNamesList) { _logger.Info("\n\n====== START SEARCH FOR (" + searchEngineName + ") " + DateTime.Now + " ======\n\n"); var postsResult = _searchEngineManager.Search(query.Query, new List<string> { searchEngineName }, ParamAccess.ISOLocationCountry,ParamAccess.ISOLanguageCode); foreach (var post in postsResult) { if (_serviceManager.ExistPost(post.UrlPost)) continue; _sentimentValuator.ProcessItem(post); post.QueryDef = query; _serviceManager.SavePost(post); } _logger.Info("\n\n===" + postsResult.Count + " POSTs FOUND IN " + searchEngineName + "\n"); } _logger.Info("\n\n====== END QUERY SEARCH " + DateTime.Now + " ======\n\n"); _logger.Info("\n\n====== WAITING FOR ANOTHER TIME ELAPSE ======\n\n"); }
public ActionResult Edit(QueryDef querydef) { if (!UserHelper.GetCurrent().IsAdmin) return View("AccesoDenegdo"); if (ModelState.IsValid) { var entity = _querydefRepository.GetById(querydef.Id); querydef.SearchEnginesNames = "TwitterSearchEngine;FacebookSearchEngine;GooglePlusSearchEngine"; return RedirectToAction("Index"); } else { return View(); } }