From 3ea4307716f8c9e1df5b0ef6fd6a255dd514f001 Mon Sep 17 00:00:00 2001 From: mschill Date: Tue, 26 Aug 2025 06:57:57 -0400 Subject: [PATCH] C2025-051 Add a "General Tools" option to the V->Proms Menu. --- .../Properties/Resources.Designer.cs | 10 + .../Properties/Resources.resx | 1562 ++++++++--------- .../Resources/toolbox.png | Bin 0 -> 3353 bytes .../VEPROMS User Interface/VEPROMS_UI.csproj | 10 + .../frmBatchRefresh.Designer.cs | 256 +-- .../VEPROMS User Interface/frmBatchRefresh.cs | 333 +--- .../frmBatchRefresh.resx | 315 ++-- PROMS/VEPROMS User Interface/frmGenTools.cs | 436 +++++ .../frmGenTools.designer.cs | 853 +++++++++ PROMS/VEPROMS User Interface/frmGenTools.resx | 192 ++ PROMS/VEPROMS User Interface/frmVEPROMS.cs | 19 + 11 files changed, 2440 insertions(+), 1546 deletions(-) create mode 100644 PROMS/VEPROMS User Interface/Resources/toolbox.png create mode 100644 PROMS/VEPROMS User Interface/frmGenTools.cs create mode 100644 PROMS/VEPROMS User Interface/frmGenTools.designer.cs create mode 100644 PROMS/VEPROMS User Interface/frmGenTools.resx diff --git a/PROMS/VEPROMS User Interface/Properties/Resources.Designer.cs b/PROMS/VEPROMS User Interface/Properties/Resources.Designer.cs index 4b979a37..527927c9 100644 --- a/PROMS/VEPROMS User Interface/Properties/Resources.Designer.cs +++ b/PROMS/VEPROMS User Interface/Properties/Resources.Designer.cs @@ -250,6 +250,16 @@ namespace VEPROMS.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap toolbox { + get { + object obj = ResourceManager.GetObject("toolbox", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/PROMS/VEPROMS User Interface/Properties/Resources.resx b/PROMS/VEPROMS User Interface/Properties/Resources.resx index 79126e6a..403a8ef4 100644 --- a/PROMS/VEPROMS User Interface/Properties/Resources.resx +++ b/PROMS/VEPROMS User Interface/Properties/Resources.resx @@ -112,403 +112,399 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + - 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 + SUVORK5CYII= - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEgAA - CxIB0t1+/AAAAhxJREFUOE+lkutLk2EYxutP6Wt/QYZDp/M03cHDZofZ1DUFXZZuAw9g5dIOloKuyKzc - LM1lZQyzk5aKIaFghxGV5ZeKoD40orLyw689j7aX6aygB64vD+/1u+7ree+NwIb/OgKwWn0XX+P3v+RM - 13O8nSGOtz7C0zRLQ/00TucUjopxdlmGIrZIeDyAMN8bg86O7+Kj6Pm6uMThY89wuXopNAfWAv6U7HY/ - oHrvJHZbEJc7iNk0sBawXvK3xZ+c61mgpsaH0XAeR9UkebkXFMDfOlc57lNiHcZaPCABJfY7GPRnFcB6 - yZ+//KDY9hC1ej+mggH27JtCr+vGbAmizfIqgO7Ia9++tURL88fogwnzwrswxp0TWIr6yTX2UFo2Srb2 - FLr8QdLTWhWAtyNEMLiIy/lCAqT5bZiZ0HsSDDdkZ5FcWDRMZkY7mux+UtQeBSD+8+XBME73EzmycccE - WyLGTakBNmdekZ1Fsr7gKprUI6g0PlSJ9QrgkGcWf+8HTne94UT7PE3NIWobZnBUT1FaPio7LydfQp18 - kK0JLqnoIokNE+a29lck64qjSs/fjZDovJzsjyb/XkC5iWI921aSBcBiq6Dv2gjTc4/JNJXLzurkAzHJ - MYDKynE8LU/Jsd4lMSOP2sYW5kLzDI3cRJWStdK5To68WvKizD5m377t+qeIMJkCGI0+crQnSdMcJSmp - MW5yzATxyP969wsj3Z5bZZr4EQAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAsSAAALEgHS3X78AAACDUlE + QVQ4T6WR609ScQCG/Vf62l+QTSYo3lAuXkAtDJTQTclSYDPdrCTpYsmm1CIrwdIgKx1Tu2mpw7mmm11Y + syy/VGurD7FWUfnhaedonDHCL57tPR/Ozvs8v/ecDCBjJ0l5IGT4xjsCgTdc9q3i7Y9yrucZrq5lOtoX + sdsj2BpnOWAcIy1AKD+egf6+X8JLietHfINTZ1/hcAxRaQilArYzO50LtByex2oJ43CGMeiDqYB05p/x + P1wdXKe11Y9Oew1b8zxlpdclwHZmYXOz7Qm1pglM5qAIqLU+RKu5IgHSmb99/43Z8hSF4hj6iiCHjkTQ + qAcwGMOoirwSYMC3yoP7G7i7vySV1z/G0O2fw1gzQqlukLr6aYpVF1GXj5Kf1yMBvH1RwuE4Dvtrqfwh + xlL0E5naSXGzYK6smaCwwIOyeIQchUsCCJtvjcawO1+IR9btm2OPdpJduSF2F94WNwtmTcUdlLmnkSn9 + yLLaJcBJ1zKBoc9c8r3nvGeNru4obR1L2Foi1DVMi5s3zTdRyE+wN9MhJgEQvrZQ7vW8Ra42J5JfflCM + sHnTHEiY/0W8Cb+qd8ssFI2WRobvTrG48pxCfYO4WSE/nmROAjQ1zeJyv6TE9IisgjLaOt2sRNcYm7qH + LKdoa/PRpGISoN46Y62uGv9aXTWOXh9Cp/NTorpAnvIM2dmd/zUnAXaSv09Hyy0dwKNkAAAAAElFTkSu + QmCC - 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 - fvLwiCIAAAAASUVORK5CYII= + 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 - m/1l/3r2Ey4iunsWz150AAAAAElFTkSuQmCC + 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 + B9/khTZ5N2qnAAAAAElFTkSuQmCC - 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 - Gb8AAAAASUVORK5CYII= + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJ0AAASdAHeZh94AAAMJklE + QVRYR42WeVTUV5qGmX+mz3RPJzPHuIYgW1UBtRe1/GqvoqDY1LgEiYosIiqosRUQAUVAQTG4xMSNJCox + 2h01djTRRk3ciHvUpIm7UVGjMcZoXK645ZlT1T1Kn56ZM79z3rpV59Sp9/ne76t7bwgQMnBw5s2+GYNF + dmGhGDB8uPAPGCj8ffqIzMEZYv6cWaJ8fJGYVDRaTBhbJCaNKxSTisaI0qIiUTlhgphRVirenjNbrFy2 + WGxYt0Zs27ZJ7Nm+Wez5y2ciL2uosNokMTgrS0i+RGFwuYTaIgl/v1fFztYvKwPeIYGXnBH5Hc4kP0a3 + B53DwcsyOT3CwrA7bKxoWsLE0fkUF41iQtFoiscWUjK2iIoJE6gpLWVuzXTebpjNoPQUUv0e0lJTeOvN + evZ93kLO0Nfp1q0rRpsVk8eL2efD4k1AFW8kOb0PzwBy80cKvWRF73BiS/YTrdURGhmJ2+3ig/ebGJub + xeQ3iv4OMIbJ44qoKp5IXcUUFjU0sPrdJl7u+p/06N6Fbj26MKFwJJ+s/oCBfdNQKORILlcQwOLzYXA4 + cfmT6dKtu3gGMKJglAiTK5DrDUi+RCLVGsKio3G5nLy7+G3Gjchm8vhCSsYXMmXCeKpKJzFn+jTeaZjF + qiVL2LJhPRGhPdHplMgUUeQOG8z65uX0T0+hV6+eGG22YLqxJhNGtxuT00WcSv0coKCwSEQr1ejsDuzJ + yYTFxtFbJnsGMGnMSEqKCqicOI7qySXMrqqkaV4j61YuZ9ufN7Bx3Z8Ie7kHWr2KiOgIcoYMZknjbDx2 + iaioSHRmM3EmM0qLBaVZwpGYxCvhEc8B8gpGiUAstqQkrElJRKm1QYCEBC9NixZSNr6QmtI/MHtaGfNm + TGdxQx0fL3+P7R+vZ+Mf1/DuO2/TvetLqLUqwqIiGTzwVWZNnYLbaqZ3eBgGSXoGoLZI6CQrEdGy/wnA + j5SYGJyBcLk8OAPLly2muqyYudWVLG6opXnRfDatWsn29WvZ9OEqmhbMZ1ZNNeGvhKLRaYOtG9S/LzOm + lOCUTISH98bscKCz2Ykzm9Ha7BgdTqJjYp8D5OSPDALYk/zBQYnSaIMA3gQPf/xgBQvqa1n6Zh1rli2g + Ze0qvtiwNgjx/vx51FVWUF48iW5duxKjVBKlVNG/bzozy58DmOx2tNa/AQTabHa5kcfGPQcYnjdCBPpi + TUwk3u0ODmGEQoHP52Xj+o9YsWgha5a9TctHK9nz6Xo+W72C5Qsaaayqorq0hJIJE+jWrTvhMjnhsSrS + U5KZPW0Kbpsl2IJ4qxWl2fIsgcAQyjonMGR4jrB6fVgSfGgddhT6eCJkclxOBztbNrP9k/Xs27qJI198 + yp6NH7Fh+RLen9tA47RKqiZNpHj8eNJS0/ClpmJNTCJ72FDmz6jC67ASFhZKvM2GSrISF5gByYrOaiNS + rugEkDVcOHw+rD4vKslMnMVETLwOlUFHdu5w+qSn8NrA/mQOGkDftBT8CV48TieSyYLZaMIUWK12TDYH + 8TYHktWK3WwkIrw3sXGxxAei7ySD2UxEdHTnBLKEzevGlujF5HViTnSjtBrROazIdWpekUUSHhNDuFxJ + RIySyFgVUXHqoOQqbVCKwKrUoFBpiFGpUMTFojMYMEsW7E47klXCZDZhtpgxWcxEyToBDMvJFmaHHSnB + hTs9GU+fFBJfTcfuT8Ca4MbstGF1u7AEqna5grJ63Ng8Hpw+X1COhITgZ5vHjSfRh8PpwOaw43S7MBjj + kWxWLFYpqADUPwDkjhoprB4XRpcdKdETlDXRQ29FNHEGHfK4GOSxsUQpYomOjQtK9nfJ45TPJAusShVR + chlqjRqZQk5kdFSw8gBMoPKA+T8lkDeqQNh8boxOG/FuO570ZNIH9icvP4+CwjGMLhxD4dixjCoaS0Fh + IfmjR5NXUEBOfj5Zublk5eQyNDuHIcOHk5mVxZCsLAa9Nojs3ByGZg3D7nTgcDnRxxuINxmDioyOeg6Q + lZcrJLcTk9uO1mbG6nPT3t4eOK3+389jfuXB40fcfSC4cfMnfrl7hzPnznL67Bk+2bQxaK5Uq9AZ9MH3 + EVGRnfaB/BHC4nagt1uINelx+H3BH3305AlHjxzhvWVNNDc3s6K5mfdWLKfpvXdZsmwpi5YsYeGid1iw + cCFz589jTuObzJ7TwMz6OqqmT2fV6g/Zd2A/Xx09gtFsQqvXBQEC+geArBG5wuS0o7dZUBr1OJMSnlW2 + Z9duZtfOoKG+nvpZddTVzWTGzFpqamuoqammcmoFFZXlTCkvo6yslNLSEiYVT2Tc+PEsbVoWBAgoEPt/ + m/8TwLC8HGF02J4B2FzOoHnHgwfPQJ4/v/L48UOEuMe9u79w585tbt26yfXr17h8uZ2LF7/j3LmztB3/ + Nlj5jl072bl7VxDgf03g9RE5wuCQ0EqmIIDL6wlaPezo4GnHIx7fvsfDu/eCZrdv/8xPP/0YNLx69QqX + LwVMz3Pu3BlOnTrBiRNtHPvmGPsPHuDLfXtp2bY1CPF/AmTmZYtA9VrJiNKowe3/WwuePP2VD95dSbov + mX6pqaSl+0lNSyI5xYc/2UeS30dikocEnwdvghuPxxWU0+3EZrczpaKcPXtbad3bikavQWfQojMEIHRE + RHX6F7w+fJjQWoxoJRtKvQevuz88BXHrR56Kq9z64TS3bl7myg9XuPx9Oxcvnefs+TOcPneKk6dP8O3J + Nr7+6zEOHz3E/kP7OXBgL7t3fM7uXTtoadnK5s3bMMY70Gis6PUBGYmMDHsOMHRIhlAZtWitbuI0GbhN + w4IJdNxo5+H9I8BZxKMr3L5/l5/v/MyNWze4duMa31//nguX2jl38QKnzp6h7cRxjrX9lWOHD/LNwb20 + 7tjKls82s2f3YbRqL6rYJAzagCSiI3o8B8jId4kYVxdiEyKQm8wk+DO4f6+DJ+IhWzZuoWH2UubUv8W8 + mZU01k6jobqS2VUV1E8tp76ynJkVZVRPLqWqtJipxROpKJ3I6NF5LHinhs9b17NhWzMxZhkx8RpUJhNK + g4nQiE474aD8/kLuCUeRKCNa0uPxp/FzcOBusHnTNhrfbGJG9ULqayuYWT2V2mmV1EyrZHplOVXl5Uwt + m0JFaRllxaVMnlhC8R8qKCwsp/Gtuazb0szare+jckYhlxTEmg3ExJvpGdHpQvLaiGyh8KiJ8WmJkuKx + Jni4//Am1344zo/XL3HzBly9Krh6vZ0r19ppv3yRC+3nOX/xO46fPEnb8RMc+/pbvjryNQcPH2XXzqPs + 2dlGy/adfLjhPf68YxUxJjlyiwKFOR6Z3kz3zgCZeQVC5bShcjuRG91Idgd37pzj0sWtXL64lfPn2jh5 + 7hSHT3/DoZPfsL/tKK3HvmL3kcPsPHyYLw4coqV1H5u+aGXDtsDgtfLp2i1s+HgDa9ev4sN1K1FZ1MQZ + zcQZrcg1JnqGd7qUZmY7heRTYXSZ0Ogl0v12VjdX82ofC0OGGOjbL54+A430zdCR/pqelAE6/K/qSOqr + xd9Phy9dS0KaBl+6Bm+qGl+SmiSvghS/EqdDTXHJECQpBoPWjFppJUauIyw0tNNxnJciImN6otLHYdBp + SXRpeNJRBwzi3iMT9x9ZefLEy6NHXh4+8PDgnpsHv7i4f8vJnRtObl61cf2SxNULEpdOGbl4QcOho5Ec + PKJmV2sqe/dOwhwvQ6OIIdnTj8XzmvBYbZ224swB4vcvvBg88/VqOf1SoujoeJ3H9OL+0xDuE8KDR7+B + ji5w70W4/QK/3vh3nlz/HY+vvcD99t9x57vfcuvMb/mp7V85cyKEQyf/ha9OhLB158v8pcWPyxaGURmF + RW1h5NBRqKM73QmLRk3vsNgGITn7I5PFkpkZy1Pe4Fc0wH/wkFDg94GvBvX0aQiPHobQIUK4dy+EWz+H + 8NP1EH68GsLVSyGcOvVvtJ2MYM++3nx5wMfmlmGkpvaid+iL6NXxREeq6NUjtOMZwOTqkptROp0YlFso + BmQUiDfGZYk1zdli6UKdWLFIEkvnZ4hlSzPE/CUeMX9Rgpj3jk/MXZgoGt/yi8a30kTD3FQxa06aqJ/V + R9TW9RG107xiQV2yaKhNEvUz+oramqEiL3+gGDBwoOj1iky89FKoSB8w6GbA+78ARr8+fU37gcsAAAAA + SUVORK5CYII= - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAghJREFUOE+lk9tL - k2Ecx+u/6SJC6qbsACkRkUKUB7KxuVGapB1M8iKLlo1dlGHHQVrYykPmheTmYW2NuSydx3awZUg0DKql - i9mmNbdPe15h8XaAjV743rw8n+/v9/3yPGuBNf/1CYN0ND3uOPJ+xsOMx8WrEVsSWeXSgr2j9vJZ3xjR - +TfEwz4SoZHMDPxTQ0SCXgK+fq6cr0B3RpWZwYTTTOKrC+2pkhSYUYRB0wMI9lOj3v13A6fJmGXvvovl - 0S162xrpMTbQbbxMV5OezmYd7YaLPLx9AeP1c7Q0nhXKkm1gfWxgMTAACw5JiS924p+trHwcIPbBTPyT - JfV/zt3JjfoqeQd97ddW4deniXuqiE2UsTysJDJYyNKLZG5/DXHvCWKTR3n7pIC6Y/vlBj3GqzDvYMVd - yY/xwyy9VDDcugdV8XqedWpS8LJLhb8rj9qyfLmByJsI2vg+qiE6dJBF+z6UhevQlG5Naps0WcARZxHT - bblUl/4qU7pIXc16KW/0eTFhWz6h3lzJ7Hc4bM3D05LNcUWOfIMOQz2xORPhp3tZMO3km+MAHTcLUCu3 - 0KTfJU0WcMicw9SdjVSW7JAbtBq0BMaMuO9txnt/O+8samb7FFJhIrNYW0wWsFm3gYqi7D8MNjXUlaOv - VUm6VH0I7cliqW1RmMgs1haTBZyU/B6k8xr/deYna7rBU0DWSCIAAAAASUVORK5CYII= + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAB/ElEQVQ4T6WS20vTcRjG/XO6iJC6qXWA + lIhIIUo3WmMnShtpB5O8yKJlYxdl2HGQFrby0NqF5OZhbY25LJ2HbAdbhkTDoFq6mG1ac/vE7xcsflkX + w4vne/HC83nf5+FbBBStRasG/9P0hO/Ih5kQM6EAr0c9FAQIj3mrZyPjpOffkk1GyCVGCwNEp4ZJxcPE + IgNcOW/AdEZTGGDS7yT3LYDxlDJvLAgw5HgA8QHqdbv/DfA7rMXenru4Ht2ir7OFXmszPdbL2FvN2NpM + dFku8vD2BazXz9HeclZQsQTgfmxhMTYICz5Rua9esl/crHwaJPPRSfazKz+fC9q40VQr7aC/69pv85vT + ZEO1ZCarWB5RkxqqZOmFEqL1ZMMnyLw6yrsnFTQe2y8F9FqvwryPlWANPycOs/RSxUjHHjSK9Tyz6fPm + 5YCGqL2MhqpyKUDIm4t7+DGmJz18kEXvPtSV69Brt6LXbsubU345052l1Gn/lCk+9jazmDf9XEHSU06i + r1SE/W1OussItcs4riqRArotTWTmHCSf7mXBsZPvvgN036xAp95Cq3lX3pxwljB1ZyM1yh1SQIfFSGzc + SvDeZsL3t/PepWO2XyUWJmQWzhY2C2anaQMGuWwVYFNzYzXmBo2oS3WHMJ5UiG0LhQmZhbOFzYLZIJdJ + /8Fa9AuXJO4lyEa/vAAAAABJRU5ErkJggg== - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEgAA - CxIB0t1+/AAAATBJREFUOE9j/P//PwNFAGQAOgYaCDIVKAw2HM7GqhabIEwMZgheNVQzIDo6Otff33+X - t7f3THd3dwGY82EWWFhYlAPxfyguh7sSxPD19e338fF57OHhccrV1fW/tbX1I2QDgJrSQBqRDAMZ5AJW - AyKANtbDJIGGvLW0tIQHIEgcqPgMFgM64AaAGEFBQX1AfNXLy+sbTDEsEBMSEmBOh9NZWVkQS4CahEJD - Q/+HhITcA7IF7O3tb5mbm6O74C7U72BnI2OQ/ysCAgL+u7m5LXZ2duYHav5mZmaGbgAsAFcBDRIEYqXV - q1dD1ACdLGBjY/MfpAmIb5uYmLwzNjZGMQAaDh1Aje9AGGQhSizY2dkJAwPOFMN50NRIVkKCJWFCqREj - H6AEELkuoFpmwud3mBwAxyxA1dGzKyUAAAAASUVORK5CYII= + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAsSAAALEgHS3X78AAABMElE + QVQ4T6WSsU6EMBjHeQNR38BXAMvXQGA4oU2BQBqYWJgcSJzPzfUmnZ3d5A18BOPqotFBZ2+8taZ3lHDt + JZfT4deQP/1+/GlqCSGs/2AE69Cy5CL0510YgS7SMx0j+LOgaZqroiie0jS9J4TYugAA5gAgBuZbgjzP + 77Is+6aUPsdxLHzf/5oKAOBSDk5kUnIxCgghN+olpfQHYzwe4DDwskOwGAUSzvkt5/yVMbZSm5WgbVtV + faTrus0ezvlJXdeiqqpPzrkdRdGb53l6g49p7Sny/6/LshRJkjzMZrMjz/NWCCFdoA7wEQCOAeCs7/vN + HsaYHQSBkEMIoXfXdZeO42wJBskCAJYS+cGxgVzCMDzFGJ8b9Q65BzrqCu+TGIEu0TMdI1CDanhfCyM4 + lF/ylm2nCccnxwAAAABJRU5ErkJggg== - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAjNJREFUOE+lk01rE1EUhvUf5CfkJxQFF66ydDloA1lGcNGFSnAhQRCHghAMakSKBktn - rIqNpDqb2hitHdFWi0gHazW2YZKWqGkzTa9OlX5oXs+5k8407cKFFw733Mt5n/Mxd/YD2PdfiwG7bWLG - xZ3iMlJ3K+gdmENfvoyRV18obG9sh/i9vY7ceBNacQnVxia+r21BuJvkb+ByroSUZqH4erED5ANY/MBc - hfOzBdMC1CFASXnGvmkJ2KstXOibxMiLsg/xAZx55VcLuglEkoBeAMQ6xwFVASRu8p1AhSBn0s86ARMf - 1vB4uikzs5iDeRlvgHjG2xkWSQryBbTCR2RzbyVEVnDvaQNfxW9ZaiThlZ0xgC7ywz0CiQyVQEtRBeIp - C3O2i+PnhgNA+v6iHJiieqKuHs/CZHESc3azJBBWTIRjJuqOi0PR6wHg4m2bpr0ly/eEFBwXVImX2TDp - TMKQYtBuoN74gQPK1QCQfVjBgrNBvXvCcKwqLTPkAUKKReYBlKSJUrmG7lN6ABid/IaC5cgBsTAUY4FF - LVVpLnRm8RFDml6oYrgwi0u3xgIADzI9OIN55w9lbQtIxL6soC1WdQuflx0cO6l1fkYGjE3V0Judgt2k - t0BZFNWSfbOxz3fztRVEqfSBPH3X9rPueMqjLys4e2Uc+pNPmJ5dwBJNu95wZc9cdjdl1naI/XewTdve - +/PvcOL8IxyO3cDBo9cQPT2IdP9zP+vO+D1/4m7Yv85/AYwH2NXcJ7xZAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAsTAAALEwEAmpwYAAACG0lE + QVQ4T6WQX0sUURiH/Qj7EeYjSEEXXe1ll4dS2MsNutgLjaWLkCAahGBJqo2QXBJ3siKNNefG2ixzojQl + wiGzNpXdUazUHfXUWPin9olzJt22hSAa+DGHl/d53vecBqDhf1JXUBmbDrg5vErqVon2nlk6c/MMPf/A + n311gtfFLfpH18kOr+CVd/i8uYsMdvDK21zsL5DKugy/WKwR1cB3nQ38rxUcF8w+EKkw6uy4kuJGhXOd + 4ww9nd+X7AvU5LVvFSwHom1g5UFuqT7wJCS7VE1S2qhwquNxrWDszSb3p9b1ZAWrZvXZExBPh38li7ZJ + 7AlJNv+WTP9LLdGC24/KfJTf9arRZLh22obGJBgJSTIttVCYknjKZbYYcPzMQFXQcWdRP5gwQ6gxEcZI + qA2knu4UJIZwMGIOy37AoearVcH5G0VksKvXD0GJEZeIVDjZdqQGI8LGiNksl79wQFyuCjL3Siz42yS7 + QtCIeTrpvlAQES4REQpEm0NhfommVqsqeDD+ibzr6wdSYCSmABdheph9XggfsXWsvMdAfoYL10eqAv0O + vdPM+T9I7wHC0We9wS/YtFzer/oca8lquEYwMrlEe2aS4npFTxGmq++tos6qNre0RnOrRU9uol6gr/Ks + xOlLo1gP3zE1s8CKH7BcDvSd1dpNLVmyv8F1gr10515x4uwgh2PXOHj0Cs0ne+noflID/lXwL/kJt3EF + thF+kyUAAAAASUVORK5CYII= - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEgAA - CxIB0t1+/AAAAMJJREFUOE9j/P//PwNFAGQACFfVd/yvaegE40ogzinr/K9naAqUwi8H1gzCNQ0dIMX/ - f/3++//z9z9gbGphDzYAnxySAZ1Azf/+BzR9/W+Yevb/3Te//2vqGEENwC0HNwDkbJCtlkWP/usnnfh/ - 4vrT/9JyymAD8MnBDQD5GWQAyGaQ5m1HL/8XEpEAG4BPDm6AuaXdf2sHj//6Rpb/5ZU1/ouIS4OiB2wA - Pjm4AbDAJJWGGzAajfijaohEI6nxD1MPAH/FmTUmtOWCAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAsSAAALEgHS3X78AAAA3klE + QVQ4T6WRMQrCQBREcwYJKAS0SKMghgSCBkEtLT2DYGdlIUQCBqvshbyBkMbKwspGsLMTERJ1ZBf5BCRf + jMXAsm947DIaAO2f0GGxjBCEQsUPBaZzgZbt4hsjQRBG8gJJ+sDldldxO31V4lhGIJCkT4xWV9iTLQ7n + FI2m8xbkMxLIp0mzNzvCGseI9ycYVVOVOEYC+S9ZknZZWG92KOkVVeIYCdpeD93BEJbjoWbWoZcNaArz + jARFQwduKo6RgJuKYxlB/lQcIwE3FcdIwE3FMRJwU3GMBEXzcfFrXqsvxgcoH5ClAAAAAElFTkSuQmCC - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEgAA - CxIB0t1+/AAAAlRJREFUOE+lk+lLVFEYxuu/6UOE5IfKFkiJkJSiXMjEUUtN0solxTLJrflghq1TaWbj - mg4hOeNuw7iUe+bMuIVEYpBNaoy51Dj315wbqXeSCLrwfjmc5/c8z8u5W4Et//UJwMYZGTBFfZgwM2Hu - 5W1PG10tz2nQFVFTnBfgflc233ho6TPGTFr7WZodx2m3Is33INlamB0t5UnBZQrzkg+7QxSAsaEuFm0W - pqyN3MiIJTdFRVbiKaa7c5jpyyAnKcSlVyZWAAY7DEhfe8lMCCElym+XuHzptK9n2cPrSONppMUc/Tug - XV8KtkaSI0TSdafyB2qk0UQSVD6bAzr0Wg9j7WOan92jvqKAOm0+tdo8dIVqqotyqdRkUXb/GtrbVykp - uCLG47eBXKG1RsPCVBPMmeSRvhhxfm5l9VMTjo8GnDPNa+fTw9XcyY5fSyIDGipv/RKPJuE0x+MYjGal - O4zF9kCWX7kWN5aM03IBx5uzvHsRQPq540pAnfYmzJpYHY7jx8AZll+H0l3uiyp4Oy+rI9fEK70qxnR+ - pEb7KwGir2Rr43tfJEtdJ1kwHiMscBuR4Xtds092FuLFjiBGKnxIDF9fslxBV6SW+y51BmNv82e+3keG - uYvtrX6YS7w4H+qtTFClycYxrcfecoQ5/UG+mU5QdTeAiLA9FKoPyc5CPG/wZujRTuJCDigB5ZpMpvq1 - DBfvxvJ0P++bI5hsCJUXJjqL2MJZiA25O4gN8voD4JmfHoM6VSVPjuv5Zl4MlrctFiY6i9jCWYhdo3wH - m/1l/3r2Ey4iunsWz150AAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAsSAAALEgHS3X78AAACQklE + QVQ4T6WS20vTYRjH/XO6iJC8qOwAKRGSUpQHmuJ0pSZp5TTFMslTuzDDjqs0s3lMR0huzmNjmqXzkG3z + GBKJQbbUmHmoud8n3l8wmYY3Xnyfi4f3+3m+z8PrB/jtRFsaY0OWhC9TdqbsVj72d9Hb8QqTvpzGiuLw + zW+3ABwD5qTp0UFW5ifxuEaRFvuRnB3Mj1fxvPQaZcUZx7cFTIz0sux0MDPayu3cZIoyleSro5ntK2Ru + IJfCdAXbAoZ7jEg/reSlKchMCN0nelfPhQRUP7mFNJlNdtLJ7QHdhipwtpIRL5Ju9Gsea5DG1aQpg/8P + 6DHo/M1Nz2h/+ZCW2lKadSU06YrRl2loKC+iTptP9aOb6O7doLL0upC/D6CzUcvSTBssWGRJP8x4vney + /q0N91cjnrl2b3/W1sD9glRvErmY6u7+M4+n47Gn4h5OZK0vluXuCFbfKWAiA4/jMu4PF/j0Opyci6d9 + Ac26OzBvYd2Wwp+h86y+j6GvJgRl1G7eNKi85jWrkgl9KFmJYb4Asa/k7OL3gIqV3rMsmU8RG7ELVdxB + VHGHvOblnkjGaoNRx20cWS76co2878rbKFxdYSy2BMuwzWZXZyj2ykAuxQT5Auq1BbhnDbg6TrBgOMov + yxnqH4QTH3uAMs0xr3nRGMTI072kKI74Amq0ecwM6rBV7Mfx4jCf2+OZNsXIBxM7i9hisjAbi/aQHBm4 + BRBQkpOEJkspq1AdTd6VKPna4mBiZxFbTBbm5MhA33+wE/0FWYznTcEG5+wAAAAASUVORK5CYII= - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA - EnQB3mYfeAAAASlJREFUOE9j/P//PwNFAGQAJZgizWDXU2L7IDEgq7Dyf0Z+5f/0vIr/KTll/5OyS/8n - ZpT8j0sv+h+TUvg/Min/f3hC3v+QuJz/QTHZ/wOiMv/7RmT89wlP/+8ZmgqMAQohhdqBsZBRAHF+am75 - /2SQ8zNL/sdnFP2PTS36H5Vc8D8sseh/aHze/+BYkPOz/vtFQpzvFZr23zM4BbcHKmc/+B9Rdfi/f9Fu - UFLDCXFKtCx79X/hvu//HVPXk2aAQ9Kq/5ndF/+DDJi5/ct/38Id/81jV/xX9ZiA1SAMF1y7++a/pv+c - /80L7/5vXPrqf0TTjf9GofP/n7v2lDgDQL69cf/tf7OoRf89iw7/1/ab8X//ybs4vYEzDG7cf/NfzrHr - //x1Z/CGAQCjS0wEhVWp7QAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJ0AAASdAHeZh94AAABLElE + QVQ4T6WQu0tCYRyGz1/S1hBtDbXm1onUyE5e8JKXk8dLXg52sa3LVItjUSAGRTTUWBDU4BRE0CIuYkuL + 2BY0PvEhEvQp9CEP7/LA7+XlpwHaKJGEaiShGkmoRhKqkYRqtHSxjJUvk8xtk8huEstsELVKhJM2wUQR + fyyPdzXHcjjLUjDDYiCF02ex4E2iGybaqEhCFc0q9Oab61vExfxUiYhlEzJtAvECK1EbI5LDExLz07j8 + vfnzxhq6J/G375fy6Tu+nTpu+0G8ayiS6HNw2aH2+I3DvFUrmI1dkzp6QxSc3H3hLN4zE7pifK4ysEgS + jVaXCfcZ+7UWuxcdfHtNpowqr42P/xUImu1PpgPn6HadSdcxT8+tgccCSfRptruMOQ6p3rwMPRb8AM61 + eNYtKznlAAAAAElFTkSuQmCC - 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 + 3+322v8OK0dV96Fprs4AAAAASUVORK5CYII= - iVBORw0KGgoAAAANSUhEUgAAAAUAAAAwCAYAAADZ2LD7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAACpJREFUOE9j+P// - PwMIMzMzc8LYYAGooPio4H+G0QCBpJDRxAAMhyGdGACLokPRWdHt7QAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAAAUAAAAwCAYAAADZ2LD7AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAIUlEQVQ4T2P4//8/AwgzMzNzwthgAioo + Pio4KjgqOFwEAYuiQ9FuQcdhAAAAAElFTkSuQmCC @@ -535,485 +531,457 @@ - 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 + K30AAAAASUVORK5CYII= - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA - EnQB3mYfeAAAAo1JREFUOE+lke1LU2EYxu2v6D8IgkKIIMIg8kMtlRQjskkGc03NN1j2YpYFMYmpuTXn - 0rItU8wyQ2TqamjpUGwYCr5sJtN0tXd1O9vZjjvr6rzk9ODHbngOz/1cz/27r+c+BwCk/FewgL2rotWB - mjdreNjtxW2DF1LVEm7UT6C6ycRcE97lmu8clmrtkOtX0DjggmWZxJKLwqqXhsNF4sv0GpR6Cy5WGiC5 - /1YA4gAy1TzkLx3omfSDZuV/sRWhsRmJc1kwHEP34DRyytogrjIkIRygRDOHZwNre0oBV4DEyfJJHJd9 - hm+DSGrtvePIkGmRJ2/nIClS5TfcaZthrG4KANvxBBQd81AYZhGjeBd8xCCteY3MYi0PKKwbQ32HVVDM - Jr+9JGZ++OD0hZLaNkUx+yhMo1bGRTMPyKvuR3PPfsDHrytIvWpCdpUZngD/BDpOg44RsC3YkVvawgMu - Vxuhe/99nwOrzY0T4jGclgxh3bfB6YkEjWgkCOeqA5cqn/OA/AfDaOy0MuIfAWRm2YtT+WaIioxwbwY5 - LU7TIIJ+2GyLyC3T8YAK5TAetYyAHdreWPgZQFquCVlSIwiK5KQQQYAMeTBstuCcVMMDlPpxVDUYYbLY - BYCJOS8OHnuHQ+ldWA/wgwz4PCCDTpTU6ncBLEVeb8Q91SCCkWgS0jVkw+HsLhzJ6cAH8yIzQeYZUTe6 - +z4h/VoTM4MXvAP2w65yRR+etA7B6XYz6TYSFIEwtYFw2A8i4AYVcqLfOAKRVI3z1/lfKACwyZWbr1Bw - V49aVS+mpmcRJX5hy7+K0bEJ3KrrhKhQjcyi3eJ9APYgq1iHDKZDmrgBRy88RmqOAmcKniJTpsFZiTrZ - ecfBX3S4BezexVqUAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJ0AAASdAHeZh94AAAChUlE + QVQ4T6WR+0uTURzG3/+i/yAICiGCCIPIH8pUUgzJlAx0Ts0bmF3MsiAm4SU1b2nZzBSzzBCZuhItFaXE + UPAyTabpanNz6nx1c+5dn3i30E1/7AvPl3Oec54P5yIAwv/ogJFRoyf39SIPms3cqjejKJ3leuEQOSVa + 9u/1A6RWzpClnqe4w8jgnJ1Zo5MFs4TeaOfz6CIF6kEuZdYTf++NH8jTlKWTZL3Q0zK8giQv/6v1LYm1 + LZdnbNvcprlzlIi0WmKy63chnpZSPsHTjkWfKBitdk6lD3NC+QnLqrjr17UOEKKsJDqrTp4KgqLgG7dr + x9Ab13zz7LjcqBomUdWPs+30nsJb2yhyXxGaXClPBCEhv5/ChhGfDd76bbYz9sOCwbKx6+04nYADbd8I + IcoK2RKE6Jx2KloOAj58mSfgqpbw7B6Wrd4rSC4JaVtENzVDZGqVbAnC5RwN1e++788zojNxMqafM/Fd + LFlWPZ7bLeHYsmFY0BOV+Uy2BCH2fjfFjSO43X/8AGNzZk7H9hCcpMG0ZvN4LklCtK2g000TmVbtBWQU + dPOwqtfzaL419dNKYKSWMIUG0Wn3eBuiiH1jme6eQc4ryr2AAvUA2UUatIMzfoChCTOHjr/lcFATS1bv + Q1oty9htBlLy1HsAuWUVarhb2olty7ELaOrScSS8iaMRDbzvmQbJBg4TzW0fCbpWQlTm8z2ArHRVG49r + ujCYTPKH4XaKbDpX2dxcQbSacG4YaNf0Eqwo40Ki9wv9ALKu3HhJ3B01eaWtfB0dxyH+Yn1lgb7+IW7m + NxKcUEZo0l74AEBWWHI1IYkVBMYUceziIwIiVJyNe0Kospxz8WV+YVl/AaAiMr7CG6U7AAAAAElFTkSu + QmCC - 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 + OiSK99IAAAAASUVORK5CYII= @@ -1038,4 +1006,8 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + ..\resources\toolbox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/PROMS/VEPROMS User Interface/Resources/toolbox.png b/PROMS/VEPROMS User Interface/Resources/toolbox.png new file mode 100644 index 0000000000000000000000000000000000000000..f645121b9a3098ab1aa277edccd2f08136b50e1d GIT binary patch literal 3353 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 literal 0 HcmV?d00001 diff --git a/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj b/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj index e6a0cace..a6e13435 100644 --- a/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj +++ b/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj @@ -266,6 +266,12 @@ frmBatchRefreshCheckedOut.cs + + Form + + + frmGenTools.cs + Form @@ -378,6 +384,9 @@ frmAnnotationsCleanup.cs + + frmGenTools.cs + frmPDFStatusForm.cs Designer @@ -503,6 +512,7 @@ PreserveNewest + PreserveNewest diff --git a/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs b/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs index 6e6b2213..a4e39c42 100644 --- a/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs @@ -70,17 +70,6 @@ this.labelX6 = new DevComponents.DotNetBar.LabelX(); this.warningBox1 = new DevComponents.DotNetBar.Controls.WarningBox(); this.btnFixLinks = new DevComponents.DotNetBar.ButtonX(); - this.sideNavPanel1 = new DevComponents.DotNetBar.Controls.SideNavPanel(); - this.warningBox3 = new DevComponents.DotNetBar.Controls.WarningBox(); - this.labelX7 = new DevComponents.DotNetBar.LabelX(); - this.line1 = new DevComponents.DotNetBar.Controls.Line(); - this.swCkObsoleteROData = new DevComponents.DotNetBar.Controls.SwitchButton(); - this.swHiddenDataLocs = new DevComponents.DotNetBar.Controls.SwitchButton(); - this.labelX3 = new DevComponents.DotNetBar.LabelX(); - this.labelX2 = new DevComponents.DotNetBar.LabelX(); - this.swCkOrphanDataRecs = new DevComponents.DotNetBar.Controls.SwitchButton(); - this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.btnRunCheck = new DevComponents.DotNetBar.ButtonX(); this.sideNavPanel2 = new DevComponents.DotNetBar.Controls.SideNavPanel(); this.swRefreshTblsForSrch = new DevComponents.DotNetBar.Controls.SwitchButton(); this.lblRefreshTblForSrch = new DevComponents.DotNetBar.LabelX(); @@ -97,14 +86,10 @@ this.labelX8 = new DevComponents.DotNetBar.LabelX(); this.line2 = new DevComponents.DotNetBar.Controls.Line(); this.btnRunRepair = new DevComponents.DotNetBar.ButtonX(); - this.sideNavPanel5 = new DevComponents.DotNetBar.Controls.SideNavPanel(); - this.btn_ShowUsers = new DevComponents.DotNetBar.ButtonX(); this.sideNavItem1 = new DevComponents.DotNetBar.Controls.SideNavItem(); this.separator1 = new DevComponents.DotNetBar.Separator(); - this.sideNavItmCheck = new DevComponents.DotNetBar.Controls.SideNavItem(); this.sideNavItmRepair = new DevComponents.DotNetBar.Controls.SideNavItem(); this.sideNavItmLinks = new DevComponents.DotNetBar.Controls.SideNavItem(); - this.sideNavItmUsers = new DevComponents.DotNetBar.Controls.SideNavItem(); this.sideNavItmDelete = new DevComponents.DotNetBar.Controls.SideNavItem(); this.sideNavItmExit = new DevComponents.DotNetBar.Controls.SideNavItem(); this.panelEx4 = new DevComponents.DotNetBar.PanelEx(); @@ -129,9 +114,7 @@ this.sideNav1.SuspendLayout(); this.sideNavPanel4.SuspendLayout(); this.sideNavPanel3.SuspendLayout(); - this.sideNavPanel1.SuspendLayout(); this.sideNavPanel2.SuspendLayout(); - this.sideNavPanel5.SuspendLayout(); this.panelEx4.SuspendLayout(); this.SuspendLayout(); // @@ -467,21 +450,17 @@ // sideNav1 // this.sideNav1.BackColor = System.Drawing.SystemColors.Control; + this.sideNav1.Controls.Add(this.sideNavPanel2); this.sideNav1.Controls.Add(this.sideNavPanel4); this.sideNav1.Controls.Add(this.sideNavPanel3); - this.sideNav1.Controls.Add(this.sideNavPanel1); - this.sideNav1.Controls.Add(this.sideNavPanel2); - this.sideNav1.Controls.Add(this.sideNavPanel5); this.sideNav1.Dock = System.Windows.Forms.DockStyle.Fill; this.sideNav1.EnableClose = false; this.sideNav1.EnableMaximize = false; this.sideNav1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { this.sideNavItem1, this.separator1, - this.sideNavItmCheck, this.sideNavItmRepair, this.sideNavItmLinks, - this.sideNavItmUsers, this.sideNavItmDelete, this.sideNavItmExit}); this.sideNav1.Location = new System.Drawing.Point(0, 0); @@ -505,6 +484,7 @@ this.sideNavPanel4.Name = "sideNavPanel4"; this.sideNavPanel4.Size = new System.Drawing.Size(299, 493); this.sideNavPanel4.TabIndex = 27; + this.sideNavPanel4.Visible = false; // // swDeleteFolder // @@ -759,173 +739,6 @@ this.btnFixLinks.Text = "Process Links"; this.btnFixLinks.Click += new System.EventHandler(this.btnFixLinks_Click); // - // sideNavPanel1 - // - this.sideNavPanel1.Controls.Add(this.warningBox3); - this.sideNavPanel1.Controls.Add(this.labelX7); - this.sideNavPanel1.Controls.Add(this.line1); - this.sideNavPanel1.Controls.Add(this.swCkObsoleteROData); - this.sideNavPanel1.Controls.Add(this.swHiddenDataLocs); - this.sideNavPanel1.Controls.Add(this.labelX3); - this.sideNavPanel1.Controls.Add(this.labelX2); - this.sideNavPanel1.Controls.Add(this.swCkOrphanDataRecs); - this.sideNavPanel1.Controls.Add(this.labelX1); - this.sideNavPanel1.Controls.Add(this.btnRunCheck); - this.sideNavPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.sideNavPanel1.Location = new System.Drawing.Point(89, 31); - this.sideNavPanel1.Name = "sideNavPanel1"; - this.sideNavPanel1.Size = new System.Drawing.Size(291, 494); - this.sideNavPanel1.TabIndex = 2; - this.sideNavPanel1.Visible = false; - // - // warningBox3 - // - this.warningBox3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249))))); - this.warningBox3.CloseButtonVisible = false; - this.warningBox3.Image = ((System.Drawing.Image)(resources.GetObject("warningBox3.Image"))); - this.warningBox3.Location = new System.Drawing.Point(17, 207); - this.warningBox3.Margin = new System.Windows.Forms.Padding(4); - this.warningBox3.Name = "warningBox3"; - this.warningBox3.OptionsButtonVisible = false; - this.warningBox3.Size = new System.Drawing.Size(264, 32); - this.warningBox3.TabIndex = 29; - this.warningBox3.Text = "NOTE These tools can take a long time to run"; - // - // labelX7 - // - this.labelX7.BackColor = System.Drawing.Color.Transparent; - // - // - // - this.labelX7.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX7.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX7.Location = new System.Drawing.Point(5, 3); - this.labelX7.Name = "labelX7"; - this.labelX7.Size = new System.Drawing.Size(251, 22); - this.labelX7.TabIndex = 19; - this.labelX7.Text = "Check for these Data Issues:"; - // - // line1 - // - this.line1.BackColor = System.Drawing.Color.Transparent; - this.line1.Location = new System.Drawing.Point(8, 179); - this.line1.Name = "line1"; - this.line1.Size = new System.Drawing.Size(285, 12); - this.line1.TabIndex = 18; - this.line1.Text = "line1"; - // - // swCkObsoleteROData - // - // - // - // - this.swCkObsoleteROData.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swCkObsoleteROData.Location = new System.Drawing.Point(10, 99); - this.swCkObsoleteROData.Name = "swCkObsoleteROData"; - this.swCkObsoleteROData.Size = new System.Drawing.Size(91, 22); - this.swCkObsoleteROData.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.superTooltip1.SetSuperTooltip(this.swCkObsoleteROData, new DevComponents.DotNetBar.SuperTooltipInfo("Obsolete RO Data", "", resources.GetString("swCkObsoleteROData.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 135))); - this.swCkObsoleteROData.SwitchClickTogglesValue = true; - this.swCkObsoleteROData.TabIndex = 14; - this.swCkObsoleteROData.Value = true; - this.swCkObsoleteROData.ValueObject = "Y"; - this.swCkObsoleteROData.ValueChanged += new System.EventHandler(this.swCk_ValueChanged); - // - // swHiddenDataLocs - // - // - // - // - this.swHiddenDataLocs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swHiddenDataLocs.Location = new System.Drawing.Point(10, 71); - this.swHiddenDataLocs.Name = "swHiddenDataLocs"; - this.swHiddenDataLocs.Size = new System.Drawing.Size(91, 22); - this.swHiddenDataLocs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.superTooltip1.SetSuperTooltip(this.swHiddenDataLocs, new DevComponents.DotNetBar.SuperTooltipInfo("Hidden Data Locations", "", resources.GetString("swHiddenDataLocs.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); - this.swHiddenDataLocs.SwitchClickTogglesValue = true; - this.swHiddenDataLocs.TabIndex = 15; - this.swHiddenDataLocs.Value = true; - this.swHiddenDataLocs.ValueObject = "Y"; - this.swHiddenDataLocs.ValueChanged += new System.EventHandler(this.swCk_ValueChanged); - // - // labelX3 - // - this.labelX3.BackColor = System.Drawing.Color.Transparent; - // - // - // - this.labelX3.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX3.Location = new System.Drawing.Point(107, 99); - this.labelX3.Name = "labelX3"; - this.labelX3.Size = new System.Drawing.Size(154, 22); - this.superTooltip1.SetSuperTooltip(this.labelX3, new DevComponents.DotNetBar.SuperTooltipInfo("Obsolete RO Data", "", resources.GetString("labelX3.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 135))); - this.labelX3.TabIndex = 11; - this.labelX3.Text = "Obsolete RO Data"; - // - // labelX2 - // - this.labelX2.BackColor = System.Drawing.Color.Transparent; - // - // - // - this.labelX2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX2.Location = new System.Drawing.Point(107, 71); - this.labelX2.Name = "labelX2"; - this.labelX2.Size = new System.Drawing.Size(140, 22); - this.superTooltip1.SetSuperTooltip(this.labelX2, new DevComponents.DotNetBar.SuperTooltipInfo("Hidden Data Locations", "", resources.GetString("labelX2.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); - this.labelX2.TabIndex = 12; - this.labelX2.Text = "Hidden Data Locations"; - // - // swCkOrphanDataRecs - // - // - // - // - this.swCkOrphanDataRecs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swCkOrphanDataRecs.Location = new System.Drawing.Point(10, 43); - this.swCkOrphanDataRecs.Name = "swCkOrphanDataRecs"; - this.swCkOrphanDataRecs.Size = new System.Drawing.Size(91, 22); - this.swCkOrphanDataRecs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.superTooltip1.SetSuperTooltip(this.swCkOrphanDataRecs, new DevComponents.DotNetBar.SuperTooltipInfo("Orphan Data Records", "", resources.GetString("swCkOrphanDataRecs.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(275, 193))); - this.swCkOrphanDataRecs.SwitchClickTogglesValue = true; - this.swCkOrphanDataRecs.TabIndex = 9; - this.swCkOrphanDataRecs.Value = true; - this.swCkOrphanDataRecs.ValueObject = "Y"; - this.swCkOrphanDataRecs.ValueChanged += new System.EventHandler(this.swCk_ValueChanged); - // - // labelX1 - // - this.labelX1.BackColor = System.Drawing.Color.Transparent; - // - // - // - this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX1.Location = new System.Drawing.Point(107, 43); - this.labelX1.Name = "labelX1"; - this.labelX1.Size = new System.Drawing.Size(172, 22); - this.superTooltip1.SetSuperTooltip(this.labelX1, new DevComponents.DotNetBar.SuperTooltipInfo("Orphan Data Records", "", resources.GetString("labelX1.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(275, 190))); - this.labelX1.TabIndex = 8; - this.labelX1.Text = "Orphan Data Records"; - // - // btnRunCheck - // - this.btnRunCheck.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnRunCheck.Checked = true; - this.btnRunCheck.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnRunCheck.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.btnRunCheck.Location = new System.Drawing.Point(5, 150); - this.btnRunCheck.Name = "btnRunCheck"; - this.btnRunCheck.Size = new System.Drawing.Size(286, 23); - this.btnRunCheck.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.superTooltip1.SetSuperTooltip(this.btnRunCheck, new DevComponents.DotNetBar.SuperTooltipInfo("Run Check", "", "This will run the database check tools selected.\r\n\r\nClick on the on/off switches " + - "to turn on/off each tool.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 100))); - this.btnRunCheck.TabIndex = 7; - this.btnRunCheck.Text = "Run Check"; - this.btnRunCheck.Click += new System.EventHandler(this.btnRunCheck_Click); - // // sideNavPanel2 // this.sideNavPanel2.Controls.Add(this.swRefreshTblsForSrch); @@ -944,11 +757,10 @@ this.sideNavPanel2.Controls.Add(this.line2); this.sideNavPanel2.Controls.Add(this.btnRunRepair); this.sideNavPanel2.Dock = System.Windows.Forms.DockStyle.Fill; - this.sideNavPanel2.Location = new System.Drawing.Point(89, 31); + this.sideNavPanel2.Location = new System.Drawing.Point(81, 31); this.sideNavPanel2.Name = "sideNavPanel2"; - this.sideNavPanel2.Size = new System.Drawing.Size(291, 494); + this.sideNavPanel2.Size = new System.Drawing.Size(299, 493); this.sideNavPanel2.TabIndex = 6; - this.sideNavPanel2.Visible = false; // // swRefreshTblsForSrch // @@ -1176,31 +988,6 @@ this.btnRunRepair.Text = "Run Repair"; this.btnRunRepair.Click += new System.EventHandler(this.btnRunRepair_Click); // - // sideNavPanel5 - // - this.sideNavPanel5.Controls.Add(this.btn_ShowUsers); - this.sideNavPanel5.Dock = System.Windows.Forms.DockStyle.Fill; - this.sideNavPanel5.Location = new System.Drawing.Point(81, 31); - this.sideNavPanel5.Name = "sideNavPanel5"; - this.sideNavPanel5.Size = new System.Drawing.Size(299, 494); - this.sideNavPanel5.TabIndex = 14; - this.sideNavPanel5.Visible = false; - // - // btn_ShowUsers - // - this.btn_ShowUsers.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btn_ShowUsers.Checked = true; - this.btn_ShowUsers.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btn_ShowUsers.Location = new System.Drawing.Point(57, 37); - this.btn_ShowUsers.Name = "btn_ShowUsers"; - this.btn_ShowUsers.Size = new System.Drawing.Size(171, 23); - this.btn_ShowUsers.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.superTooltip1.SetSuperTooltip(this.btn_ShowUsers, new DevComponents.DotNetBar.SuperTooltipInfo("Show Users", "", "This will return all of the users currently with open sessions in the database an" + - "d the details of any items they have checked out.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 80))); - this.btn_ShowUsers.TabIndex = 0; - this.btn_ShowUsers.Text = "Show Users"; - this.btn_ShowUsers.Click += new System.EventHandler(this.btn_ShowUsers_Click); - // // sideNavItem1 // this.sideNavItem1.IsSystemMenu = true; @@ -1218,16 +1005,9 @@ this.separator1.Padding.Top = 2; this.separator1.SeparatorOrientation = DevComponents.DotNetBar.eDesignMarkerOrientation.Vertical; // - // sideNavItmCheck - // - this.sideNavItmCheck.Name = "sideNavItmCheck"; - this.sideNavItmCheck.Panel = this.sideNavPanel1; - this.sideNavItmCheck.Symbol = ""; - this.sideNavItmCheck.Text = "Check"; - this.sideNavItmCheck.Click += new System.EventHandler(this.sideNavItmCheck_Click); - // // sideNavItmRepair // + this.sideNavItmRepair.Checked = true; this.sideNavItmRepair.Name = "sideNavItmRepair"; this.sideNavItmRepair.Panel = this.sideNavPanel2; this.sideNavItmRepair.Symbol = ""; @@ -1242,17 +1022,8 @@ this.sideNavItmLinks.Text = "Links"; this.sideNavItmLinks.Click += new System.EventHandler(this.sideNavItmLinks_Click); // - // sideNavItmUsers - // - this.sideNavItmUsers.Name = "sideNavItmUsers"; - this.sideNavItmUsers.Panel = this.sideNavPanel5; - this.sideNavItmUsers.Symbol = ""; - this.sideNavItmUsers.Text = "Users"; - this.sideNavItmUsers.Click += new System.EventHandler(this.sideNavItmUsers_Click); - // // sideNavItmDelete // - this.sideNavItmDelete.Checked = true; this.sideNavItmDelete.Name = "sideNavItmDelete"; this.sideNavItmDelete.Panel = this.sideNavPanel4; this.sideNavItmDelete.Symbol = ""; @@ -1392,9 +1163,7 @@ this.sideNav1.PerformLayout(); this.sideNavPanel4.ResumeLayout(false); this.sideNavPanel3.ResumeLayout(false); - this.sideNavPanel1.ResumeLayout(false); this.sideNavPanel2.ResumeLayout(false); - this.sideNavPanel5.ResumeLayout(false); this.panelEx4.ResumeLayout(false); this.ResumeLayout(false); @@ -1422,16 +1191,6 @@ private System.Windows.Forms.CheckBox chkLater; private System.Windows.Forms.Label label4; private DevComponents.DotNetBar.Controls.SideNav sideNav1; - private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel1; - private DevComponents.DotNetBar.LabelX labelX7; - private DevComponents.DotNetBar.Controls.Line line1; - private DevComponents.DotNetBar.Controls.SwitchButton swCkObsoleteROData; - private DevComponents.DotNetBar.Controls.SwitchButton swHiddenDataLocs; - private DevComponents.DotNetBar.LabelX labelX3; - private DevComponents.DotNetBar.LabelX labelX2; - private DevComponents.DotNetBar.Controls.SwitchButton swCkOrphanDataRecs; - private DevComponents.DotNetBar.LabelX labelX1; - private DevComponents.DotNetBar.ButtonX btnRunCheck; private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel2; private DevComponents.DotNetBar.Controls.SwitchButton swRmObsoleteROData; private DevComponents.DotNetBar.Controls.SwitchButton swRefreshWordAttmts; @@ -1444,16 +1203,12 @@ private DevComponents.DotNetBar.LabelX labelX8; private DevComponents.DotNetBar.Controls.Line line2; private DevComponents.DotNetBar.ButtonX btnRunRepair; - private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel5; - private DevComponents.DotNetBar.ButtonX btn_ShowUsers; private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel3; private DevComponents.DotNetBar.ButtonX btnFixLinks; private DevComponents.DotNetBar.Controls.SideNavItem sideNavItem1; private DevComponents.DotNetBar.Separator separator1; - private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmCheck; private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmRepair; private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmLinks; - private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmUsers; private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmExit; private DevComponents.DotNetBar.LabelX lblAdmToolProgressType; private DevComponents.DotNetBar.ProgressSteps progressSteps1; @@ -1473,7 +1228,6 @@ private DevComponents.DotNetBar.LabelX labelX6; private DevComponents.DotNetBar.Controls.WarningBox warningBox5; private DevComponents.DotNetBar.Controls.Line line3; - private DevComponents.DotNetBar.Controls.WarningBox warningBox3; private DevComponents.DotNetBar.Controls.WarningBox warningBox4; private DevComponents.DotNetBar.Controls.WarningBox warningBox2; private DevComponents.DotNetBar.Controls.SwitchButton swRefreshTblsForSrch; diff --git a/PROMS/VEPROMS User Interface/frmBatchRefresh.cs b/PROMS/VEPROMS User Interface/frmBatchRefresh.cs index 27f501a4..2e616419 100644 --- a/PROMS/VEPROMS User Interface/frmBatchRefresh.cs +++ b/PROMS/VEPROMS User Interface/frmBatchRefresh.cs @@ -34,8 +34,8 @@ namespace VEPROMS _veProms = veProms; - // When opening Admin tools Check tab will be default. - this.sideNavItmCheck.Checked = true; + // When opening Admin tools Repair tab will be default. + this.sideNavItmRepair.Checked = true; if (sideNavItmDelete.Checked) { @@ -95,7 +95,6 @@ namespace VEPROMS int affectedRows = ESP_FixHyphens.Execute("vesp_FixHyphens") / 2;// Two results for each change txtProcess.AppendText(string.Format("Fixed {0} Hyphens", affectedRows)); txtProcess.AppendText(Environment.NewLine); - //txtProcess.AppendText(Environment.NewLine); txtResults.AppendText(string.Format("{0} Hyphens were Fixed.", affectedRows)); txtResults.AppendText(Environment.NewLine); txtResults.AppendText(Environment.NewLine); @@ -143,16 +142,10 @@ namespace VEPROMS return false; } - private List myTreeNodePath; - private void ResetTV() - { - ResetTV(false); - } - private void ResetTV(bool noProcs) + private void ResetTV(bool noProcs) { btnFixLinks.Enabled = false; this.Cursor = Cursors.WaitCursor; - //myTreeNodePath = new List(); myTV.Nodes.Clear(); myDocVersions.Clear(); myFolders.Clear(); @@ -165,10 +158,6 @@ namespace VEPROMS myTV.SelectedNode.Expand(); this.Cursor = Cursors.Default; } - private void ResetDelTV() - { - ResetDelTV(false); - } private void ResetDelTV(bool noProcs) { btnFixLinks.Enabled = false; @@ -208,13 +197,10 @@ namespace VEPROMS TreeNode tnc = tn.Nodes.Add(fic.Name); tnc.Tag = fic; - if (fic.ChildFolderCount > 0) - { - if (LoadChildFolders(fic, tnc, noProcs)) - loadedChildWorkingDraft = true; - } + if (fic.ChildFolderCount > 0 && LoadChildFolders(fic, tnc, noProcs)) + loadedChildWorkingDraft = true; - if (fic.FolderDocVersionCount > 0) + if (fic.FolderDocVersionCount > 0) { if (!LoadDocVersions(fic, tnc, noProcs)) tnc.Remove(); @@ -252,12 +238,9 @@ namespace VEPROMS { tnc.Tag = dvi; myDocVersions.Add(tnc, dvi); - if (!noProcs) - { - if (dvi.Procedures.Count > 0) - LoadProcedures(dvi, tnc); - } - rtnval = true; + if (!noProcs && dvi.Procedures.Count > 0) + LoadProcedures(dvi, tnc); + rtnval = true; } else { @@ -273,7 +256,7 @@ namespace VEPROMS } private void LoadProcedures(DocVersionInfo dvi, TreeNode tnc) { - foreach (ProcedureInfo pi in dvi.Procedures) + foreach (ProcedureInfo pi in dvi.Procedures.OfType()) { TreeNode tn = tnc.Nodes.Add(string.Format("{0} {1}", pi.DisplayNumber, pi.DisplayText)); myProcedures.Add(tn, pi); @@ -327,7 +310,7 @@ namespace VEPROMS // C2023-002: Loop through the docversion's procedures to determine which cannot be open and add to // list. The frmBatchRefreshCheckedOut dialog operates on procedures, not docversions. string msgp = string.Empty; - foreach (ProcedureInfo pi in dq.Procedures) + foreach (ProcedureInfo pi in dq.Procedures.OfType()) { if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref msgp)) pil.Add(pi); } @@ -520,7 +503,6 @@ namespace VEPROMS foreach (TreeNode tn in myProcedures.Keys) if (tn.Checked) pil.Add(myProcedures[tn]); - //PopulateTransitionInfoLists(pil); DateTime pStart = DateTime.Now; txtProcess.AppendText("Refresh Transitions"); txtProcess.AppendText(Environment.NewLine); @@ -710,7 +692,7 @@ namespace VEPROMS cc.Save(); } } - catch (Exception ex) + catch { this.Cursor = Cursors.Default; return -cntfix; @@ -722,42 +704,6 @@ namespace VEPROMS } return cntfix; } - // C2017-030 - new Admin Tools user interface - // tool renamed to Identify Orphan Items - private void IdentifyDisconnectedItems() - { - this.Cursor = Cursors.WaitCursor; - DateTime pStart = DateTime.Now; - txtProcess.AppendText("Identifing Orphan Items"); - txtProcess.AppendText(Environment.NewLine); - txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm"))); - txtProcess.AppendText(Environment.NewLine); - Application.DoEvents(); - int rowCount = ESP_IdentifyDisconnectedItems.Execute("vesp_GetDisconnectedItemsCount"); - txtProcess.AppendText(string.Format("Orphan Items Count: {0}", rowCount)); - txtProcess.AppendText(Environment.NewLine); - if (rowCount > 0) - { - txtResults.AppendText(string.Format("The database contains {0} Orphan items.", rowCount)); - txtResults.AppendText(Environment.NewLine); - txtResults.AppendText("These can be removed via the Remove Orphan Data Records in the Repair tools"); - txtResults.AppendText(Environment.NewLine); - txtResults.AppendText(Environment.NewLine); - } - else - { - txtResults.AppendText("No Orphan Records Found");// B2017-108 Always output results even if there isn't any - txtResults.AppendText(Environment.NewLine); - txtResults.AppendText(Environment.NewLine); - } - DateTime pEnd = DateTime.Now; - txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm"))); - txtProcess.AppendText(Environment.NewLine); - txtProcess.AppendText(Environment.NewLine); - Application.DoEvents(); - this.Cursor = Cursors.Default; - //MessageBox.Show(string.Format("{0} Completed", "Orphan Items Check"), "Orphan Items"); - } // C2017-030 - new Admin Tools user interface // tool renamed to Remove Orphan Items @@ -777,8 +723,6 @@ namespace VEPROMS int rowCount2 = ESP_IdentifyDisconnectedItems.Execute("vesp_GetDisconnectedItemsCount"); txtProcess.AppendText(string.Format("Orphan Items Purged: {0}", rowCount)); txtProcess.AppendText(Environment.NewLine); - //txtProcess.AppendText(Environment.NewLine); - //txtResults.Clear(); txtResults.AppendText(string.Format("The database contained {0} Orphan items.", rowCount)); txtResults.AppendText(Environment.NewLine); txtResults.AppendText(Environment.NewLine); @@ -795,11 +739,10 @@ namespace VEPROMS } else { - //txtResults.Clear(); txtResults.AppendText(string.Format("The database contained {0} Orphan items.", rowCount)); txtResults.AppendText(Environment.NewLine); txtResults.AppendText(Environment.NewLine); - txtResults.AppendText(string.Format("No Orpan Items to Purge!")); + txtResults.AppendText("No Orpan Items to Purge!"); txtResults.AppendText(Environment.NewLine); txtResults.AppendText(Environment.NewLine); } @@ -811,45 +754,6 @@ namespace VEPROMS this.Cursor = Cursors.Default; } - // C2017-030 - new Admin Tools user interface - // is one of two tools run from Check Obsolete RO Data - private void IdentifyUnusedRoFstsAndFigures() - { - this.Cursor = Cursors.WaitCursor; - DateTime pStart = DateTime.Now; - txtProcess.AppendText("Identifing Unused RoFsts and Figures"); - txtProcess.AppendText(Environment.NewLine); - txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm"))); - txtProcess.AppendText(Environment.NewLine); - Application.DoEvents(); - int rowCountRoFst = ESP_GetUnusedRoFsts.Execute("vesp_GetUnusedRoFstsCount"); - int rowCountFigures = ESP_GetUnusedFigures.Execute("vesp_GetUnusedFiguresCount"); - txtProcess.AppendText(string.Format("Unused RoFsts Count: {0}, Unused Figures Count: {1}", rowCountRoFst, rowCountFigures)); - txtProcess.AppendText(Environment.NewLine); - if (rowCountRoFst > 0 || rowCountFigures > 0) - { - txtResults.AppendText(string.Format("The database contains {0} unused RoFsts.", rowCountRoFst)); - txtResults.AppendText(Environment.NewLine); - txtResults.AppendText(string.Format("The database contains {0} unused Figures items.", rowCountFigures)); - txtResults.AppendText(Environment.NewLine); - txtResults.AppendText(Environment.NewLine); - } - else - { - txtResults.AppendText("No Unused RoFsts or Figures Found"); // B2017-108 Always output results even if there isn't any - txtResults.AppendText(Environment.NewLine); - txtResults.AppendText(Environment.NewLine); - } - - DateTime pEnd = DateTime.Now; - txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm"))); - txtProcess.AppendText(Environment.NewLine); - txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm"))); - txtProcess.AppendText(Environment.NewLine); - Application.DoEvents(); - this.Cursor = Cursors.Default; - } - // C2017-030 - new Admin Tools user interface is one of two tools run from Remove Obsolete RO Data private void RemoveUnusedRoFstsAndFigures() { @@ -893,41 +797,7 @@ namespace VEPROMS { txtProcess.AppendText(string.Format("The database contained {0} unused RoFSTs or Figures.", rowCountRoFst + rowCountFigures)); txtProcess.AppendText(Environment.NewLine); - txtResults.AppendText(string.Format("No Unused ROFSTs To Remove.")); - txtResults.AppendText(Environment.NewLine); - txtResults.AppendText(Environment.NewLine); - } - DateTime pEnd = DateTime.Now; - txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm"))); - txtProcess.AppendText(Environment.NewLine); - txtProcess.AppendText(Environment.NewLine); - Application.DoEvents(); - this.Cursor = Cursors.Default; - } - - // C2017-030 - new Admin Tools user interface - // is one of two tools run from Check Obsolete RO Data - private void IdentifyROAssociations() - { - this.Cursor = Cursors.WaitCursor; - DateTime pStart = DateTime.Now; - txtProcess.AppendText("Identifing Unused RO Associations"); - txtProcess.AppendText(Environment.NewLine); - txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm"))); - txtProcess.AppendText(Environment.NewLine); - Application.DoEvents(); - int rowCount = ESP_GetROAssoc.Execute("vesp_GetUnusedROAssociationsCount"); - txtProcess.AppendText(string.Format("Unused RO Associations Count: {0}", rowCount)); - txtProcess.AppendText(Environment.NewLine); - if (rowCount > 0) - { - txtResults.AppendText(string.Format("The database contains {0} unused RO Associations.", rowCount)); - txtResults.AppendText(Environment.NewLine); - txtResults.AppendText(Environment.NewLine); - } - else - { - txtResults.AppendText("No unused RO Associations Found");// B2017-108 Always output results even if there isn't any + txtResults.AppendText("No Unused ROFSTs To Remove."); txtResults.AppendText(Environment.NewLine); txtResults.AppendText(Environment.NewLine); } @@ -976,7 +846,7 @@ namespace VEPROMS txtResults.AppendText(string.Format("The database contained {0} Unused RO Associations.", rowCount)); txtResults.AppendText(Environment.NewLine); txtResults.AppendText(Environment.NewLine); - txtResults.AppendText(string.Format("No Unused RO Associations to Purge.")); + txtResults.AppendText("No Unused RO Associations to Purge."); txtResults.AppendText(Environment.NewLine); txtResults.AppendText(Environment.NewLine); } @@ -988,49 +858,6 @@ namespace VEPROMS this.Cursor = Cursors.Default; } - // C2017-030 - new Admin Tools user interface - // tool was renamed to Hidden Data Locations (on Check list) - private void IdentifyNonEditableItems() - { - this.Cursor = Cursors.WaitCursor; - DateTime pStart = DateTime.Now; - txtProcess.AppendText("Identifing Hidden Item Locations"); - txtProcess.AppendText(Environment.NewLine); - txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm"))); - txtProcess.AppendText(Environment.NewLine); - Application.DoEvents(); - List myItems = ESP_IdentifyNonEditableItems.Execute("vesp_GetNonEditableItems"); - txtProcess.AppendText(string.Format("Hidden Items Count: {0}", myItems.Count)); - txtProcess.AppendText(Environment.NewLine); - if (myItems.Count > 0) - { - txtResults.AppendText("The following items are hidden (non-editable)..."); - txtResults.AppendText(Environment.NewLine); - txtResults.AppendText(Environment.NewLine); - foreach (ItemInfo ii in myItems) - { - txtResults.AppendText(ii.Path); - txtResults.AppendText(Environment.NewLine); - } - txtResults.AppendText(Environment.NewLine); - } - else - { - txtResults.AppendText("No Hidden Data Found");// B2017-108 Always output results even if there isn't any - txtResults.AppendText(Environment.NewLine); - txtResults.AppendText(Environment.NewLine); - } - //C2025-011 RO Update Admin Tool Memory Enhancements - //clear the list since no longer using it - myItems.Clear(); - DateTime pEnd = DateTime.Now; - txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm"))); - txtProcess.AppendText(Environment.NewLine); - txtProcess.AppendText(Environment.NewLine); - Application.DoEvents(); - this.Cursor = Cursors.Default; - } - // C2017-030 - new Admin Tools user interface // tool was renamed to Show Users private void GetDatabaseSessions() @@ -1095,7 +922,6 @@ namespace VEPROMS return; } - //FileInfo fiRofst = new FileInfo(rofstPath); Cursor = Cursors.WaitCursor; using (DocVersion dv = DocVersion.Get(dq.VersionID)) @@ -1109,7 +935,6 @@ namespace VEPROMS } roFstInfo.ROTableUpdate += new ROFstInfoROTableUpdateEvent(roFstInfo_ROTableUpdate); ROFst newrofst = ROFstInfo.RefreshROFst(dv, roFstInfo, DoProgressBarRefresh, txtProcess); - //ROFst newrofst = ROFstInfo.RefreshROFst(dv, roFstInfo, DoProgressBarRefresh, null); roFstInfo.ROTableUpdate -= new ROFstInfoROTableUpdateEvent(roFstInfo_ROTableUpdate); } @@ -1122,14 +947,13 @@ namespace VEPROMS txtResults.AppendText(Environment.NewLine); txtResults.AppendText(Environment.NewLine); - return; } private void RefreshProcedureTransitions(ProcedureInfo pq) { DateTime start = DateTime.Now; ProcedureInfo.ResetTranCounters(); - ProcedureInfo.RefreshTransitions(pq);//, transitionsToDisconnected, transitionsToNonEditable); + ProcedureInfo.RefreshTransitions(pq); TimeSpan ts = DateTime.Now - start; // B2018-002 - Invalid Transitions - Display Transition Refresh Statistics txtProcess.AppendText(string.Format("Procedure: {1}{0}Checked {2} Transitions{0}Fixed {3} Transitions{0}Converted to Text {4} Transitions{0}Cant Fix (Annotation: Bad Transition Link) {5} Transitions{0}Elapsed Seconds:{6}{0}{0}", Environment.NewLine, pq.DisplayNumber, ProcedureInfo.TranCheckCount, ProcedureInfo.TranFixCount, ProcedureInfo.TranConvertCount, ProcedureInfo.TranCantFixCount, ts.TotalSeconds)); @@ -1145,42 +969,7 @@ namespace VEPROMS return VlnFlexGrid.ROTableUpdate(sender, args); } - private void PopulateTransitionInfoLists(List pil) - { - Dictionary dic = new Dictionary(); - StringBuilder sb = new StringBuilder(); - foreach (ProcedureInfo pi in pil) - if (!dic.ContainsKey(pi.MyDocVersion.VersionID)) - { - dic.Add(pi.MyDocVersion.VersionID, pi.MyDocVersion.VersionID); - sb.Append(sb.Length == 0 ? pi.MyDocVersion.VersionID.ToString() : "," + pi.MyDocVersion.VersionID.ToString()); - } - txtProcess.AppendText("Preparing to process..."); - txtProcess.AppendText(Environment.NewLine); - Application.DoEvents(); - //transitionsToDisconnected = TransitionInfoList.GetTransitionsToDisconnected(sb.ToString()); - //transitionsToNonEditable = TransitionInfoList.GetTransitionsToNonEditable(sb.ToString()); - } - - private void ProgressBarShowText() - { - pbProcess.Refresh(); - int percent = (int)(((double)(pbProcess.Value - pbProcess.Minimum) / - (double)(pbProcess.Maximum - pbProcess.Minimum)) * 100); - using (Graphics gr = pbProcess.CreateGraphics()) - { - gr.DrawString(percent.ToString() + "%", - SystemFonts.DefaultFont, - Brushes.Black, - new PointF(pbProcess.Width / 2 - (gr.MeasureString(percent.ToString() + "%", - SystemFonts.DefaultFont).Width / 2.0F), - pbProcess.Height / 2 - (gr.MeasureString(percent.ToString() + "%", - SystemFonts.DefaultFont).Height / 2.0F))); - } - Application.DoEvents(); - } - - StringBuilder myFixes; + StringBuilder myFixes; int myFixesCount = 0; int myConvertCount = 0; // show the changes made in the Results pannel, include the ItemId of the step element @@ -1199,7 +988,6 @@ namespace VEPROMS { txtResults.AppendText(string.Format("Fixed Referenced Object for {1}({4}){0}Old Text: {2}{0}New Text: {3}{0}{0}", Environment.NewLine, (sender as ItemInfo).ShortPath, args.OldValue, args.NewValue, (sender as ItemInfo).ItemID)); Application.DoEvents(); - //myFixes.AppendLine(string.Format("Fixed Referenced Object for {1}{0}Old Text: {2}{0}New Text: {3}{0}", Environment.NewLine, (sender as ItemInfo).ShortPath, args.OldValue, args.NewValue)); } else // B2018-002 - Invalid Transitions - Display Transition Cconversion Statistics { @@ -1354,14 +1142,6 @@ namespace VEPROMS pnlLater.Enabled = chkLater.Checked; } - // C2017-030 new Admin Tools user interface - private void sideNavItmCheck_Click(object sender, EventArgs e) - { - AdminToolType = E_AdminToolType.Check; - lblAdmToolProgressType.Text = "Checking:"; - setupProgessSteps1(); - } - // C2017-030 new Admin Tools user interface private void sideNavItmRepair_Click(object sender, EventArgs e) { @@ -1387,13 +1167,6 @@ namespace VEPROMS ResetTV(false); } - // C2017-030 new Admin Tools user interface - private void sideNavItmUsers_Click(object sender, EventArgs e) - { - AdminToolType = E_AdminToolType.Users; - setupProgessSteps1(); - } - // C2017-030 new Admin Tools user interface private void sideNavItmExit_Click(object sender, EventArgs e) { @@ -1413,27 +1186,18 @@ namespace VEPROMS ResetDelTV(false); } - // new Admin Tools user interface for deletes - //private void sideNavItmDelete_Click_1(object sender, EventArgs e) - //{ - - //} - #region On/Off Swiches // C2017-030 new Admin Tools user interface private enum E_AdminToolType : int { - Check = 0, Repair = 1, Links = 2, - Users = 3, Delete = 4 }; private E_AdminToolType AdminToolType = 0; DevComponents.DotNetBar.StepItem siOrphDatRecs = new DevComponents.DotNetBar.StepItem("siOrphDatRecs", "Orphan Data Records"); - DevComponents.DotNetBar.StepItem siHiddenDataLocs = new DevComponents.DotNetBar.StepItem("siHiddenDataLocs", "Hidden Data"); DevComponents.DotNetBar.StepItem siObsoleteROData = new DevComponents.DotNetBar.StepItem("siObsoleteROData", "Obsolete RO Data"); DevComponents.DotNetBar.StepItem siStandardHyphens = new DevComponents.DotNetBar.StepItem("siStandardHyphens", "Standardize Hyphens"); DevComponents.DotNetBar.StepItem siRefreshAttmts = new DevComponents.DotNetBar.StepItem("siRefreshAttmts", "Refresh Word Attachments"); @@ -1446,18 +1210,6 @@ namespace VEPROMS switch (AdminToolType) { - case E_AdminToolType.Check: - if (swCkOrphanDataRecs.Value) - progressSteps1.Items.Add(siOrphDatRecs); - if (swHiddenDataLocs.Value) - progressSteps1.Items.Add(siHiddenDataLocs); - if (swCkObsoleteROData.Value) - progressSteps1.Items.Add(siObsoleteROData); - splitContainer3.Panel2Collapsed = false; - progressSteps1.Visible = true; - progressSteps1.Refresh(); - break; - case E_AdminToolType.Repair: if (swRmOrphanDataRecs.Value) progressSteps1.Items.Add(siOrphDatRecs); @@ -1475,7 +1227,6 @@ namespace VEPROMS break; case E_AdminToolType.Links: - case E_AdminToolType.Users: splitContainer3.Panel2Collapsed = true; progressSteps1.Visible = false; break; @@ -1532,7 +1283,6 @@ namespace VEPROMS private void StepProgress(int prgStpIdx, int val) { ((DevComponents.DotNetBar.StepItem)progressSteps1.Items[prgStpIdx]).Value = val; - return; } private void ClearStepProgress() @@ -1595,42 +1345,6 @@ namespace VEPROMS CheckROLinks(); // C2022-028 check for Bad RO Links } - private void btnRunCheck_Click(object sender, EventArgs e) - { - if (!CheckProcessLater()) return; // delay processing if set//B2017-221 Allow the batch dialog to close when waiting to process. - - int prgStpIdx = -1; - txtResults.Clear(); - txtProcess.Clear(); - - if (swCkOrphanDataRecs.Value) - { - StepProgress(++prgStpIdx, 50); - IdentifyDisconnectedItems(); // orphan items - StepProgress(prgStpIdx, 100); - } - - if (swHiddenDataLocs.Value) - { - StepProgress(++prgStpIdx, 50); - IdentifyNonEditableItems(); // hidden items - StepProgress(prgStpIdx, 100); - } - - if (swCkObsoleteROData.Value) - { - StepProgress(++prgStpIdx, 25); - IdentifyROAssociations(); - StepProgress(prgStpIdx, 50); - IdentifyUnusedRoFstsAndFigures(); - StepProgress(prgStpIdx, 100); - } - - MessageBox.Show("Check Functions Completed", "Check"); - - ClearStepProgress(); - } - private void btnRunRepair_Click(object sender, EventArgs e) { if (!CheckProcessLater()) return; // delay processing if set//B2017-221 Allow the batch dialog to close when waiting to process. @@ -1755,12 +1469,12 @@ namespace VEPROMS if (!MySessionInfo.CanCheckOutItem(dq.VersionID, CheckOutType.DocVersion, ref msg)) { string msgp = string.Empty; - foreach (ProcedureInfo pi in dq.Procedures) + foreach (ProcedureInfo pi in dq.Procedures.OfType()) { if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref msgp)) { FolderInfo fi = (FolderInfo)dq.ActiveParent; - int itemID = (int)fi.FolderID; + int itemID = fi.FolderID; string folderName = fi.Name; if (swDeleteFolder.Value) @@ -1853,7 +1567,7 @@ namespace VEPROMS { //Gather folder information FolderInfo fi = (FolderInfo)kvp.ActiveParent; - int itemID = (int)fi.FolderID; + int itemID = fi.FolderID; string folderName = fi.Name; // Perform the deletion operation @@ -1877,8 +1591,8 @@ namespace VEPROMS foreach (var kvp in emptyFoldersToDelete) { //Gather folder information - FolderInfo fi = (FolderInfo)kvp; - int itemID = (int)fi.FolderID; + FolderInfo fi = kvp; + int itemID = fi.FolderID; string folderName = fi.Name; // Perform the deletion operation @@ -1929,9 +1643,8 @@ namespace VEPROMS return true; } - catch (Exception ex) + catch { - string err = ex.ToString(); return false; } } diff --git a/PROMS/VEPROMS User Interface/frmBatchRefresh.resx b/PROMS/VEPROMS User Interface/frmBatchRefresh.resx index bb1f3d20..55a3e983 100644 --- a/PROMS/VEPROMS User Interface/frmBatchRefresh.resx +++ b/PROMS/VEPROMS User Interface/frmBatchRefresh.resx @@ -120,196 +120,6 @@ 17, 17 - - This allows the user to remove folders and sub folders as well as their contents. - -Be sure a current backup of the database exists prior performing this function. - -It is recommended that this be done during off hours. - - - - - This allows the user to remove folders and sub folders as well as their contents. - -Be sure a current backup of the database exists prior performing this function. - -It is recommended that this be done during off hours. - - - - - This function will allow the user to remove annotations from the selected working drafts. - -Be sure a current backup of the database exists prior to running this function. - -If more than one working draft is selected, it is recommended that this be performed during off hours. - - - This function will allow the user to remove annotations from the selected working drafts. - -Be sure a current backup of the database exists prior to running this function. - -If more than one working draft is selected, it is recommended that this be performed during off hours. - - - This will allow for the deletion of groups of annotations and allow for deleting entire folders within PROMS. Use the tree nodes to select which items to delete. - -Click on the on/off switches to turn on/off each tool. - -Note that only one of these tools can be run at a time. - - - This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode. - -Bad referenced bject links will be identified with an Bad RO Link annotation. Use the PROMS Search tool to list all of the steps that have this annotation. - -Be sure a current backup of the database exists prior performing this function. - -It is recommended that this be done during off hours. - - - - - This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode. - -Bad referenced bject links will be identified with an Bad RO Link annotation. Use the PROMS Search tool to list all of the steps that have this annotation. - -Be sure a current backup of the database exists prior performing this function. - -It is recommended that this be done during off hours. - - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F - k11Ik1Ecxv9zouJ2E4TWnR8V5tAppJmYsLnNlaLTxAoiKIQiibpYSmEEmSSa0IVGISMUw7rpE+yiQiuk - /IhROssPyjanpL4udeq29z3nCdcH+Wb1g+fq/zzP+R8Oh+gvPK4kNWujp1IrPek8S5Hy+X9hbXSN9aVC - eq1FwEYN8vk/mWqiDPZwI+NOHbhLj8CdDaK7npLlvnWpO0AKqZV62YgO/GMquDMN0rAevkbqlHvXZdlG - h6Rn8eATu4GJncB0Fvh8HnwPYuGpJ4vcvwZbGYWJrcpPzGXG8ngGtsZFQJOggrS0B9J0MbwNIR9uHqRQ - ee4XPhuVSy814IIB/lk9QkIIanUomFgIzkux0qHB/CUqk+eCtB2jCLEl1M1mLcBSLthKHlQqJaKjw8FZ - Mbi/ENKXEizUKD/f2k9h8jz5mumk2K0F9xUAUgE4K0JUVDji4yLBvflgMyYwlxFL9zSYq6ITa8I3DlNY - wKZ0soVSgFkAXgwuFSEmJhJJiWqwCR3YSCbY2x0QB4zwnFc6W4p+22KxiY4EXiQF74kf6/L5vdi+TYV0 - rRpsMB2sPxWsRwvpTTq87QmYOUNHg+HqQlL4ryscbK4UPGD5vu60CWw8G7evbkN7bSykXm0w/FMBew6E - CsXQFQMpaLKezP6OLeDL+8AFM5hLBzaciennKcFXUCgI7o7ENQWSfRcWmmPgPEW5tNJIj8QxM9hkDthY - FthAGlh/SvAPXC7fjOrjmyC+Sl5TsCpfdzYEK92llUbllDiaD3HEDPG9CaLDCGnI9IdEhwnioBHiOwMC - dj38fYbVglHy1FGJt57uL9ZS10IN9cxfJPvXCzTgqSKH5xwNzVXSkFBBDsFKA4KV7IKVegQrda2e7j5N - ud8AKwnMnBpmYFAAAAAASUVORK5CYII= - - - - This allows the user to update referenced objects values for multiple working drafts in a batch mode. - -Be sure a current backup of the database exists prior performing this function. - -It is recommended that this be done during off hours. - - - - This function will refresh transitions in all procedures selected below, whether they were selected individually or as a group via a procedure set. - -Be sure a current backup of the database exists prior to running this function. - -If more than one procedure is selected, it is recommended that this be performed during off hours. - - - This allows the user to update referenced objects values for multiple working drafts in a batch mode. - -Be sure a current backup of the database exists prior performing this function. - -It is recommended that this be done during off hours. - - - - This function will refresh transitions in all procedures selected below, whether they were selected individually or as a group via a procedure set. - -Be sure a current backup of the database exists prior to running this function. - -If more than one procedure is selected, it is recommended that this be performed during off hours. - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F - k11Ik1Ecxv9zouJ2E4TWnR8V5tAppJmYsLnNlaLTxAoiKIQiibpYSmEEmSSa0IVGISMUw7rpE+yiQiuk - /IhROssPyjanpL4udeq29z3nCdcH+Wb1g+fq/zzP+R8Oh+gvPK4kNWujp1IrPek8S5Hy+X9hbXSN9aVC - eq1FwEYN8vk/mWqiDPZwI+NOHbhLj8CdDaK7npLlvnWpO0AKqZV62YgO/GMquDMN0rAevkbqlHvXZdlG - h6Rn8eATu4GJncB0Fvh8HnwPYuGpJ4vcvwZbGYWJrcpPzGXG8ngGtsZFQJOggrS0B9J0MbwNIR9uHqRQ - ee4XPhuVSy814IIB/lk9QkIIanUomFgIzkux0qHB/CUqk+eCtB2jCLEl1M1mLcBSLthKHlQqJaKjw8FZ - Mbi/ENKXEizUKD/f2k9h8jz5mumk2K0F9xUAUgE4K0JUVDji4yLBvflgMyYwlxFL9zSYq6ITa8I3DlNY - wKZ0soVSgFkAXgwuFSEmJhJJiWqwCR3YSCbY2x0QB4zwnFc6W4p+22KxiY4EXiQF74kf6/L5vdi+TYV0 - rRpsMB2sPxWsRwvpTTq87QmYOUNHg+HqQlL4ryscbK4UPGD5vu60CWw8G7evbkN7bSykXm0w/FMBew6E - CsXQFQMpaLKezP6OLeDL+8AFM5hLBzaciennKcFXUCgI7o7ENQWSfRcWmmPgPEW5tNJIj8QxM9hkDthY - FthAGlh/SvAPXC7fjOrjmyC+Sl5TsCpfdzYEK92llUbllDiaD3HEDPG9CaLDCGnI9IdEhwnioBHiOwMC - dj38fYbVglHy1FGJt57uL9ZS10IN9cxfJPvXCzTgqSKH5xwNzVXSkFBBDsFKA4KV7IKVegQrda2e7j5N - ud8AKwnMnBpmYFAAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F - k11Ik1Ecxv9zouJ2E4TWnR8V5tAppJmYsLnNlaLTxAoiKIQiibpYSmEEmSSa0IVGISMUw7rpE+yiQiuk - /IhROssPyjanpL4udeq29z3nCdcH+Wb1g+fq/zzP+R8Oh+gvPK4kNWujp1IrPek8S5Hy+X9hbXSN9aVC - eq1FwEYN8vk/mWqiDPZwI+NOHbhLj8CdDaK7npLlvnWpO0AKqZV62YgO/GMquDMN0rAevkbqlHvXZdlG - h6Rn8eATu4GJncB0Fvh8HnwPYuGpJ4vcvwZbGYWJrcpPzGXG8ngGtsZFQJOggrS0B9J0MbwNIR9uHqRQ - ee4XPhuVSy814IIB/lk9QkIIanUomFgIzkux0qHB/CUqk+eCtB2jCLEl1M1mLcBSLthKHlQqJaKjw8FZ - Mbi/ENKXEizUKD/f2k9h8jz5mumk2K0F9xUAUgE4K0JUVDji4yLBvflgMyYwlxFL9zSYq6ITa8I3DlNY - wKZ0soVSgFkAXgwuFSEmJhJJiWqwCR3YSCbY2x0QB4zwnFc6W4p+22KxiY4EXiQF74kf6/L5vdi+TYV0 - rRpsMB2sPxWsRwvpTTq87QmYOUNHg+HqQlL4ryscbK4UPGD5vu60CWw8G7evbkN7bSykXm0w/FMBew6E - CsXQFQMpaLKezP6OLeDL+8AFM5hLBzaciennKcFXUCgI7o7ENQWSfRcWmmPgPEW5tNJIj8QxM9hkDthY - FthAGlh/SvAPXC7fjOrjmyC+Sl5TsCpfdzYEK92llUbllDiaD3HEDPG9CaLDCGnI9IdEhwnioBHiOwMC - dj38fYbVglHy1FGJt57uL9ZS10IN9cxfJPvXCzTgqSKH5xwNzVXSkFBBDsFKA4KV7IKVegQrda2e7j5N - ud8AKwnMnBpmYFAAAAAASUVORK5CYII= - - - - Referenced Objects databases are associated with a procedure set (such as Working Draft). - -RO paths, ROFST versions, and the contents of RO figures are stored in the database when referenced. This tool will identify stored RO Paths, ROFST versions, and Figures that are no longer used. - - - - Typically, a section in PROMS only has sub-sections or steps. When and existing section is divided into sub-sections, the resulting main section might have both. - -When this occurs, the step data in the main section can be marked as non-editable. The user can no longer get to these steps and they can become forgotten as PROMS will ignore these non-editable steps when the procedure is printed. - -This tool will identify if the database has non-editable steps and provide a listing of these steps. The use can then go to these main sections, make them editable via the property page, and delete or move these steps. - -This tool may take an extended period of time to execute. - - - - Referenced Objects databases are associated with a procedure set (such as Working Draft). - -RO paths, ROFST versions, and the contents of RO figures are stored in the database when referenced. This tool will identify stored RO Paths, ROFST versions, and Figures that are no longer used. - - - - Typically, a section in PROMS only has sub-sections or steps. When and existing section is divided into sub-sections, the resulting main section might have both. - -When this occurs, the step data in the main section can be marked as non-editable. The user can no longer get to these steps and they can become forgotten as PROMS will ignore these non-editable steps when the procedure is printed. - -This tool will identify if the database has non-editable steps and provide a listing of these steps. The use can then go to these main sections, make them editable via the property page, and delete or move these steps. - -This tool may take an extended period of time to execute. - - - - Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it. - -Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool detects any orphaned items in the database. - -This tool may take an extended period of time to execute. - - - - Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it. - -Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool detects any orphaned items in the database. - -This tool may take an extended period of time to execute. - - When Word attachments are modified and saved, PROMS will create a PDF of the attachment contents and save it in the database. When this is done, all the of the RO references are resolved as well as pagination of the attachment. This speeds up the overall printing of the procedure in that PROMS simply inserts the attachment contents. @@ -322,6 +132,7 @@ This function will remove all of the saved attachment PDFS stored in the databas This function will remove all of the saved attachment PDFS stored in the database (not the PDFs of the entire procedure that you had previous printed). This will force PROMS to regenerate (and save) the word attachment PDFs the next time the procedure is printed. + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F @@ -404,6 +215,130 @@ Should an item become orphaned (disconnected) from the rest of the data, it will Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it. Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool removes any orphaned items from the database. + + + + This allows the user to remove folders and sub folders as well as their contents. + +Be sure a current backup of the database exists prior performing this function. + +It is recommended that this be done during off hours. + + + + + This allows the user to remove folders and sub folders as well as their contents. + +Be sure a current backup of the database exists prior performing this function. + +It is recommended that this be done during off hours. + + + + + This function will allow the user to remove annotations from the selected working drafts. + +Be sure a current backup of the database exists prior to running this function. + +If more than one working draft is selected, it is recommended that this be performed during off hours. + + + This function will allow the user to remove annotations from the selected working drafts. + +Be sure a current backup of the database exists prior to running this function. + +If more than one working draft is selected, it is recommended that this be performed during off hours. + + + This will allow for the deletion of groups of annotations and allow for deleting entire folders within PROMS. Use the tree nodes to select which items to delete. + +Click on the on/off switches to turn on/off each tool. + +Note that only one of these tools can be run at a time. + + + This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode. + +Bad referenced bject links will be identified with an Bad RO Link annotation. Use the PROMS Search tool to list all of the steps that have this annotation. + +Be sure a current backup of the database exists prior performing this function. + +It is recommended that this be done during off hours. + + + + + This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode. + +Bad referenced bject links will be identified with an Bad RO Link annotation. Use the PROMS Search tool to list all of the steps that have this annotation. + +Be sure a current backup of the database exists prior performing this function. + +It is recommended that this be done during off hours. + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F + k11Ik1Ecxv9zouJ2E4TWnR8V5tAppJmYsLnNlaLTxAoiKIQiibpYSmEEmSSa0IVGISMUw7rpE+yiQiuk + /IhROssPyjanpL4udeq29z3nCdcH+Wb1g+fq/zzP+R8Oh+gvPK4kNWujp1IrPek8S5Hy+X9hbXSN9aVC + eq1FwEYN8vk/mWqiDPZwI+NOHbhLj8CdDaK7npLlvnWpO0AKqZV62YgO/GMquDMN0rAevkbqlHvXZdlG + h6Rn8eATu4GJncB0Fvh8HnwPYuGpJ4vcvwZbGYWJrcpPzGXG8ngGtsZFQJOggrS0B9J0MbwNIR9uHqRQ + ee4XPhuVSy814IIB/lk9QkIIanUomFgIzkux0qHB/CUqk+eCtB2jCLEl1M1mLcBSLthKHlQqJaKjw8FZ + Mbi/ENKXEizUKD/f2k9h8jz5mumk2K0F9xUAUgE4K0JUVDji4yLBvflgMyYwlxFL9zSYq6ITa8I3DlNY + wKZ0soVSgFkAXgwuFSEmJhJJiWqwCR3YSCbY2x0QB4zwnFc6W4p+22KxiY4EXiQF74kf6/L5vdi+TYV0 + rRpsMB2sPxWsRwvpTTq87QmYOUNHg+HqQlL4ryscbK4UPGD5vu60CWw8G7evbkN7bSykXm0w/FMBew6E + CsXQFQMpaLKezP6OLeDL+8AFM5hLBzaciennKcFXUCgI7o7ENQWSfRcWmmPgPEW5tNJIj8QxM9hkDthY + FthAGlh/SvAPXC7fjOrjmyC+Sl5TsCpfdzYEK92llUbllDiaD3HEDPG9CaLDCGnI9IdEhwnioBHiOwMC + dj38fYbVglHy1FGJt57uL9ZS10IN9cxfJPvXCzTgqSKH5xwNzVXSkFBBDsFKA4KV7IKVegQrda2e7j5N + ud8AKwnMnBpmYFAAAAAASUVORK5CYII= + + + + This allows the user to update referenced objects values for multiple working drafts in a batch mode. + +Be sure a current backup of the database exists prior performing this function. + +It is recommended that this be done during off hours. + + + + This function will refresh transitions in all procedures selected below, whether they were selected individually or as a group via a procedure set. + +Be sure a current backup of the database exists prior to running this function. + +If more than one procedure is selected, it is recommended that this be performed during off hours. + + + This allows the user to update referenced objects values for multiple working drafts in a batch mode. + +Be sure a current backup of the database exists prior performing this function. + +It is recommended that this be done during off hours. + + + + This function will refresh transitions in all procedures selected below, whether they were selected individually or as a group via a procedure set. + +Be sure a current backup of the database exists prior to running this function. + +If more than one procedure is selected, it is recommended that this be performed during off hours. + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F + k11Ik1Ecxv9zouJ2E4TWnR8V5tAppJmYsLnNlaLTxAoiKIQiibpYSmEEmSSa0IVGISMUw7rpE+yiQiuk + /IhROssPyjanpL4udeq29z3nCdcH+Wb1g+fq/zzP+R8Oh+gvPK4kNWujp1IrPek8S5Hy+X9hbXSN9aVC + eq1FwEYN8vk/mWqiDPZwI+NOHbhLj8CdDaK7npLlvnWpO0AKqZV62YgO/GMquDMN0rAevkbqlHvXZdlG + h6Rn8eATu4GJncB0Fvh8HnwPYuGpJ4vcvwZbGYWJrcpPzGXG8ngGtsZFQJOggrS0B9J0MbwNIR9uHqRQ + ee4XPhuVSy814IIB/lk9QkIIanUomFgIzkux0qHB/CUqk+eCtB2jCLEl1M1mLcBSLthKHlQqJaKjw8FZ + Mbi/ENKXEizUKD/f2k9h8jz5mumk2K0F9xUAUgE4K0JUVDji4yLBvflgMyYwlxFL9zSYq6ITa8I3DlNY + wKZ0soVSgFkAXgwuFSEmJhJJiWqwCR3YSCbY2x0QB4zwnFc6W4p+22KxiY4EXiQF74kf6/L5vdi+TYV0 + rRpsMB2sPxWsRwvpTTq87QmYOUNHg+HqQlL4ryscbK4UPGD5vu60CWw8G7evbkN7bSykXm0w/FMBew6E + CsXQFQMpaLKezP6OLeDL+8AFM5hLBzaciennKcFXUCgI7o7ENQWSfRcWmmPgPEW5tNJIj8QxM9hkDthY + FthAGlh/SvAPXC7fjOrjmyC+Sl5TsCpfdzYEK92llUbllDiaD3HEDPG9CaLDCGnI9IdEhwnioBHiOwMC + dj38fYbVglHy1FGJt57uL9ZS10IN9cxfJPvXCzTgqSKH5xwNzVXSkFBBDsFKA4KV7IKVegQrda2e7j5N + ud8AKwnMnBpmYFAAAAAASUVORK5CYII= diff --git a/PROMS/VEPROMS User Interface/frmGenTools.cs b/PROMS/VEPROMS User Interface/frmGenTools.cs new file mode 100644 index 00000000..238519b6 --- /dev/null +++ b/PROMS/VEPROMS User Interface/frmGenTools.cs @@ -0,0 +1,436 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using VEPROMS.CSLA.Library; +using System.IO; +using Volian.Controls.Library; +using DevComponents.DotNetBar; +using JR.Utils.GUI.Forms; +using System.Linq; + +namespace VEPROMS +{ + public partial class frmGenTools : Form + { + private SessionInfo _MySessionInfo; + public SessionInfo MySessionInfo + { + get { return _MySessionInfo; } + set { _MySessionInfo = value; } + } + + public frmGenTools(SessionInfo sessionInfo, frmVEPROMS veProms) + { + InitializeComponent(); + _MySessionInfo = sessionInfo; + + // When opening General tools Check tab will be default. + this.sideNavItmCheck.Checked = true; + + setupProgessSteps1(); // C2017-030 - new Tools user interface + + } + + private void frmGenTools_Load(object sender, EventArgs e) + { + IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process. + } + private bool IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process. + private void frmGenTools_FormClosing(object sender, EventArgs e) + { + IsClosing = true;//B2017-221 Allow the batch dialog to close when waiting to process. + } + + // C2017-030 - new Tools user interface + // tool renamed to Identify Orphan Items + private void IdentifyDisconnectedItems() + { + this.Cursor = Cursors.WaitCursor; + DateTime pStart = DateTime.Now; + txtProcess.AppendText("Identifing Orphan Items"); + txtProcess.AppendText(Environment.NewLine); + txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm"))); + txtProcess.AppendText(Environment.NewLine); + Application.DoEvents(); + int rowCount = ESP_IdentifyDisconnectedItems.Execute("vesp_GetDisconnectedItemsCount"); + txtProcess.AppendText(string.Format("Orphan Items Count: {0}", rowCount)); + txtProcess.AppendText(Environment.NewLine); + if (rowCount > 0) + { + txtResults.AppendText(string.Format("The database contains {0} Orphan items.", rowCount)); + txtResults.AppendText(Environment.NewLine); + txtResults.AppendText("These can be removed via the Remove Orphan Data Records in the Repair tools"); + txtResults.AppendText(Environment.NewLine); + txtResults.AppendText(Environment.NewLine); + } + else + { + txtResults.AppendText("No Orphan Records Found");// B2017-108 Always output results even if there isn't any + txtResults.AppendText(Environment.NewLine); + txtResults.AppendText(Environment.NewLine); + } + DateTime pEnd = DateTime.Now; + txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm"))); + txtProcess.AppendText(Environment.NewLine); + txtProcess.AppendText(Environment.NewLine); + Application.DoEvents(); + this.Cursor = Cursors.Default; + } + + // C2017-030 - new Tools user interface + // is one of two tools run from Check Obsolete RO Data + private void IdentifyUnusedRoFstsAndFigures() + { + this.Cursor = Cursors.WaitCursor; + DateTime pStart = DateTime.Now; + txtProcess.AppendText("Identifing Unused RoFsts and Figures"); + txtProcess.AppendText(Environment.NewLine); + txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm"))); + txtProcess.AppendText(Environment.NewLine); + Application.DoEvents(); + int rowCountRoFst = ESP_GetUnusedRoFsts.Execute("vesp_GetUnusedRoFstsCount"); + int rowCountFigures = ESP_GetUnusedFigures.Execute("vesp_GetUnusedFiguresCount"); + txtProcess.AppendText(string.Format("Unused RoFsts Count: {0}, Unused Figures Count: {1}", rowCountRoFst, rowCountFigures)); + txtProcess.AppendText(Environment.NewLine); + if (rowCountRoFst > 0 || rowCountFigures > 0) + { + txtResults.AppendText(string.Format("The database contains {0} unused RoFsts.", rowCountRoFst)); + txtResults.AppendText(Environment.NewLine); + txtResults.AppendText(string.Format("The database contains {0} unused Figures items.", rowCountFigures)); + txtResults.AppendText(Environment.NewLine); + txtResults.AppendText(Environment.NewLine); + } + else + { + txtResults.AppendText("No Unused RoFsts or Figures Found"); // B2017-108 Always output results even if there isn't any + txtResults.AppendText(Environment.NewLine); + txtResults.AppendText(Environment.NewLine); + } + + DateTime pEnd = DateTime.Now; + txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm"))); + txtProcess.AppendText(Environment.NewLine); + txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm"))); + txtProcess.AppendText(Environment.NewLine); + Application.DoEvents(); + this.Cursor = Cursors.Default; + } + + // C2017-030 - new Tools user interface + // is one of two tools run from Check Obsolete RO Data + private void IdentifyROAssociations() + { + this.Cursor = Cursors.WaitCursor; + DateTime pStart = DateTime.Now; + txtProcess.AppendText("Identifing Unused RO Associations"); + txtProcess.AppendText(Environment.NewLine); + txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm"))); + txtProcess.AppendText(Environment.NewLine); + Application.DoEvents(); + int rowCount = ESP_GetROAssoc.Execute("vesp_GetUnusedROAssociationsCount"); + txtProcess.AppendText(string.Format("Unused RO Associations Count: {0}", rowCount)); + txtProcess.AppendText(Environment.NewLine); + if (rowCount > 0) + { + txtResults.AppendText(string.Format("The database contains {0} unused RO Associations.", rowCount)); + txtResults.AppendText(Environment.NewLine); + txtResults.AppendText(Environment.NewLine); + } + else + { + txtResults.AppendText("No unused RO Associations Found");// B2017-108 Always output results even if there isn't any + txtResults.AppendText(Environment.NewLine); + txtResults.AppendText(Environment.NewLine); + } + DateTime pEnd = DateTime.Now; + txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm"))); + txtProcess.AppendText(Environment.NewLine); + txtProcess.AppendText(Environment.NewLine); + Application.DoEvents(); + this.Cursor = Cursors.Default; + } + + // C2017-030 - new Tools user interface + // tool was renamed to Hidden Data Locations (on Check list) + private void IdentifyNonEditableItems() + { + this.Cursor = Cursors.WaitCursor; + DateTime pStart = DateTime.Now; + txtProcess.AppendText("Identifing Hidden Item Locations"); + txtProcess.AppendText(Environment.NewLine); + txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm"))); + txtProcess.AppendText(Environment.NewLine); + Application.DoEvents(); + List myItems = ESP_IdentifyNonEditableItems.Execute("vesp_GetNonEditableItems"); + txtProcess.AppendText(string.Format("Hidden Items Count: {0}", myItems.Count)); + txtProcess.AppendText(Environment.NewLine); + if (myItems.Count > 0) + { + txtResults.AppendText("The following items are hidden (non-editable)..."); + txtResults.AppendText(Environment.NewLine); + txtResults.AppendText(Environment.NewLine); + foreach (ItemInfo ii in myItems) + { + txtResults.AppendText(ii.Path); + txtResults.AppendText(Environment.NewLine); + } + txtResults.AppendText(Environment.NewLine); + } + else + { + txtResults.AppendText("No Hidden Data Found");// B2017-108 Always output results even if there isn't any + txtResults.AppendText(Environment.NewLine); + txtResults.AppendText(Environment.NewLine); + } + //C2025-011 RO Update Tool Memory Enhancements + //clear the list since no longer using it + myItems.Clear(); + DateTime pEnd = DateTime.Now; + txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm"))); + txtProcess.AppendText(Environment.NewLine); + txtProcess.AppendText(Environment.NewLine); + Application.DoEvents(); + this.Cursor = Cursors.Default; + } + + // C2017-030 - new Tools user interface + // tool was renamed to Show Users + private void GetDatabaseSessions() + { + this.Cursor = Cursors.WaitCursor; + DateTime pStart = DateTime.Now; + txtProcess.AppendText("Show Users in PROMS"); + txtProcess.AppendText(Environment.NewLine); + txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm"))); + txtProcess.AppendText(Environment.NewLine); + Application.DoEvents(); + txtResults.Clear(); + txtResults.AppendText(ESP_GetDatabaseSessions.Execute("vesp_GetDatabaseSessions")); + DateTime pEnd = DateTime.Now; + txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm"))); + Application.DoEvents(); + this.Cursor = Cursors.Default; + MessageBox.Show("Show Users Completed", "Show Users"); + } + + public List roFstInfo_ROTableUpdate(object sender, ROFstInfoROTableUpdateEventArgs args) + { + return VlnFlexGrid.ROTableUpdate(sender, args); + } + + private void btnClear_Click(object sender, EventArgs e) + { + txtResults.Clear(); + } + + private void btnSave_Click(object sender, EventArgs e) + { + SaveFileDialog sfd = new SaveFileDialog(); + sfd.DefaultExt = "txt"; + sfd.AddExtension = true; + sfd.Filter = "Text Files (*.txt)|*.txt"; + sfd.FileName = string.Format("BatchRefreshResults_{0}", DateTime.Now.ToString("yyyyMMdd_HHmm")); + sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS"; + DialogResult dr = sfd.ShowDialog(); + + if (dr == DialogResult.OK) + { + System.IO.StreamWriter sw = new System.IO.StreamWriter(sfd.FileName); + sw.Write(txtResults.Text); + sw.Close(); + } + } + + private ProgressBarItem _ProgressBar = null; + + public ProgressBarItem ProgressBar + { + get { return _ProgressBar; } + set + { + _ProgressBar = value; + _ProgressBar.TextVisible = true; + } + } + + private void chkLater_CheckedChanged(object sender, EventArgs e) + { + pnlLater.Enabled = chkLater.Checked; + } + + // C2017-030 new Tools user interface + private void sideNavItmCheck_Click(object sender, EventArgs e) + { + GenToolType = E_GenToolType.Check; + lblAdmToolProgressType.Text = "Checking:"; + setupProgessSteps1(); + } + + // C2017-030 new Tools user interface + private void sideNavItmUsers_Click(object sender, EventArgs e) + { + GenToolType = E_GenToolType.Users; + setupProgessSteps1(); + } + + // C2017-030 new Tools user interface + private void sideNavItmExit_Click(object sender, EventArgs e) + { + this.Close(); + } + + #region On/Off Swiches + + // C2017-030 new Tools user interface + private enum E_GenToolType : int + { + Check = 0, + Users = 3 + }; + private E_GenToolType GenToolType = 0; + + DevComponents.DotNetBar.StepItem siOrphDatRecs = new DevComponents.DotNetBar.StepItem("siOrphDatRecs", "Orphan Data Records"); + DevComponents.DotNetBar.StepItem siHiddenDataLocs = new DevComponents.DotNetBar.StepItem("siHiddenDataLocs", "Hidden Data"); + DevComponents.DotNetBar.StepItem siObsoleteROData = new DevComponents.DotNetBar.StepItem("siObsoleteROData", "Obsolete RO Data"); + + // this will update/rebuild the progress bar in the bottom panel of Tools + private void setupProgessSteps1() + { + progressSteps1.Visible = false; + progressSteps1.Items.Clear(); + + switch (GenToolType) + { + case E_GenToolType.Check: + if (swCkOrphanDataRecs.Value) + progressSteps1.Items.Add(siOrphDatRecs); + if (swHiddenDataLocs.Value) + progressSteps1.Items.Add(siHiddenDataLocs); + if (swCkObsoleteROData.Value) + progressSteps1.Items.Add(siObsoleteROData); + splitContainer3.Panel2Collapsed = false; + progressSteps1.Visible = true; + progressSteps1.Refresh(); + break; + + case E_GenToolType.Users: + splitContainer3.Panel2Collapsed = true; + progressSteps1.Visible = false; + break; + } + } + + // used for all of the Switch buttons (ON/OFF buttons) + private void swCk_ValueChanged(object sender, EventArgs e) + { + setupProgessSteps1(); + } + + #endregion + + // C2017-030 New Tools user interface + // functions to handle the progress bar in the bottom panel of Tools + private void StepProgress(int prgStpIdx, int val) + { + ((DevComponents.DotNetBar.StepItem)progressSteps1.Items[prgStpIdx]).Value = val; + } + + private void ClearStepProgress() + { + for (int i = 0; i < progressSteps1.Items.Count; i++) + { + ((DevComponents.DotNetBar.StepItem)progressSteps1.Items[i]).Value = 0; + } + } + + // C2017-030 New Tools user interface + // button clicks for processing selected tools + //B2017-221 Allow the batch dialog to close when waiting to process. + private bool CheckProcessLater() // see if we should delay processing until later + { + if (chkLater.Checked) + { + long later = long.Parse(dtpDate.Value.ToString("yyyyMMdd") + dtpTime.Value.ToString("HHmm")); + long now = long.Parse(DateTime.Now.ToString("yyyyMMddHHmm")); + + while (now < later) + { + txtProcess.Clear(); + txtProcess.AppendText("Waiting..."); + System.Threading.Thread.Sleep(1000);//Check each second + if (IsClosing) return false;//B2017-221 Allow the batch dialog to close when waiting to process. + Application.DoEvents();// Allow user interface to react + now = long.Parse(DateTime.Now.ToString("yyyyMMddHHmm")); + } + } + + return true;// Close after complete + } + + // C2017-030 new Tools user interface + private void btn_ShowUsers_Click(object sender, EventArgs e) + { + if (!CheckProcessLater()) return; // delay processing if set//B2017-221 Allow the batch dialog to close when waiting to process. + + txtProcess.Clear(); + txtResults.Clear(); + + GetDatabaseSessions(); + } + + private void btnRunCheck_Click(object sender, EventArgs e) + { + if (!CheckProcessLater()) return; // delay processing if set//B2017-221 Allow the batch dialog to close when waiting to process. + + int prgStpIdx = -1; + txtResults.Clear(); + txtProcess.Clear(); + + if (swCkOrphanDataRecs.Value) + { + StepProgress(++prgStpIdx, 50); + IdentifyDisconnectedItems(); // orphan items + StepProgress(prgStpIdx, 100); + } + + if (swHiddenDataLocs.Value) + { + StepProgress(++prgStpIdx, 50); + IdentifyNonEditableItems(); // hidden items + StepProgress(prgStpIdx, 100); + } + + if (swCkObsoleteROData.Value) + { + StepProgress(++prgStpIdx, 25); + IdentifyROAssociations(); + StepProgress(prgStpIdx, 50); + IdentifyUnusedRoFstsAndFigures(); + StepProgress(prgStpIdx, 100); + } + + MessageBox.Show("Check Functions Completed", "Check"); + + ClearStepProgress(); + } + + //C2025-011 RO Update Tool Memory Enhancements + private void txtProcess_TextChanged(object sender, EventArgs e) + { + //clears the stack to help with memory - should never need to undo text changes to this. + txtProcess.ClearUndo(); + } + + private void txtResults_TextChanged(object sender, EventArgs e) + { + //clears the stack to help with memory - should never need to undo text changes to this. + txtResults.ClearUndo(); + } + } +} + + + + diff --git a/PROMS/VEPROMS User Interface/frmGenTools.designer.cs b/PROMS/VEPROMS User Interface/frmGenTools.designer.cs new file mode 100644 index 00000000..482713c9 --- /dev/null +++ b/PROMS/VEPROMS User Interface/frmGenTools.designer.cs @@ -0,0 +1,853 @@ +namespace VEPROMS +{ + partial class frmGenTools + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmGenTools)); + this.splitContainer3 = new System.Windows.Forms.SplitContainer(); + this.panelEx3 = new DevComponents.DotNetBar.PanelEx(); + this.txtResults = new System.Windows.Forms.TextBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.btnSave = new System.Windows.Forms.Button(); + this.btnClear = new System.Windows.Forms.Button(); + this.label3 = new System.Windows.Forms.Label(); + this.expandableSplitter2 = new DevComponents.DotNetBar.ExpandableSplitter(); + this.panelEx2 = new DevComponents.DotNetBar.PanelEx(); + this.txtProcess = new System.Windows.Forms.TextBox(); + this.pbProcess = new System.Windows.Forms.ProgressBar(); + this.label6 = new System.Windows.Forms.Label(); + this.panel3 = new System.Windows.Forms.Panel(); + this.pnlLater = new System.Windows.Forms.Panel(); + this.label5 = new System.Windows.Forms.Label(); + this.dtpTime = new System.Windows.Forms.DateTimePicker(); + this.dtpDate = new System.Windows.Forms.DateTimePicker(); + this.chkLater = new System.Windows.Forms.CheckBox(); + this.label4 = new System.Windows.Forms.Label(); + this.expandableSplitter1 = new DevComponents.DotNetBar.ExpandableSplitter(); + this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); + this.sideNav1 = new DevComponents.DotNetBar.Controls.SideNav(); + this.sideNavPanel1 = new DevComponents.DotNetBar.Controls.SideNavPanel(); + this.warningBox3 = new DevComponents.DotNetBar.Controls.WarningBox(); + this.labelX7 = new DevComponents.DotNetBar.LabelX(); + this.line1 = new DevComponents.DotNetBar.Controls.Line(); + this.swCkObsoleteROData = new DevComponents.DotNetBar.Controls.SwitchButton(); + this.swHiddenDataLocs = new DevComponents.DotNetBar.Controls.SwitchButton(); + this.labelX3 = new DevComponents.DotNetBar.LabelX(); + this.labelX2 = new DevComponents.DotNetBar.LabelX(); + this.swCkOrphanDataRecs = new DevComponents.DotNetBar.Controls.SwitchButton(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.btnRunCheck = new DevComponents.DotNetBar.ButtonX(); + this.sideNavPanel5 = new DevComponents.DotNetBar.Controls.SideNavPanel(); + this.btn_ShowUsers = new DevComponents.DotNetBar.ButtonX(); + this.sideNavItem1 = new DevComponents.DotNetBar.Controls.SideNavItem(); + this.separator1 = new DevComponents.DotNetBar.Separator(); + this.sideNavItmCheck = new DevComponents.DotNetBar.Controls.SideNavItem(); + this.sideNavItmUsers = new DevComponents.DotNetBar.Controls.SideNavItem(); + this.sideNavItmExit = new DevComponents.DotNetBar.Controls.SideNavItem(); + this.panelEx4 = new DevComponents.DotNetBar.PanelEx(); + this.progressSteps1 = new DevComponents.DotNetBar.ProgressSteps(); + this.stepItem1 = new DevComponents.DotNetBar.StepItem(); + this.stepItem2 = new DevComponents.DotNetBar.StepItem(); + this.stepItem3 = new DevComponents.DotNetBar.StepItem(); + this.stepItem4 = new DevComponents.DotNetBar.StepItem(); + this.lblAdmToolProgressType = new DevComponents.DotNetBar.LabelX(); + this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem(); + this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); + this.splitContainer3.Panel1.SuspendLayout(); + this.splitContainer3.Panel2.SuspendLayout(); + this.splitContainer3.SuspendLayout(); + this.panelEx3.SuspendLayout(); + this.panel1.SuspendLayout(); + this.panelEx2.SuspendLayout(); + this.panel3.SuspendLayout(); + this.pnlLater.SuspendLayout(); + this.panelEx1.SuspendLayout(); + this.sideNav1.SuspendLayout(); + this.sideNavPanel1.SuspendLayout(); + this.sideNavPanel5.SuspendLayout(); + this.panelEx4.SuspendLayout(); + this.SuspendLayout(); + // + // splitContainer3 + // + this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer3.Location = new System.Drawing.Point(0, 0); + this.splitContainer3.Name = "splitContainer3"; + this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer3.Panel1 + // + this.splitContainer3.Panel1.Controls.Add(this.panelEx3); + this.splitContainer3.Panel1.Controls.Add(this.expandableSplitter2); + this.splitContainer3.Panel1.Controls.Add(this.panelEx2); + this.splitContainer3.Panel1.Controls.Add(this.expandableSplitter1); + this.splitContainer3.Panel1.Controls.Add(this.panelEx1); + // + // splitContainer3.Panel2 + // + this.splitContainer3.Panel2.BackColor = System.Drawing.SystemColors.Control; + this.splitContainer3.Panel2.Controls.Add(this.panelEx4); + this.splitContainer3.Size = new System.Drawing.Size(1177, 586); + this.splitContainer3.SplitterDistance = 525; + this.splitContainer3.TabIndex = 2; + // + // panelEx3 + // + this.panelEx3.CanvasColor = System.Drawing.SystemColors.Control; + this.panelEx3.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.panelEx3.Controls.Add(this.txtResults); + this.panelEx3.Controls.Add(this.panel1); + this.panelEx3.Controls.Add(this.label3); + this.panelEx3.DisabledBackColor = System.Drawing.Color.Empty; + this.panelEx3.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelEx3.Location = new System.Drawing.Point(688, 0); + this.panelEx3.Name = "panelEx3"; + this.panelEx3.Size = new System.Drawing.Size(489, 525); + this.panelEx3.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx3.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.panelEx3.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.panelEx3.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.panelEx3.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.panelEx3.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelEx3.Style.GradientAngle = 90; + this.panelEx3.TabIndex = 31; + this.panelEx3.Text = "panelEx3"; + // + // txtResults + // + this.txtResults.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtResults.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtResults.Location = new System.Drawing.Point(0, 52); + this.txtResults.Multiline = true; + this.txtResults.Name = "txtResults"; + this.txtResults.ScrollBars = System.Windows.Forms.ScrollBars.Both; + this.txtResults.Size = new System.Drawing.Size(489, 473); + this.txtResults.TabIndex = 4; + this.txtResults.TextChanged += new System.EventHandler(this.txtResults_TextChanged); + // + // panel1 + // + this.panel1.Controls.Add(this.btnSave); + this.panel1.Controls.Add(this.btnClear); + this.panel1.Dock = System.Windows.Forms.DockStyle.Top; + this.panel1.Location = new System.Drawing.Point(0, 23); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(489, 29); + this.panel1.TabIndex = 3; + // + // btnSave + // + this.btnSave.Dock = System.Windows.Forms.DockStyle.Left; + this.btnSave.Location = new System.Drawing.Point(95, 0); + this.btnSave.Name = "btnSave"; + this.btnSave.Size = new System.Drawing.Size(95, 29); + this.btnSave.TabIndex = 3; + this.btnSave.Text = "Save Results"; + this.btnSave.UseVisualStyleBackColor = true; + this.btnSave.Click += new System.EventHandler(this.btnSave_Click); + // + // btnClear + // + this.btnClear.Dock = System.Windows.Forms.DockStyle.Left; + this.btnClear.Location = new System.Drawing.Point(0, 0); + this.btnClear.Name = "btnClear"; + this.btnClear.Size = new System.Drawing.Size(95, 29); + this.btnClear.TabIndex = 2; + this.btnClear.Text = "Clear Results"; + this.btnClear.UseVisualStyleBackColor = true; + this.btnClear.Click += new System.EventHandler(this.btnClear_Click); + // + // label3 + // + this.label3.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.label3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.label3.Dock = System.Windows.Forms.DockStyle.Top; + this.label3.Location = new System.Drawing.Point(0, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(489, 23); + this.label3.TabIndex = 2; + this.label3.Text = "Results"; + this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // expandableSplitter2 + // + this.expandableSplitter2.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); + this.expandableSplitter2.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.expandableSplitter2.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.expandableSplitter2.ExpandFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); + this.expandableSplitter2.ExpandFillColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.expandableSplitter2.ExpandLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); + this.expandableSplitter2.ExpandLineColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText; + this.expandableSplitter2.GripDarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); + this.expandableSplitter2.GripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText; + this.expandableSplitter2.GripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); + this.expandableSplitter2.GripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground; + this.expandableSplitter2.HotBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(151)))), ((int)(((byte)(61))))); + this.expandableSplitter2.HotBackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(184)))), ((int)(((byte)(94))))); + this.expandableSplitter2.HotBackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground2; + this.expandableSplitter2.HotBackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground; + this.expandableSplitter2.HotExpandFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); + this.expandableSplitter2.HotExpandFillColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.expandableSplitter2.HotExpandLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); + this.expandableSplitter2.HotExpandLineColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText; + this.expandableSplitter2.HotGripDarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); + this.expandableSplitter2.HotGripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.expandableSplitter2.HotGripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); + this.expandableSplitter2.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground; + this.expandableSplitter2.Location = new System.Drawing.Point(682, 0); + this.expandableSplitter2.Name = "expandableSplitter2"; + this.expandableSplitter2.Size = new System.Drawing.Size(6, 525); + this.expandableSplitter2.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007; + this.expandableSplitter2.TabIndex = 38; + this.expandableSplitter2.TabStop = false; + // + // panelEx2 + // + this.panelEx2.CanvasColor = System.Drawing.SystemColors.Control; + this.panelEx2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.panelEx2.Controls.Add(this.txtProcess); + this.panelEx2.Controls.Add(this.pbProcess); + this.panelEx2.Controls.Add(this.label6); + this.panelEx2.Controls.Add(this.panel3); + this.panelEx2.Controls.Add(this.label4); + this.panelEx2.DisabledBackColor = System.Drawing.Color.Empty; + this.panelEx2.Dock = System.Windows.Forms.DockStyle.Left; + this.panelEx2.Location = new System.Drawing.Point(391, 0); + this.panelEx2.Name = "panelEx2"; + this.panelEx2.Size = new System.Drawing.Size(291, 525); + this.panelEx2.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx2.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.panelEx2.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.panelEx2.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.panelEx2.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.panelEx2.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelEx2.Style.GradientAngle = 90; + this.panelEx2.TabIndex = 22; + this.panelEx2.Text = "panelEx2"; + // + // txtProcess + // + this.txtProcess.AcceptsReturn = true; + this.txtProcess.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtProcess.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtProcess.Location = new System.Drawing.Point(0, 150); + this.txtProcess.Multiline = true; + this.txtProcess.Name = "txtProcess"; + this.txtProcess.ScrollBars = System.Windows.Forms.ScrollBars.Both; + this.txtProcess.Size = new System.Drawing.Size(291, 375); + this.txtProcess.TabIndex = 5; + this.txtProcess.TextChanged += new System.EventHandler(this.txtProcess_TextChanged); + // + // pbProcess + // + this.pbProcess.Dock = System.Windows.Forms.DockStyle.Top; + this.pbProcess.Location = new System.Drawing.Point(0, 125); + this.pbProcess.Name = "pbProcess"; + this.pbProcess.Size = new System.Drawing.Size(291, 25); + this.pbProcess.TabIndex = 6; + // + // label6 + // + this.label6.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.label6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.label6.Dock = System.Windows.Forms.DockStyle.Top; + this.label6.Location = new System.Drawing.Point(0, 102); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(291, 23); + this.label6.TabIndex = 3; + this.label6.Text = "Process Status"; + this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // panel3 + // + this.panel3.Controls.Add(this.pnlLater); + this.panel3.Controls.Add(this.chkLater); + this.panel3.Dock = System.Windows.Forms.DockStyle.Top; + this.panel3.Location = new System.Drawing.Point(0, 23); + this.panel3.Name = "panel3"; + this.panel3.Padding = new System.Windows.Forms.Padding(6); + this.panel3.Size = new System.Drawing.Size(291, 79); + this.panel3.TabIndex = 2; + // + // pnlLater + // + this.pnlLater.Controls.Add(this.label5); + this.pnlLater.Controls.Add(this.dtpTime); + this.pnlLater.Controls.Add(this.dtpDate); + this.pnlLater.Dock = System.Windows.Forms.DockStyle.Top; + this.pnlLater.Enabled = false; + this.pnlLater.Location = new System.Drawing.Point(6, 23); + this.pnlLater.Name = "pnlLater"; + this.pnlLater.Padding = new System.Windows.Forms.Padding(6); + this.pnlLater.Size = new System.Drawing.Size(279, 37); + this.pnlLater.TabIndex = 3; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(105, 15); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(18, 13); + this.label5.TabIndex = 5; + this.label5.Text = "@"; + // + // dtpTime + // + this.dtpTime.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.dtpTime.CustomFormat = "HH:mm"; + this.dtpTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom; + this.dtpTime.Location = new System.Drawing.Point(129, 9); + this.dtpTime.Name = "dtpTime"; + this.dtpTime.ShowUpDown = true; + this.dtpTime.Size = new System.Drawing.Size(133, 20); + this.dtpTime.TabIndex = 4; + // + // dtpDate + // + this.dtpDate.Format = System.Windows.Forms.DateTimePickerFormat.Short; + this.dtpDate.Location = new System.Drawing.Point(9, 9); + this.dtpDate.Name = "dtpDate"; + this.dtpDate.Size = new System.Drawing.Size(90, 20); + this.dtpDate.TabIndex = 3; + // + // chkLater + // + this.chkLater.AutoSize = true; + this.chkLater.Dock = System.Windows.Forms.DockStyle.Top; + this.chkLater.Location = new System.Drawing.Point(6, 6); + this.chkLater.Name = "chkLater"; + this.chkLater.Size = new System.Drawing.Size(279, 17); + this.chkLater.TabIndex = 4; + this.chkLater.Text = "Process Later"; + this.chkLater.UseVisualStyleBackColor = true; + this.chkLater.CheckedChanged += new System.EventHandler(this.chkLater_CheckedChanged); + // + // label4 + // + this.label4.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.label4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.label4.Dock = System.Windows.Forms.DockStyle.Top; + this.label4.Location = new System.Drawing.Point(0, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(291, 23); + this.label4.TabIndex = 3; + this.label4.Text = "Process"; + this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // expandableSplitter1 + // + this.expandableSplitter1.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); + this.expandableSplitter1.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.expandableSplitter1.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.expandableSplitter1.ExpandFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); + this.expandableSplitter1.ExpandFillColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.expandableSplitter1.ExpandLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); + this.expandableSplitter1.ExpandLineColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText; + this.expandableSplitter1.GripDarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); + this.expandableSplitter1.GripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText; + this.expandableSplitter1.GripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); + this.expandableSplitter1.GripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground; + this.expandableSplitter1.HotBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(151)))), ((int)(((byte)(61))))); + this.expandableSplitter1.HotBackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(184)))), ((int)(((byte)(94))))); + this.expandableSplitter1.HotBackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground2; + this.expandableSplitter1.HotBackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground; + this.expandableSplitter1.HotExpandFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); + this.expandableSplitter1.HotExpandFillColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.expandableSplitter1.HotExpandLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); + this.expandableSplitter1.HotExpandLineColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText; + this.expandableSplitter1.HotGripDarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); + this.expandableSplitter1.HotGripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.expandableSplitter1.HotGripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); + this.expandableSplitter1.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground; + this.expandableSplitter1.Location = new System.Drawing.Point(385, 0); + this.expandableSplitter1.Name = "expandableSplitter1"; + this.expandableSplitter1.Size = new System.Drawing.Size(6, 525); + this.expandableSplitter1.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007; + this.expandableSplitter1.TabIndex = 4; + this.expandableSplitter1.TabStop = false; + // + // panelEx1 + // + this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control; + this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.panelEx1.Controls.Add(this.sideNav1); + this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty; + this.panelEx1.Dock = System.Windows.Forms.DockStyle.Left; + this.panelEx1.Location = new System.Drawing.Point(0, 0); + this.panelEx1.Name = "panelEx1"; + this.panelEx1.Size = new System.Drawing.Size(385, 525); + this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.panelEx1.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.panelEx1.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelEx1.Style.GradientAngle = 90; + this.panelEx1.TabIndex = 0; + this.panelEx1.Text = "panelEx1"; + // + // sideNav1 + // + this.sideNav1.BackColor = System.Drawing.SystemColors.Control; + this.sideNav1.Controls.Add(this.sideNavPanel1); + this.sideNav1.Controls.Add(this.sideNavPanel5); + this.sideNav1.Dock = System.Windows.Forms.DockStyle.Fill; + this.sideNav1.EnableClose = false; + this.sideNav1.EnableMaximize = false; + this.sideNav1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.sideNavItem1, + this.separator1, + this.sideNavItmCheck, + this.sideNavItmUsers, + this.sideNavItmExit}); + this.sideNav1.Location = new System.Drawing.Point(0, 0); + this.sideNav1.Name = "sideNav1"; + this.sideNav1.Padding = new System.Windows.Forms.Padding(1); + this.sideNav1.Size = new System.Drawing.Size(385, 525); + this.sideNav1.TabIndex = 3; + this.sideNav1.Text = "sideNav1"; + // + // sideNavPanel1 + // + this.sideNavPanel1.Controls.Add(this.warningBox3); + this.sideNavPanel1.Controls.Add(this.labelX7); + this.sideNavPanel1.Controls.Add(this.line1); + this.sideNavPanel1.Controls.Add(this.swCkObsoleteROData); + this.sideNavPanel1.Controls.Add(this.swHiddenDataLocs); + this.sideNavPanel1.Controls.Add(this.labelX3); + this.sideNavPanel1.Controls.Add(this.labelX2); + this.sideNavPanel1.Controls.Add(this.swCkOrphanDataRecs); + this.sideNavPanel1.Controls.Add(this.labelX1); + this.sideNavPanel1.Controls.Add(this.btnRunCheck); + this.sideNavPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.sideNavPanel1.Location = new System.Drawing.Point(88, 31); + this.sideNavPanel1.Name = "sideNavPanel1"; + this.sideNavPanel1.Size = new System.Drawing.Size(292, 493); + this.sideNavPanel1.TabIndex = 2; + // + // warningBox3 + // + this.warningBox3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249))))); + this.warningBox3.CloseButtonVisible = false; + this.warningBox3.Image = ((System.Drawing.Image)(resources.GetObject("warningBox3.Image"))); + this.warningBox3.Location = new System.Drawing.Point(17, 207); + this.warningBox3.Margin = new System.Windows.Forms.Padding(4); + this.warningBox3.Name = "warningBox3"; + this.warningBox3.OptionsButtonVisible = false; + this.warningBox3.Size = new System.Drawing.Size(264, 32); + this.warningBox3.TabIndex = 29; + this.warningBox3.Text = "NOTE These tools can take a long time to run"; + // + // labelX7 + // + this.labelX7.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX7.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX7.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelX7.Location = new System.Drawing.Point(5, 3); + this.labelX7.Name = "labelX7"; + this.labelX7.Size = new System.Drawing.Size(251, 22); + this.labelX7.TabIndex = 19; + this.labelX7.Text = "Check for these Data Issues:"; + // + // line1 + // + this.line1.BackColor = System.Drawing.Color.Transparent; + this.line1.Location = new System.Drawing.Point(8, 179); + this.line1.Name = "line1"; + this.line1.Size = new System.Drawing.Size(285, 12); + this.line1.TabIndex = 18; + this.line1.Text = "line1"; + // + // swCkObsoleteROData + // + // + // + // + this.swCkObsoleteROData.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.swCkObsoleteROData.Location = new System.Drawing.Point(10, 99); + this.swCkObsoleteROData.Name = "swCkObsoleteROData"; + this.swCkObsoleteROData.Size = new System.Drawing.Size(91, 22); + this.swCkObsoleteROData.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.superTooltip1.SetSuperTooltip(this.swCkObsoleteROData, new DevComponents.DotNetBar.SuperTooltipInfo("Obsolete RO Data", "", resources.GetString("swCkObsoleteROData.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 135))); + this.swCkObsoleteROData.SwitchClickTogglesValue = true; + this.swCkObsoleteROData.TabIndex = 14; + this.swCkObsoleteROData.Value = true; + this.swCkObsoleteROData.ValueObject = "Y"; + this.swCkObsoleteROData.ValueChanged += new System.EventHandler(this.swCk_ValueChanged); + // + // swHiddenDataLocs + // + // + // + // + this.swHiddenDataLocs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.swHiddenDataLocs.Location = new System.Drawing.Point(10, 71); + this.swHiddenDataLocs.Name = "swHiddenDataLocs"; + this.swHiddenDataLocs.Size = new System.Drawing.Size(91, 22); + this.swHiddenDataLocs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.superTooltip1.SetSuperTooltip(this.swHiddenDataLocs, new DevComponents.DotNetBar.SuperTooltipInfo("Hidden Data Locations", "", resources.GetString("swHiddenDataLocs.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); + this.swHiddenDataLocs.SwitchClickTogglesValue = true; + this.swHiddenDataLocs.TabIndex = 15; + this.swHiddenDataLocs.Value = true; + this.swHiddenDataLocs.ValueObject = "Y"; + this.swHiddenDataLocs.ValueChanged += new System.EventHandler(this.swCk_ValueChanged); + // + // labelX3 + // + this.labelX3.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX3.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelX3.Location = new System.Drawing.Point(107, 99); + this.labelX3.Name = "labelX3"; + this.labelX3.Size = new System.Drawing.Size(154, 22); + this.superTooltip1.SetSuperTooltip(this.labelX3, new DevComponents.DotNetBar.SuperTooltipInfo("Obsolete RO Data", "", resources.GetString("labelX3.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 135))); + this.labelX3.TabIndex = 11; + this.labelX3.Text = "Obsolete RO Data"; + // + // labelX2 + // + this.labelX2.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelX2.Location = new System.Drawing.Point(107, 71); + this.labelX2.Name = "labelX2"; + this.labelX2.Size = new System.Drawing.Size(140, 22); + this.superTooltip1.SetSuperTooltip(this.labelX2, new DevComponents.DotNetBar.SuperTooltipInfo("Hidden Data Locations", "", resources.GetString("labelX2.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); + this.labelX2.TabIndex = 12; + this.labelX2.Text = "Hidden Data Locations"; + // + // swCkOrphanDataRecs + // + // + // + // + this.swCkOrphanDataRecs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.swCkOrphanDataRecs.Location = new System.Drawing.Point(10, 43); + this.swCkOrphanDataRecs.Name = "swCkOrphanDataRecs"; + this.swCkOrphanDataRecs.Size = new System.Drawing.Size(91, 22); + this.swCkOrphanDataRecs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.superTooltip1.SetSuperTooltip(this.swCkOrphanDataRecs, new DevComponents.DotNetBar.SuperTooltipInfo("Orphan Data Records", "", resources.GetString("swCkOrphanDataRecs.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(275, 193))); + this.swCkOrphanDataRecs.SwitchClickTogglesValue = true; + this.swCkOrphanDataRecs.TabIndex = 9; + this.swCkOrphanDataRecs.Value = true; + this.swCkOrphanDataRecs.ValueObject = "Y"; + this.swCkOrphanDataRecs.ValueChanged += new System.EventHandler(this.swCk_ValueChanged); + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelX1.Location = new System.Drawing.Point(107, 43); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(172, 22); + this.superTooltip1.SetSuperTooltip(this.labelX1, new DevComponents.DotNetBar.SuperTooltipInfo("Orphan Data Records", "", resources.GetString("labelX1.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(275, 190))); + this.labelX1.TabIndex = 8; + this.labelX1.Text = "Orphan Data Records"; + // + // btnRunCheck + // + this.btnRunCheck.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.btnRunCheck.Checked = true; + this.btnRunCheck.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.btnRunCheck.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnRunCheck.Location = new System.Drawing.Point(5, 150); + this.btnRunCheck.Name = "btnRunCheck"; + this.btnRunCheck.Size = new System.Drawing.Size(286, 23); + this.btnRunCheck.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.superTooltip1.SetSuperTooltip(this.btnRunCheck, new DevComponents.DotNetBar.SuperTooltipInfo("Run Check", "", "This will run the database check tools selected.\r\n\r\nClick on the on/off switches " + + "to turn on/off each tool.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 100))); + this.btnRunCheck.TabIndex = 7; + this.btnRunCheck.Text = "Run Check"; + this.btnRunCheck.Click += new System.EventHandler(this.btnRunCheck_Click); + // + // sideNavPanel5 + // + this.sideNavPanel5.Controls.Add(this.btn_ShowUsers); + this.sideNavPanel5.Dock = System.Windows.Forms.DockStyle.Fill; + this.sideNavPanel5.Location = new System.Drawing.Point(88, 31); + this.sideNavPanel5.Name = "sideNavPanel5"; + this.sideNavPanel5.Size = new System.Drawing.Size(292, 493); + this.sideNavPanel5.TabIndex = 14; + this.sideNavPanel5.Visible = false; + // + // btn_ShowUsers + // + this.btn_ShowUsers.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.btn_ShowUsers.Checked = true; + this.btn_ShowUsers.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.btn_ShowUsers.Location = new System.Drawing.Point(57, 37); + this.btn_ShowUsers.Name = "btn_ShowUsers"; + this.btn_ShowUsers.Size = new System.Drawing.Size(171, 23); + this.btn_ShowUsers.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.superTooltip1.SetSuperTooltip(this.btn_ShowUsers, new DevComponents.DotNetBar.SuperTooltipInfo("Show Users", "", "This will return all of the users currently with open sessions in the database an" + + "d the details of any items they have checked out.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 80))); + this.btn_ShowUsers.TabIndex = 0; + this.btn_ShowUsers.Text = "Show Users"; + this.btn_ShowUsers.Click += new System.EventHandler(this.btn_ShowUsers_Click); + // + // sideNavItem1 + // + this.sideNavItem1.IsSystemMenu = true; + this.sideNavItem1.Name = "sideNavItem1"; + this.sideNavItem1.Symbol = ""; + this.sideNavItem1.Text = "General\r\nTools"; + // + // separator1 + // + this.separator1.FixedSize = new System.Drawing.Size(3, 1); + this.separator1.Name = "separator1"; + this.separator1.Padding.Bottom = 2; + this.separator1.Padding.Left = 6; + this.separator1.Padding.Right = 6; + this.separator1.Padding.Top = 2; + this.separator1.SeparatorOrientation = DevComponents.DotNetBar.eDesignMarkerOrientation.Vertical; + // + // sideNavItmCheck + // + this.sideNavItmCheck.Checked = true; + this.sideNavItmCheck.Name = "sideNavItmCheck"; + this.sideNavItmCheck.Panel = this.sideNavPanel1; + this.sideNavItmCheck.Symbol = ""; + this.sideNavItmCheck.Text = "Check"; + this.sideNavItmCheck.Click += new System.EventHandler(this.sideNavItmCheck_Click); + // + // sideNavItmUsers + // + this.sideNavItmUsers.Name = "sideNavItmUsers"; + this.sideNavItmUsers.Panel = this.sideNavPanel5; + this.sideNavItmUsers.Symbol = ""; + this.sideNavItmUsers.Text = "Users"; + this.sideNavItmUsers.Click += new System.EventHandler(this.sideNavItmUsers_Click); + // + // sideNavItmExit + // + this.sideNavItmExit.Name = "sideNavItmExit"; + this.sideNavItmExit.Symbol = ""; + this.sideNavItmExit.Text = "Exit"; + this.sideNavItmExit.Click += new System.EventHandler(this.sideNavItmExit_Click); + // + // panelEx4 + // + this.panelEx4.CanvasColor = System.Drawing.SystemColors.Control; + this.panelEx4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.panelEx4.Controls.Add(this.progressSteps1); + this.panelEx4.Controls.Add(this.lblAdmToolProgressType); + this.panelEx4.DialogResult = System.Windows.Forms.DialogResult.OK; + this.panelEx4.DisabledBackColor = System.Drawing.Color.Empty; + this.panelEx4.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelEx4.Location = new System.Drawing.Point(0, 0); + this.panelEx4.Name = "panelEx4"; + this.panelEx4.Size = new System.Drawing.Size(1177, 57); + this.panelEx4.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx4.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.panelEx4.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.panelEx4.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.panelEx4.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.panelEx4.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelEx4.Style.GradientAngle = 90; + this.panelEx4.TabIndex = 20; + // + // progressSteps1 + // + this.progressSteps1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.progressSteps1.BackgroundStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); + this.progressSteps1.BackgroundStyle.Class = "ProgressSteps"; + this.progressSteps1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.progressSteps1.ContainerControlProcessDialogKey = true; + this.progressSteps1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.progressSteps1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.stepItem1, + this.stepItem2, + this.stepItem3, + this.stepItem4}); + this.progressSteps1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F"; + this.progressSteps1.Location = new System.Drawing.Point(123, 18); + this.progressSteps1.Name = "progressSteps1"; + this.progressSteps1.Size = new System.Drawing.Size(1032, 26); + this.progressSteps1.TabIndex = 18; + // + // stepItem1 + // + this.stepItem1.Maximum = 10; + this.stepItem1.Name = "stepItem1"; + this.stepItem1.SymbolSize = 13F; + this.stepItem1.Text = "Discon"; + // + // stepItem2 + // + this.stepItem2.Maximum = 10; + this.stepItem2.Name = "stepItem2"; + this.stepItem2.SymbolSize = 13F; + this.stepItem2.Text = "Non-Edit"; + // + // stepItem3 + // + this.stepItem3.Maximum = 10; + this.stepItem3.Name = "stepItem3"; + this.stepItem3.SymbolSize = 13F; + this.stepItem3.Text = "RO Assoc"; + // + // stepItem4 + // + this.stepItem4.Maximum = 10; + this.stepItem4.Name = "stepItem4"; + this.stepItem4.SymbolSize = 13F; + this.stepItem4.Text = "FST+Figs"; + // + // lblAdmToolProgressType + // + this.lblAdmToolProgressType.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.lblAdmToolProgressType.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.lblAdmToolProgressType.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblAdmToolProgressType.Location = new System.Drawing.Point(19, 10); + this.lblAdmToolProgressType.Name = "lblAdmToolProgressType"; + this.lblAdmToolProgressType.Size = new System.Drawing.Size(98, 34); + this.lblAdmToolProgressType.TabIndex = 19; + this.lblAdmToolProgressType.Text = "Checking:"; + // + // buttonItem1 + // + this.buttonItem1.Name = "buttonItem1"; + this.buttonItem1.Text = "buttonItem1"; + // + // superTooltip1 + // + this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray); + this.superTooltip1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F"; + // + // frmGenTools + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1177, 586); + this.Controls.Add(this.splitContainer3); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmGenTools"; + this.ShowIcon = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "General Tools"; + this.Load += new System.EventHandler(this.frmGenTools_Load); + this.splitContainer3.Panel1.ResumeLayout(false); + this.splitContainer3.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); + this.splitContainer3.ResumeLayout(false); + this.panelEx3.ResumeLayout(false); + this.panelEx3.PerformLayout(); + this.panel1.ResumeLayout(false); + this.panelEx2.ResumeLayout(false); + this.panelEx2.PerformLayout(); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + this.pnlLater.ResumeLayout(false); + this.pnlLater.PerformLayout(); + this.panelEx1.ResumeLayout(false); + this.sideNav1.ResumeLayout(false); + this.sideNav1.PerformLayout(); + this.sideNavPanel1.ResumeLayout(false); + this.sideNavPanel5.ResumeLayout(false); + this.panelEx4.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.SplitContainer splitContainer3; + private DevComponents.DotNetBar.PanelEx panelEx3; + private System.Windows.Forms.TextBox txtResults; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button btnSave; + private System.Windows.Forms.Button btnClear; + private System.Windows.Forms.Label label3; + private DevComponents.DotNetBar.PanelEx panelEx2; + private System.Windows.Forms.TextBox txtProcess; + private System.Windows.Forms.ProgressBar pbProcess; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Panel pnlLater; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.DateTimePicker dtpTime; + private System.Windows.Forms.DateTimePicker dtpDate; + private System.Windows.Forms.CheckBox chkLater; + private System.Windows.Forms.Label label4; + private DevComponents.DotNetBar.Controls.SideNav sideNav1; + private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel1; + private DevComponents.DotNetBar.LabelX labelX7; + private DevComponents.DotNetBar.Controls.Line line1; + private DevComponents.DotNetBar.Controls.SwitchButton swCkObsoleteROData; + private DevComponents.DotNetBar.Controls.SwitchButton swHiddenDataLocs; + private DevComponents.DotNetBar.LabelX labelX3; + private DevComponents.DotNetBar.LabelX labelX2; + private DevComponents.DotNetBar.Controls.SwitchButton swCkOrphanDataRecs; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.ButtonX btnRunCheck; + private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel5; + private DevComponents.DotNetBar.ButtonX btn_ShowUsers; + private DevComponents.DotNetBar.Controls.SideNavItem sideNavItem1; + private DevComponents.DotNetBar.Separator separator1; + private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmCheck; + private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmUsers; + private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmExit; + private DevComponents.DotNetBar.LabelX lblAdmToolProgressType; + private DevComponents.DotNetBar.ProgressSteps progressSteps1; + private DevComponents.DotNetBar.StepItem stepItem1; + private DevComponents.DotNetBar.StepItem stepItem2; + private DevComponents.DotNetBar.StepItem stepItem3; + private DevComponents.DotNetBar.StepItem stepItem4; + private DevComponents.DotNetBar.SuperTooltip superTooltip1; + private DevComponents.DotNetBar.ExpandableSplitter expandableSplitter2; + private DevComponents.DotNetBar.ExpandableSplitter expandableSplitter1; + private DevComponents.DotNetBar.PanelEx panelEx1; + private DevComponents.DotNetBar.PanelEx panelEx4; + private DevComponents.DotNetBar.Controls.WarningBox warningBox3; + private DevComponents.DotNetBar.ButtonItem buttonItem1; + } +} + + diff --git a/PROMS/VEPROMS User Interface/frmGenTools.resx b/PROMS/VEPROMS User Interface/frmGenTools.resx new file mode 100644 index 00000000..12f79aef --- /dev/null +++ b/PROMS/VEPROMS User Interface/frmGenTools.resx @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F + k11Ik1Ecxv9zouJ2E4TWnR8V5tAppJmYsLnNlaLTxAoiKIQiibpYSmEEmSSa0IVGISMUw7rpE+yiQiuk + /IhROssPyjanpL4udeq29z3nCdcH+Wb1g+fq/zzP+R8Oh+gvPK4kNWujp1IrPek8S5Hy+X9hbXSN9aVC + eq1FwEYN8vk/mWqiDPZwI+NOHbhLj8CdDaK7npLlvnWpO0AKqZV62YgO/GMquDMN0rAevkbqlHvXZdlG + h6Rn8eATu4GJncB0Fvh8HnwPYuGpJ4vcvwZbGYWJrcpPzGXG8ngGtsZFQJOggrS0B9J0MbwNIR9uHqRQ + ee4XPhuVSy814IIB/lk9QkIIanUomFgIzkux0qHB/CUqk+eCtB2jCLEl1M1mLcBSLthKHlQqJaKjw8FZ + Mbi/ENKXEizUKD/f2k9h8jz5mumk2K0F9xUAUgE4K0JUVDji4yLBvflgMyYwlxFL9zSYq6ITa8I3DlNY + wKZ0soVSgFkAXgwuFSEmJhJJiWqwCR3YSCbY2x0QB4zwnFc6W4p+22KxiY4EXiQF74kf6/L5vdi+TYV0 + rRpsMB2sPxWsRwvpTTq87QmYOUNHg+HqQlL4ryscbK4UPGD5vu60CWw8G7evbkN7bSykXm0w/FMBew6E + CsXQFQMpaLKezP6OLeDL+8AFM5hLBzaciennKcFXUCgI7o7ENQWSfRcWmmPgPEW5tNJIj8QxM9hkDthY + FthAGlh/SvAPXC7fjOrjmyC+Sl5TsCpfdzYEK92llUbllDiaD3HEDPG9CaLDCGnI9IdEhwnioBHiOwMC + dj38fYbVglHy1FGJt57uL9ZS10IN9cxfJPvXCzTgqSKH5xwNzVXSkFBBDsFKA4KV7IKVegQrda2e7j5N + ud8AKwnMnBpmYFAAAAAASUVORK5CYII= + + + + 17, 17 + + + Referenced Objects databases are associated with a procedure set (such as Working Draft). + +RO paths, ROFST versions, and the contents of RO figures are stored in the database when referenced. This tool will identify stored RO Paths, ROFST versions, and Figures that are no longer used. + + + + Typically, a section in PROMS only has sub-sections or steps. When and existing section is divided into sub-sections, the resulting main section might have both. + +When this occurs, the step data in the main section can be marked as non-editable. The user can no longer get to these steps and they can become forgotten as PROMS will ignore these non-editable steps when the procedure is printed. + +This tool will identify if the database has non-editable steps and provide a listing of these steps. The use can then go to these main sections, make them editable via the property page, and delete or move these steps. + +This tool may take an extended period of time to execute. + + + + Referenced Objects databases are associated with a procedure set (such as Working Draft). + +RO paths, ROFST versions, and the contents of RO figures are stored in the database when referenced. This tool will identify stored RO Paths, ROFST versions, and Figures that are no longer used. + + + + Typically, a section in PROMS only has sub-sections or steps. When and existing section is divided into sub-sections, the resulting main section might have both. + +When this occurs, the step data in the main section can be marked as non-editable. The user can no longer get to these steps and they can become forgotten as PROMS will ignore these non-editable steps when the procedure is printed. + +This tool will identify if the database has non-editable steps and provide a listing of these steps. The use can then go to these main sections, make them editable via the property page, and delete or move these steps. + +This tool may take an extended period of time to execute. + + + + Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it. + +Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool detects any orphaned items in the database. + +This tool may take an extended period of time to execute. + + + + Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it. + +Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool detects any orphaned items in the database. + +This tool may take an extended period of time to execute. + + + + 46 + + \ No newline at end of file diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 74e4ae41..7f515749 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -2013,6 +2013,7 @@ namespace VEPROMS private DevComponents.DotNetBar.ButtonItem btnUserControlOfFormats; private DevComponents.DotNetBar.ButtonItem btnUserControlOfFormatsExport; private DevComponents.DotNetBar.ButtonItem btnUserControlOfFormatsImport; + private DevComponents.DotNetBar.ButtonItem btnGeneralTools; private TabItemsToClose _MyCloseTabList = new TabItemsToClose(); public TabItemsToClose MyCloseTabList @@ -2251,6 +2252,16 @@ namespace VEPROMS btnAdministrativeTools.Click += new EventHandler(btnAdministrativeTools_Click); btnAdmin.SubItems.Add(btnAdministrativeTools); + //general Tools + btnGeneralTools = new ButtonItem("btnGeneralTools", "General Tools"); + btnGeneralTools.Visible = btnGeneralTools.Enabled = true; + btnGeneralTools.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + btnGeneralTools.CanCustomize = false; + btnGeneralTools.Image = global::VEPROMS.Properties.Resources.toolbox; + btnGeneralTools.Click += new EventHandler(btnGeneralTools_Click); + itemContainer3.SubItems.Add(btnGeneralTools); + + // C2025-031 added tool tip messages this.superTooltip1.SetSuperTooltip(btnManageSecurity, new SuperTooltipInfo("Manage Security", "", "Add, Modify, and Delete PROMS User Access", null, null, eTooltipColor.Gray)); // remove commented out line below when User Control of Formats code is deleted @@ -2258,6 +2269,7 @@ namespace VEPROMS this.superTooltip1.SetSuperTooltip(btnResetSecurity, new SuperTooltipInfo("Reset Security", "", "WARNING this will \nREMOVE ALL PROMS USERS and Reset to the\nOriginal Volian Defaults", null, null, eTooltipColor.Gray)); this.superTooltip1.SetSuperTooltip(btnAdministrativeTools, new SuperTooltipInfo("Administrative Tools", "", "Open the PROMS Adminstration Tools Window", null, null, eTooltipColor.Gray)); this.superTooltip1.SetSuperTooltip(btnUpdateFormats, new SuperTooltipInfo("Update Formats", "", "Install New Formats \n or Re-Install Formats", null, null, eTooltipColor.Gray)); + this.superTooltip1.SetSuperTooltip(btnGeneralTools, new SuperTooltipInfo("General Tools", "", "Open the PROMS General Tools Window", null, null, eTooltipColor.Gray)); try { @@ -2954,6 +2966,13 @@ namespace VEPROMS frm.ShowDialog(this); } + void btnGeneralTools_Click(object sender, EventArgs e) + { + frmGenTools frm = new frmGenTools(MySessionInfo, this); + frm.ProgressBar = bottomProgBar; + frm.ShowDialog(this); + } + private static VolianTimer _TimeActivity1 = new VolianTimer("frmVEPROMS.cs tmrCloseTabItems_Tick", 2108); void tmrCloseTabItems_Tick(object sender, EventArgs e)