/// <summary> /// 输出配置字典 /// </summary> private void frmQuery_Load(object sender, EventArgs e) { if (!GuiConfig.IsMono) { Icon = GetSystemIcon.ConvertImgToIcon(GetResource.GetImage(ImageType.Query)); } var fieldList = new List <DataFilter.QueryFieldItem>(); fieldList = _currentDataViewInfo.MDataFilter.QueryFieldList; //增加第一个条件 ConditionPan.AddCondition(); if (_currentDataViewInfo.IsUseFilter) { //使用过滤:字段和条件的设定 QueryFieldPicker.SetQueryFieldList(fieldList); if (_currentDataViewInfo.MDataFilter.QueryConditionList.Count > 0) { ConditionPan.PutQueryToUi(_currentDataViewInfo.MDataFilter); } } else { //不使用过滤:字段初始化 QueryFieldPicker.InitByCurrentCollection(true); } //多国语言 GuiConfig.Translateform(this); }
/// <summary> /// 输出配置字典 /// </summary> private void frmQuery_Load(object sender, EventArgs e) { this.Icon = GetSystemIcon.ConvertImgToIcon(GetResource.GetImage(ImageType.Query)); List <DataFilter.QueryFieldItem> FieldList = new List <DataFilter.QueryFieldItem>(); FieldList = CurrentDataViewInfo.mDataFilter.QueryFieldList; //增加第一个条件 ConditionPan.AddCondition(); if (CurrentDataViewInfo.IsUseFilter) { //使用过滤:字段和条件的设定 QueryFieldPicker.setQueryFieldList(FieldList); if (CurrentDataViewInfo.mDataFilter.QueryConditionList.Count > 0) { ConditionPan.PutQueryToUI(CurrentDataViewInfo.mDataFilter); } } else { //不使用过滤:字段初始化 QueryFieldPicker.InitByCurrentCollection(true); } if (!SystemManager.IsUseDefaultLanguage) { this.Text = SystemManager.mStringResource.GetText(MagicMongoDBTool.Module.StringResource.TextType.Query_Title); tabFieldInfo.Text = SystemManager.mStringResource.GetText(MagicMongoDBTool.Module.StringResource.TextType.Query_FieldInfo); tabCondition.Text = SystemManager.mStringResource.GetText(MagicMongoDBTool.Module.StringResource.TextType.Query_Filter); tabSql.Text = SystemManager.mStringResource.GetText(MagicMongoDBTool.Module.StringResource.TextType.ConvertSql_Title); cmdAddCondition.Text = SystemManager.mStringResource.GetText(MagicMongoDBTool.Module.StringResource.TextType.Query_Filter_AddCondition); cmdLoad.Text = SystemManager.mStringResource.GetText(MagicMongoDBTool.Module.StringResource.TextType.Query_Action_Load); cmdSave.Text = SystemManager.mStringResource.GetText(MagicMongoDBTool.Module.StringResource.TextType.Common_Save); cmdOK.Text = SystemManager.mStringResource.GetText(MagicMongoDBTool.Module.StringResource.TextType.Common_OK); cmdCancel.Text = SystemManager.mStringResource.GetText(StringResource.TextType.Common_Cancel); } }
/// <summary> /// 设置DataFilter /// </summary> private void SetCurrDataFilter() { //清除以前的结果和内部变量,重要! _currentDataViewInfo.MDataFilter.Clear(); _currentDataViewInfo.MDataFilter.DbName = RuntimeMongoDbContext.GetCurrentDataBase().Name; _currentDataViewInfo.MDataFilter.CollectionName = RuntimeMongoDbContext.GetCurrentCollection().Name; _currentDataViewInfo.MDataFilter.QueryFieldList = QueryFieldPicker.GetQueryFieldList(); ConditionPan.SetCurrDataFilter(_currentDataViewInfo); }
/// <summary> /// 设置DataFilter /// </summary> private void SetCurrDataFilter() { //清除以前的结果和内部变量,重要! CurrentDataViewInfo.mDataFilter.Clear(); CurrentDataViewInfo.mDataFilter.DBName = SystemManager.GetCurrentDataBase().Name; CurrentDataViewInfo.mDataFilter.CollectionName = SystemManager.GetCurrentCollection().Name; CurrentDataViewInfo.mDataFilter.QueryFieldList = QueryFieldPicker.getQueryFieldList(); ConditionPan.SetCurrDataFilter(CurrentDataViewInfo); }
/// <summary> /// 加载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmdLoad_Click(object sender, EventArgs e) { var openFile = new OpenFileDialog { Filter = Utility.XmlFilter }; if (openFile.ShowDialog() != DialogResult.OK) { return; } var newDataFilter = DataFilter.LoadFilter(openFile.FileName); _currentDataViewInfo.MDataFilter = newDataFilter; QueryFieldPicker.SetQueryFieldList(_currentDataViewInfo.MDataFilter.QueryFieldList); }
/// <summary> /// 设置DataFilter /// </summary> private void SetCurrentDataFilter() { //清除以前的结果和内部变量,重要! //FieldList 和 FieldPicker 是引用关系,所以这里Clear掉之后FieldPicker也会被清除掉。GetQueryFieldList就会始终为空! _currentDataViewInfo.MDataFilter.QueryConditionList.Clear(); _currentDataViewInfo.MDataFilter.DbName = RuntimeMongoDbContext.GetCurrentDataBaseName(); _currentDataViewInfo.MDataFilter.CollectionName = RuntimeMongoDbContext.GetCurrentCollectionName(); _currentDataViewInfo.MDataFilter.QueryFieldList = QueryFieldPicker.GetQueryFieldList(); ConditionPan.SetCurrDataFilter(_currentDataViewInfo); if (RuntimeMongoDbContext.CollectionFilter.ContainsKey(RuntimeMongoDbContext.GetCurrentCollectionName())) { RuntimeMongoDbContext.CollectionFilter[RuntimeMongoDbContext.GetCurrentCollectionName()] = _currentDataViewInfo.MDataFilter; } else { RuntimeMongoDbContext.CollectionFilter.Add(RuntimeMongoDbContext.GetCurrentCollectionName(), _currentDataViewInfo.MDataFilter); } }
/// <summary> /// OK /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOK_Click(object sender, EventArgs e) { //Project var project = QueryFieldPicker.GetAggregation(); if (project[0].AsBsonDocument.ElementCount > 0) { Aggregation.Add(project); } //match var match = MatchListPanel.GetMatchDocument(); if (match != null) { Aggregation.Add(match); } //Skip if (chkSkip.Checked && int.Parse(txtSkip.Text) > 0) { Aggregation.Add(new BsonDocument("$skip", int.Parse(txtSkip.Text))); } //Limit if (chkLimit.Checked && int.Parse(txtLimit.Text) > 0) { Aggregation.Add(new BsonDocument("$limit", int.Parse(txtLimit.Text))); } //Group var groupDetail = GroupFieldPicker.GetGroupId(); if (groupDetail.GetElement(0).Value.AsBsonDocument.ElementCount != 0) { foreach (var item in groupPanelCreator.GetGroup()) { groupDetail.Add(item); } var group = new BsonDocument("$group", groupDetail); Aggregation.Add(group); } Close(); }
/// <summary> /// 输出配置字典 /// </summary> private void frmQuery_Load(object sender, EventArgs e) { Icon = GetSystemIcon.ConvertImgToIcon(GetResource.GetImage(ImageType.Query)); var fieldList = new List <DataFilter.QueryFieldItem>(); fieldList = _currentDataViewInfo.MDataFilter.QueryFieldList; //增加第一个条件 ConditionPan.AddCondition(); if (_currentDataViewInfo.IsUseFilter) { //使用过滤:字段和条件的设定 QueryFieldPicker.SetQueryFieldList(fieldList); if (_currentDataViewInfo.MDataFilter.QueryConditionList.Count > 0) { ConditionPan.PutQueryToUi(_currentDataViewInfo.MDataFilter); } } else { //不使用过滤:字段初始化 QueryFieldPicker.InitByCurrentCollection(true); } if (GuiConfig.IsUseDefaultLanguage) { return; } Text = GuiConfig.GetText(TextType.QueryTitle); tabFieldInfo.Text = GuiConfig.GetText(TextType.QueryFieldInfo); tabCondition.Text = GuiConfig.GetText(TextType.QueryFilter); tabSql.Text = GuiConfig.GetText(TextType.ConvertSqlTitle); cmdAddCondition.Text = GuiConfig.GetText(TextType.QueryFilterAddCondition); cmdLoad.Text = GuiConfig.GetText(TextType.QueryActionLoad); cmdSave.Text = GuiConfig.GetText(TextType.CommonSave); cmdOK.Text = GuiConfig.GetText(TextType.CommonOk); cmdCancel.Text = GuiConfig.GetText(TextType.CommonCancel); }
/// <summary> /// 加载窗体 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmAggregationCondition_Load(object sender, EventArgs e) { QueryFieldPicker.InitByCurrentCollection(false); GroupFieldPicker.InitByCurrentCollection(false); }
/// <summary> /// OK /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOK_Click(object sender, EventArgs e) { //Project var project = QueryFieldPicker.GetAggregation(); var supressAggr = project[0]; var projectAggr = project[1]; if (supressAggr[0].AsBsonDocument.ElementCount > 0) { Aggregation.Add(supressAggr); } //TODO:需要优化,全项目的时候,不用输出 if (projectAggr[0].AsBsonDocument.ElementCount > 0) { Aggregation.Add(projectAggr); } //match var match = ConditionPan.GetMatchDocument(); if (match != null) { Aggregation.Add(match); } //Sort var sort = SortPanel.GetSortDocument(); if (sort != null) { Aggregation.Add(sort); } //Group if (chkIdNull.Checked) { var id = new BsonDocument(); id.Add(new BsonElement("_id", BsonNull.Value)); id.AddRange(FieldsElement.Value.AsBsonDocument.Elements); var group = new BsonDocument("$group", id); Aggregation.Add(group); } else { if (!string.IsNullOrEmpty(GroupIdElement.Name)) { var id = new BsonDocument(); id.Add(new BsonElement("_id", GroupIdElement.Value)); id.AddRange(FieldsElement.Value.AsBsonDocument.Elements); var group = new BsonDocument("$group", id); Aggregation.Add(group); } } //Skip if (chkSkip.Checked && int.Parse(txtSkip.Text) > 0) { Aggregation.Add(new BsonDocument("$skip", int.Parse(txtSkip.Text))); } //Limit if (chkLimit.Checked && int.Parse(txtLimit.Text) > 0) { Aggregation.Add(new BsonDocument("$limit", int.Parse(txtLimit.Text))); } //IndexStats if (chkIndexStats.Checked) { Aggregation.Add(new BsonDocument("$indexStats", new BsonDocument())); } //sortByCount if (chkSortByCount.Checked) { Aggregation.Add(new BsonDocument("$sortByCount", cmbSortByCount.Text)); } //Sample if (chkSample.Checked) { var size = new BsonDocument("size", (int.Parse(txtSample.Text))); Aggregation.Add(new BsonDocument("$sample", size)); } //unwind if (chkUnwind.Checked) { if (!chkPreserveNullAndEmptyArrays.Checked && string.IsNullOrEmpty(txtincludeArrayIndex.Text)) { Aggregation.Add(new BsonDocument("$unwind", cmbUnwind.Text)); } else { var UnwindDoc = new BsonDocument(); var field = new BsonElement("path", cmbUnwind.Text); UnwindDoc.Add(field); if (chkPreserveNullAndEmptyArrays.Checked) { var preserveNullAndEmptyArrays = new BsonElement("preserveNullAndEmptyArrays", BsonBoolean.True); UnwindDoc.Add(preserveNullAndEmptyArrays); } if (!string.IsNullOrEmpty(txtincludeArrayIndex.Text)) { var includeArrayIndex = new BsonElement("includeArrayIndex", txtincludeArrayIndex.Text); UnwindDoc.Add(includeArrayIndex); } Aggregation.Add(new BsonDocument("$unwind", UnwindDoc)); } } Close(); }
/// <summary> /// 加载窗体 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmAggregationCondition_Load(object sender, EventArgs e) { QueryFieldPicker.InitByCurrentCollection(true); GuiConfig.Translateform(this); }
/// <summary> /// OK /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOK_Click(object sender, EventArgs e) { //Project var project = QueryFieldPicker.GetAggregation(); if (project[0].AsBsonDocument.ElementCount > 0) { Aggregation.Add(project); } //match var match = MatchListPanel.GetMatchDocument(); if (match != null) { Aggregation.Add(match); } //Group var groupDetail = GroupFieldPicker.GetGroupId(); if (groupDetail.GetElement(0).Value.AsBsonDocument.ElementCount != 0) { foreach (var item in groupPanelCreator.GetGroup()) { groupDetail.Add(item); } var group = new BsonDocument("$group", groupDetail); Aggregation.Add(group); } //Skip if (chkSkip.Checked && int.Parse(txtSkip.Text) > 0) { Aggregation.Add(new BsonDocument("$skip", int.Parse(txtSkip.Text))); } //Limit if (chkLimit.Checked && int.Parse(txtLimit.Text) > 0) { Aggregation.Add(new BsonDocument("$limit", int.Parse(txtLimit.Text))); } //IndexStats if (chkIndexStats.Checked) { Aggregation.Add(new BsonDocument("$indexStats", new BsonDocument())); } //sortByCount if (chkSortByCount.Checked) { Aggregation.Add(new BsonDocument("$sortByCount", cmbSortByCount.Text)); } //Sample if (chkSample.Checked) { var size = new BsonDocument("size", (int.Parse(txtSample.Text))); Aggregation.Add(new BsonDocument("$sample", size)); } //unwind if (chkUnwind.Checked) { if (!chkPreserveNullAndEmptyArrays.Checked && string.IsNullOrEmpty(txtincludeArrayIndex.Text)) { Aggregation.Add(new BsonDocument("$unwind", cmbUnwind.Text)); } else { var UnwindDoc = new BsonDocument(); var field = new BsonElement("path", cmbUnwind.Text); UnwindDoc.Add(field); if (chkPreserveNullAndEmptyArrays.Checked) { var preserveNullAndEmptyArrays = new BsonElement("preserveNullAndEmptyArrays", BsonBoolean.True); UnwindDoc.Add(preserveNullAndEmptyArrays); } if (!string.IsNullOrEmpty(txtincludeArrayIndex.Text)) { var includeArrayIndex = new BsonElement("includeArrayIndex", txtincludeArrayIndex.Text); UnwindDoc.Add(includeArrayIndex); } Aggregation.Add(new BsonDocument("$unwind", UnwindDoc)); } } Close(); }