public void RunLink(String strTableName, ViewMode mode, bool isShowDialog, Guid iMainID, ABCScreenAction action) { STViewsInfo viewResult = null; STViewsController viewCtrl = new STViewsController(); String strViewNo = VoucherProvider.GetViewNo(strTableName, iMainID); if (!String.IsNullOrWhiteSpace(strViewNo)) { viewResult = viewCtrl.GetObjectByNo(strViewNo) as STViewsInfo; } if (viewResult == null) { #region Without Voucher BusinessObjectController controller = BusinessControllerFactory.GetBusinessController(strTableName); if (controller == null) { return; } BusinessObject obj = controller.GetObjectByID(iMainID); if (obj == null) { return; } List <BusinessObject> lstViews = viewCtrl.GetListFromDataset(viewCtrl.GetDataSet(String.Format("SELECT * FROM STViews WHERE [MainTableName] = '{0}' ", strTableName))); foreach (STViewsInfo viewIfo in lstViews) { if (String.IsNullOrWhiteSpace(viewIfo.MainFieldName) == false && DataStructureProvider.IsTableColumn(strTableName, viewIfo.MainFieldName)) { object objValue = ABCBusinessEntities.ABCDynamicInvoker.GetValue(obj, viewIfo.MainFieldName); if (objValue != null && objValue.ToString().ToUpper().Trim() == viewIfo.MainValue.ToUpper()) { viewResult = viewIfo; break; } } } if (viewResult == null && lstViews.Count > 0) { viewResult = lstViews[0] as STViewsInfo; } #endregion } if (viewResult != null) { ABCScreenManager.Instance.RunLink(viewResult, mode, isShowDialog, iMainID, action); } }
void OnFinishClick(object sender, CancelEventArgs e) { if (chkToXML.Checked) { #region XML FileInfo fileInfo = null; try { fileInfo = new FileInfo(btnXMLFile.Text); } catch (Exception ex) { } XmlDocument doc = ABCControls.ABCView.GetEmptyXMLLayout(fileInfo.Name); doc.Save(btnXMLFile.Text); OwnerStudio.Worker.OpenFromXMLFile(btnXMLFile.Text); #endregion } if (chkToDatabase.Checked) { #region Database STViewGroupsController groupCtrl = new STViewGroupsController(); STViewGroupsInfo groupInfo = (STViewGroupsInfo)groupCtrl.GetObjectByNo(lkeGroup.Text); if (groupInfo == null) { groupInfo = new STViewGroupsInfo(); groupInfo.No = lkeGroup.Text; groupInfo.Name = lkeGroup.Text; groupCtrl.CreateObject(groupInfo); } STViewsController viewCtrl = new STViewsController(); STViewsInfo viewInfo = (STViewsInfo)viewCtrl.GetObjectByNo(txtViewName.Text); if (viewInfo == null) { viewInfo = new STViewsInfo(); viewInfo.STViewNo = txtViewName.Text; viewInfo.STViewName = txtViewName.Text; viewInfo.FK_STViewGroupID = groupInfo.STViewGroupID; String strXML = ABCControls.ABCView.GetEmptyXMLLayout(txtViewName.Text).InnerXml; viewInfo.STViewXML = ABCHelper.StringCompressor.CompressString(strXML); viewCtrl.CreateObject(viewInfo); } OwnerStudio.Worker.OpenFromDatabase(viewInfo); OwnerStudio.ViewTreeList.RefreshViewList(); #endregion } this.Close(); }
void Menu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { MyData obj = (MyData)this.GetDataRecordByNode(this.FocusedNode); STViewGroupsController groupCtrl = new STViewGroupsController(); STViewsController viewCtrl = new STViewsController(); if (e.Item.Tag != null && e.Item.Tag.ToString() == "Refresh") { RefreshViewList(); } if (e.Item.Tag != null && e.Item.Tag.ToString() == "NewView" && this.Selection.Count > 0) { if (obj == null || obj.InnerData == null) { return; } STViewGroupsInfo groupInfo = (STViewGroupsInfo)obj.InnerData; if (groupInfo != null) { #region Create ViewInfo STViewsInfo viewInfo = new STViewsInfo(); viewInfo.FK_STViewGroupID = groupInfo.STViewGroupID; viewInfo.STViewNo = "View"; int i = 0; while (viewCtrl.GetObjectByNo(viewInfo.STViewNo) != null) { viewInfo.STViewNo += i; } viewInfo.STViewName = viewInfo.STViewNo; String strXML = ABCControls.ABCView.GetEmptyXMLLayout(viewInfo.STViewName).InnerXml; viewInfo.STViewXML = ABCHelper.StringCompressor.CompressString(strXML); viewCtrl.CreateObject(viewInfo); #endregion new MyData(obj, new object[] { viewInfo.STViewNo, viewInfo.STViewID }, viewInfo); this.RefreshDataSource(); } } if (e.Item.Tag != null && e.Item.Tag.ToString() == "NewGroup" && this.Selection.Count > 0) { #region Create GroupInfo STViewGroupsInfo groupInfo = new STViewGroupsInfo(); groupInfo.No = "Group"; int i = 0; while (groupCtrl.GetObjectByNo(groupInfo.No) != null) { groupInfo.No += i; } groupInfo.Name = groupInfo.No; groupCtrl.CreateObject(groupInfo); #endregion new MyData(this.DataSource as MyData, new object[] { groupInfo.No, groupInfo.STViewGroupID }, groupInfo); this.RefreshDataSource(); } if (e.Item.Tag != null && e.Item.Tag.ToString() == "NewChildGroup" && this.Selection.Count > 0) { if (obj == null || obj.InnerData == null) { return; } STViewGroupsInfo groupInfo = (STViewGroupsInfo)obj.InnerData; if (groupInfo != null) { #region Create GroupInfo STViewGroupsInfo newGroupInfo = new STViewGroupsInfo(); newGroupInfo.No = "Group"; int i = 0; while (groupCtrl.GetObjectByNo(newGroupInfo.No) != null) { newGroupInfo.No += i; } newGroupInfo.Name = newGroupInfo.No; newGroupInfo.FK_STViewGroupID = groupInfo.STViewGroupID; groupCtrl.CreateObject(newGroupInfo); #endregion new MyData(obj, new object[] { newGroupInfo.No, newGroupInfo.STViewGroupID }, newGroupInfo); this.RefreshDataSource(); } } if (e.Item.Tag != null && e.Item.Tag.ToString() == "NewRootGroup") { #region Create GroupInfo STViewGroupsInfo newGroupInfo = new STViewGroupsInfo(); newGroupInfo.No = "Group"; int i = 0; while (groupCtrl.GetObjectByNo(newGroupInfo.No) != null) { newGroupInfo.No += i; } newGroupInfo.Name = newGroupInfo.No; groupCtrl.CreateObject(newGroupInfo); #endregion new MyData(this.DataSource as MyData, new object[] { newGroupInfo.No, newGroupInfo.STViewGroupID }, newGroupInfo); this.RefreshDataSource(); } if (e.Item.Tag != null && (e.Item.Tag.ToString() == "RenameView" || e.Item.Tag.ToString() == "RenameGroup") && this.Selection.Count > 0) { this.OptionsBehavior.Editable = true; this.ShowEditor(); } if (e.Item.Tag != null && e.Item.Tag.ToString() == "OpenView") { if (obj == null || obj.InnerData == null) { return; } STViewsInfo info = (STViewsInfo) new STViewsController().GetObjectByID(((STViewsInfo)obj.InnerData).GetID()); if (info == null) { return; } OwnerStudio.Worker.OpenFromDatabase(info); } if (e.Item.Tag != null && e.Item.Tag.ToString() == "RunView") { if (obj == null || obj.InnerData == null) { return; } STViewsInfo info = (STViewsInfo) new STViewsController().GetObjectByID(((STViewsInfo)obj.InnerData).GetID()); if (info == null) { return; } ABCScreen.ABCScreenFactory.RunScreen(info, ViewMode.Test); } if (e.Item.Tag != null && e.Item.Tag.ToString() == "DeleteView") { if (obj == null || obj.InnerData == null) { return; } DialogResult result = ABCHelper.ABCMessageBox.Show("Do you want to delete selected View ? ", "Delete View", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { STViewsInfo info = (STViewsInfo)obj.InnerData; viewCtrl.DeleteObject(info.STViewID); obj.parentCore.childrenCore.Remove(obj); obj.parentCore = null; this.RefreshDataSource(); } } if (e.Item.Tag != null && e.Item.Tag.ToString() == "DeleteGroup") { if (obj == null || obj.InnerData == null) { return; } DialogResult result = ABCHelper.ABCMessageBox.Show("Do you want to delete selected Group and all children View ? ", "Delete Group", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { STViewGroupsInfo info = (STViewGroupsInfo)obj.InnerData; viewCtrl.DeleteObjectsByFK("FK_STViewGroupID", info.STViewGroupID); groupCtrl.DeleteObject(info.STViewGroupID); obj.parentCore.childrenCore.Remove(obj); obj.parentCore = null; this.RefreshDataSource(); } } if (e.Item.Tag != null && e.Item.Tag.ToString() == "Import" && this.Selection.Count > 0) { if (obj == null || obj.InnerData == null) { return; } STViewsInfo info = (STViewsInfo) new STViewsController().GetObjectByID(((STViewsInfo)obj.InnerData).GetID()); if (info == null) { return; } OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "xml files (*.xml)|*.xml|All files (*.*)|*.*"; dlg.FilterIndex = 0; dlg.RestoreDirectory = true; dlg.Title = "Import Layout from XML file"; if (dlg.ShowDialog() == DialogResult.OK) { XmlDocument doc = new XmlDocument(); doc.Load(dlg.FileName); info.STViewXML = ABCHelper.StringCompressor.CompressString(doc.InnerXml); new STViewsController().UpdateObject(info); ABCHelper.ABCMessageBox.Show("Saved ...!", "Import From XML", MessageBoxButtons.OK, MessageBoxIcon.Information); } } if (e.Item.Tag != null && e.Item.Tag.ToString() == "Export" && this.Selection.Count > 0) { if (obj == null || obj.InnerData == null) { return; } STViewsInfo info = (STViewsInfo) new STViewsController().GetObjectByID(((STViewsInfo)obj.InnerData).GetID()); if (info == null) { return; } SaveFileDialog dlg = new SaveFileDialog(); dlg.Filter = "xml files (*.xml)|*.xml|All files (*.*)|*.*"; dlg.FilterIndex = 0; dlg.RestoreDirectory = true; dlg.Title = "Export Layout to XML file"; if (dlg.ShowDialog() == DialogResult.OK && !String.IsNullOrWhiteSpace(dlg.FileName)) { XmlDocument doc = new XmlDocument(); string strDecompress = ABCHelper.StringCompressor.DecompressString(info.STViewXML); doc.LoadXml(strDecompress); doc.Save(dlg.FileName); ABCHelper.ABCMessageBox.Show("Export ...!", "Export To XML", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }