PageRenderTime 45ms CodeModel.GetById 13ms RepoModel.GetById 1ms app.codeStats 0ms

/GrinGlobal.Admin/ChildForms/frmTableMappings.cs

https://gitlab.com/GRIN-Global/GRIN-Global-server
C# | 220 lines | 163 code | 44 blank | 13 comment | 22 complexity | 6492c5abfc881fa100a337f0ecca1071 MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using GrinGlobal.Core;
  9. using GrinGlobal.Admin.PopupForms;
  10. using GrinGlobal.InstallHelper;
  11. namespace GrinGlobal.Admin.ChildForms {
  12. public partial class frmTableMappings : GrinGlobal.Admin.ChildForms.frmBase {
  13. public frmTableMappings() {
  14. InitializeComponent(); tellBaseComponents(components);
  15. }
  16. public override void RefreshData() {
  17. //lvMappings.MultiSelect = !Modal;
  18. this.Text = "Table Mappings - " + this.AdminProxy.Connection.ServerName + (Toolkit.IsProcessElevated() ? " - Administrator " : "");
  19. var tags = rememberSelectedTags(lvMappings);
  20. // this form has multiple uses, as does the underlying ListTableMappings method.
  21. // it can:
  22. // List all TableMappings (0,[0])
  23. // List permission info for a single permission (37,[0])
  24. // List TableMappings that are NOT in a list (0, [2,3,4,5,6])
  25. var ds = AdminProxy.ListTables(-1);
  26. var dt = ds.Tables["list_tables"];
  27. initHooksForMdiParent(dt, "table_name", "sys_table_id");
  28. lvMappings.Items.Clear();
  29. foreach (DataRow dr in DataTable.Rows) {
  30. var lvi = new ListViewItem(dr["table_name"].ToString(), 0);
  31. lvi.SubItems.Add(dr["is_enabled"].ToString());
  32. lvi.SubItems.Add(dr["database_area_code"].ToString());
  33. var lastTouched = dr["modified_date"] == DBNull.Value ? dr["created_date"] : dr["modified_date"];
  34. lvi.SubItems.Add(((DateTime)lastTouched).ToString());
  35. lvi.UseItemStyleForSubItems = false;
  36. lvi.Tag = dr["sys_table_id"].ToString();
  37. lvMappings.Items.Add(lvi);
  38. }
  39. selectRememberedTags(lvMappings, tags);
  40. MainFormUpdateStatus(getDisplayMember("RefreshData{done}", "Refreshed Table Mappings"), false);
  41. }
  42. private void showProperties() {
  43. if (lvMappings.SelectedItems.Count == 1) {
  44. MainFormSelectChildTreeNode(lvMappings.SelectedItems[0].Tag.ToString());
  45. }
  46. }
  47. private void defaultPermissionMenuItem_Click(object sender, EventArgs e) {
  48. showProperties();
  49. }
  50. private void refreshPermissionMenuItem_Click(object sender, EventArgs e) {
  51. RefreshData();
  52. }
  53. private void deletePermissionMenuItem_Click(object sender, EventArgs e) {
  54. promptToDelete();
  55. }
  56. private void promptToDelete() {
  57. if (lvMappings.SelectedItems.Count > 0) {
  58. var total = 0;
  59. var fmb = new frmMessageBox();
  60. fmb.btnYes.Text = "&Delete";
  61. fmb.btnNo.Text = "&Cancel";
  62. fmb.Text = "Delete Table Mapping(s)?";
  63. var sb = new StringBuilder();
  64. sb.AppendLine("Are you sure you want to delete table mappings for the following tables?\r\n");
  65. foreach (ListViewItem lvi in lvMappings.SelectedItems) {
  66. sb.AppendLine(" " + lvi.Text);
  67. }
  68. fmb.txtMessage.Text = sb.ToString();
  69. if (DialogResult.Yes == fmb.ShowDialog(this)){
  70. //if (DialogResult.Yes == MessageBox.Show(this, "Are you sure you want to delete table mapping(s)?", "Delete Table Mapping(s)?", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) {
  71. foreach (ListViewItem lvi in lvMappings.SelectedItems) {
  72. try {
  73. AdminProxy.DeleteTableMapping(Toolkit.ToInt32(lvi.Tag, -1), false);
  74. total++;
  75. } catch (Exception ex) {
  76. if (ex.Message.Contains("delete the table mapping")) {
  77. fmb.btnYes.Text = "Continue &Deleting";
  78. fmb.Text = "Remove References and Continue Delete?";
  79. fmb.txtMessage.Text = ex.Message + "\r\n\r\nDo you want to remove the reference(s) and continue deleting " + lvi.Text + "?";
  80. if (DialogResult.Yes == fmb.ShowDialog(this)) {
  81. //if (DialogResult.Yes == MessageBox.Show(this, ex.Message + "\r\n\r\nDo you want to remove the reference(s) and continue deleting " + lvi.Text + "?", "Remove References and Continue Delete?", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) {
  82. AdminProxy.DeleteTableMapping(Toolkit.ToInt32(lvi.Tag, -1), true);
  83. total++;
  84. } else {
  85. // nothing to do
  86. }
  87. } else {
  88. throw;
  89. }
  90. }
  91. }
  92. MainFormUpdateStatus(getDisplayMember("promptToDelete{done}", "Deleted {0} table mapping(s)", total.ToString("###,##0")), true);
  93. RefreshData();
  94. }
  95. }
  96. }
  97. private void disablePermissionMenuItem_Click(object sender, EventArgs e) {
  98. if (lvMappings.SelectedItems.Count > 0) {
  99. // if (DialogResult.Yes == MessageBox.Show(this, "Are you sure you want to disable permission(s)?", "Disable Permission(s)?", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) {
  100. foreach (ListViewItem lvi in lvMappings.SelectedItems) {
  101. AdminProxy.DisableTableMapping(Toolkit.ToInt32(lvi.Tag, -1));
  102. }
  103. MainFormUpdateStatus(getDisplayMember("disableMapping{done}", "Disabled {0} table mapping(s)", lvMappings.SelectedItems.Count.ToString("###,##0")), true);
  104. RefreshData();
  105. // }
  106. }
  107. }
  108. private void toolStripMenuItem1_Click(object sender, EventArgs e) {
  109. if (lvMappings.SelectedItems.Count > 0) {
  110. // if (DialogResult.Yes == MessageBox.Show(this, "Are you sure you want to enable permission(s)?", "Enable Permission(s)?", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) {
  111. foreach (ListViewItem lvi in lvMappings.SelectedItems) {
  112. AdminProxy.EnableTableMapping(Toolkit.ToInt32(lvi.Tag, -1));
  113. }
  114. MainFormUpdateStatus(getDisplayMember("enable{done}", "Enabled {0} table mapping(s)", lvMappings.SelectedItems.Count.ToString("###,##0")), true);
  115. RefreshData();
  116. // }
  117. }
  118. }
  119. private void ctxMenuNodePermission_Opening(object sender, CancelEventArgs e) {
  120. cmiDelete.Enabled = lvMappings.SelectedItems.Count > 0;
  121. cmiProperties.Enabled = lvMappings.SelectedItems.Count == 1;
  122. cmiRebuild.Enabled = lvMappings.SelectedItems.Count > 0;
  123. int toEnable = 0;
  124. int toDisable = 0;
  125. foreach (ListViewItem lvi in lvMappings.SelectedItems) {
  126. if (lvi.SubItems[1].Text == "Y") {
  127. toDisable++;
  128. } else {
  129. toEnable++;
  130. }
  131. }
  132. cmiEnable.Visible = toEnable > 0;
  133. cmiDisable.Visible = toDisable > 0;
  134. }
  135. private void lvMappings_SelectedIndexChanged(object sender, EventArgs e) {
  136. }
  137. private void btnCancel_Click(object sender, EventArgs e) {
  138. this.Close();
  139. }
  140. private void lvMappings_KeyUp(object sender, KeyEventArgs e) {
  141. if (e.KeyCode == Keys.Delete) {
  142. promptToDelete();
  143. }
  144. }
  145. private void newPermissionMenuItem_Click(object sender, EventArgs e) {
  146. MainFormPopupNewItemForm(new frmTableMapping());
  147. }
  148. private void toolStripMenuItem1_Click_1(object sender, EventArgs e) {
  149. MainFormPopupNewItemForm(new frmTableMappingInspectSchema());
  150. }
  151. private void lvMappings_MouseDoubleClick(object sender, MouseEventArgs e) {
  152. showProperties();
  153. }
  154. private void lvMappings_SelectedIndexChanged_1(object sender, EventArgs e) {
  155. }
  156. private void frmTableMappings_Load(object sender, EventArgs e) {
  157. MakeListViewSortable(lvMappings);
  158. }
  159. private void cmiRebuild_Click(object sender, EventArgs e) {
  160. var f = new frmTableMappingInspectSchema();
  161. foreach (ListViewItem lvi in lvMappings.SelectedItems) {
  162. f.TableNames.Add(lvi.Text);
  163. }
  164. if (f.TableNames.Count > 0) {
  165. if (DialogResult.OK == MainFormPopupForm(f, this, false)) {
  166. }
  167. }
  168. }
  169. private void cmiTableExportList_Click(object sender, EventArgs e) {
  170. ExportListView(lvMappings);
  171. }
  172. private static string getDisplayMember(string resourceName, string defaultValue, params string[] substitutes) {
  173. return ResourceHelper.GetDisplayMember(null, "AdminTool", "frmTableMappings", resourceName, null, defaultValue, substitutes);
  174. }
  175. }
  176. }