ATT.Forms/ATT.Forms/FormAttestationMakeDecision.cs
Decompiler Source FileATT.Forms.FormAttestationMakeDecisionDecompiled Source
Interpretation
- Decompiled source file. Use method/event registrations and call-site extraction to connect back to DialogMethod, QBMEvent, and API layers.
Relations
- CallMethod: DenyDecision at line 873
- CallMethod: MakeDecision at line 877
Typed Edges
- No typed edges extracted for this source.
References
- No direct source references extracted.
Referenced By
- No direct source references extracted.
C# source-derived context
Generated by pattern extraction from the decompiled C# source and decompile index. This is factual source evidence, not inferred behavior.
reads entity values references DB/Dialog objects
Summary: classes FormAttestationMakeDecision; methods OnInit, InitializeComponent, OnFormLoad, OnFormSizeChanged, OnFormUnload, Task_ShowHistory; references AttestationCase, AttestationHelper, AttestationHistory, AttestationObject, AttestationPolicy, Delegation; markers reads entity values, references DB/Dialog objects
Classes
FormAttestationMakeDecisionMethods
- OnInit
- InitializeComponent
- OnFormLoad
- OnFormSizeChanged
- OnFormUnload
- Task_ShowHistory
- MainActivator_OnActivating
- _Clear
- _ToggleMode
- _HandleFeatures
- _ExecuteFeature
- ReplacePatterns
- _LoadAttestationCases
- _TranslateRulerLevel
- _LoadCompleteDecisions
- _HandleSubItemActivated
- _AdaptDecideButton
- ProxyOpen_SubItemContentChanged
- ProxyOpen_SubItemActivated
- ProxyComplete_SubItemActivated
- ButtonDecide_Click
- ProxyComplete_SelectedNodeChanged
- ProxyOpen_SelectedNodeChanged
- ButtonQueryPerson_Click
- ButtonAddAdditional_Click
- ButtonAddInsteadOf_Click
- ButtonShowQuery_Click
- ButtonShowAddAdditional_Click
- ButtonShowAddInsteadOf_Click
- TreeComboPersonToQuery_SelectedParentChanged
- TreeComboPersonToAddAdditional_SelectedParentChanged
- TreeComboPersonToAddInsteadOf_SelectedParentChanged
DB/Dialog object references
OIM key/entity markers
UID_Person UID_QERJustification UID_AttestationCase UID_QERWorkingStepAPI/entity calls
CreateSingle GetValue User MetaData UidComparison Source From CreateWalker StartUnitOfWork CallMethod MultiLanguageRegistrations / handlers
None extracted.
Complete Source
1using System;2using System.Collections;3using System.Collections.Generic;4using System.Drawing;5using System.IO;6using System.Linq;7using VI.Base;8using VI.Common.Forms.Base;9using VI.Controls;10using VI.Controls.Base;11using VI.Controls.Interfaces;12using VI.DB;13using VI.DB.DataAccess;14using VI.DB.Entities;15using VI.DB.MetaData;16using VI.DB.Sync;17using VI.FormBase;18using VI.FormBase.Collections;19using VI.FormBase.Tasks;20using VI.FormCustomizers;21using VI.FormTools;22using VI.ImageLibrary;23using VI.UI.Base.Components;24using VI.UI.Base.Controls;25using VI.UI.Base.Images;26using VI.UI.Base.SnapIns;27using VI.UI.Compatibility;2829namespace ATT.Forms;3031public class FormAttestationMakeDecision : BaseCustomizer32{33 private ITreeListProxy m_ProxyOpen;3435 private ITreeListProxy m_ProxyComplete;3637 private readonly List<string> m_ReportFiles = new List<string>();3839 private bool m_DecisionMode;4041 private bool m_FeatureAllowed_AddAdditional;4243 private bool m_FeatureAllowed_AddInsteadOf;4445 private bool m_FeatureAllowed_DenyDecision;4647 private bool m_FeatureActive;4849 private const string StructureDisplay1Pattern = "%StructureDisplay1%";5051 private const string StructureDisplay2Pattern = "%StructureDisplay2%";5253 private const string StructureDisplay3Pattern = "%StructureDisplay3%";5455 private const string PropertyInfo1Pattern = "%PropertyInfo1%";5657 private const string PropertyInfo2Pattern = "%PropertyInfo2%";5859 private const string PropertyInfo3Pattern = "%PropertyInfo3%";6061 private const string PropertyInfo4Pattern = "%PropertyInfo4%";6263 private IActivatorComponent m_MainActivator;6465 private IActivatorComponent m_PersonSelectComboActivator;6667 private IButton m_ButtonAddAdditional;6869 private IButton m_ButtonAddInsteadOf;7071 private IButton m_ButtonDecide;7273 private IButton m_ButtonQueryPerson;7475 private IButton m_ButtonShowAddAdditional;7677 private IButton m_ButtonShowAddInsteadOf;7879 private IButton m_ButtonShowQuery;8081 private IEdit m_EditAddAdditionalReason;8283 private IEdit m_EditAddInsteadOfReason;8485 private IEdit m_EditDecisionReason;8687 private IEdit m_EditDescription;8889 private IEdit m_EditQuestion;9091 private IFormDialogComponent m_FormDialogComponent;9293 private ITabControl m_TabControl;9495 private ITabPage m_TabPageComplete;9697 private ITabPage m_TabPageOpen;9899 private ITreeComboBox m_TreeComboPersonToAddAdditional;100101 private ITreeComboBox m_TreeComboPersonToAddInsteadOf;102103 private ITreeComboBox m_TreeComboPersonToQuery;104105 private ITreeComboBox m_TreeComboUIDQERJustification;106107 private ITreeListControl m_TreeListAttCases;108109 private ITreeListControl m_TreeListCompleteDecisions;110111 private IVIPanel m_MainPanel;112113 protected override void OnInit()114 {115 base.OnInit();116 try117 {118 m_ButtonAddAdditional = base.Form.GetControl<IButton>("ButtonAddAdditional");119 m_ButtonAddInsteadOf = base.Form.GetControl<IButton>("ButtonAddInsteadOf");120 m_ButtonDecide = base.Form.GetControl<IButton>("ButtonDecide");121 m_ButtonQueryPerson = base.Form.GetControl<IButton>("ButtonQueryPerson");122 m_ButtonShowAddAdditional = base.Form.GetControl<IButton>("ButtonShowAddAdditional");123 m_ButtonShowAddInsteadOf = base.Form.GetControl<IButton>("ButtonShowAddInsteadOf");124 m_ButtonShowQuery = base.Form.GetControl<IButton>("ButtonShowQuery");125 m_EditAddAdditionalReason = base.Form.GetControl<IEdit>("EditAddAdditionalReason");126 m_EditAddInsteadOfReason = base.Form.GetControl<IEdit>("EditAddInsteadOfReason");127 m_EditDecisionReason = base.Form.GetControl<IEdit>("EditDecisionReason");128 m_EditDescription = base.Form.GetControl<IEdit>("EditDescription");129 m_EditQuestion = base.Form.GetControl<IEdit>("EditQuestion");130 m_FormDialogComponent = base.Form.GetComponent<IFormDialogComponent>("FormDialogComponent");131 m_MainActivator = base.Form.GetComponent<IActivatorComponent>("MainActivator");132 m_MainPanel = base.Form.GetControl<IVIPanel>("MainPanel");133 m_PersonSelectComboActivator = base.Form.GetComponent<IActivatorComponent>("PersonSelectComboActivator");134 m_TabControl = base.Form.GetControl<ITabControl>("TabControl");135 m_TabPageComplete = base.Form.GetControl<ITabPage>("TabPageComplete");136 m_TabPageOpen = base.Form.GetControl<ITabPage>("TabPageOpen");137 m_TreeComboPersonToAddAdditional = base.Form.GetControl<ITreeComboBox>("TreeComboPersonToAddAdditional");138 m_TreeComboPersonToAddInsteadOf = base.Form.GetControl<ITreeComboBox>("TreeComboPersonToAddInsteadOf");139 m_TreeComboPersonToQuery = base.Form.GetControl<ITreeComboBox>("TreeComboPersonToQuery");140 m_TreeComboUIDQERJustification = base.Form.GetControl<ITreeComboBox>("TreeComboUIDQERJustification");141 m_TreeListAttCases = base.Form.GetControl<ITreeListControl>("TreeListAttCases");142 m_TreeListCompleteDecisions = base.Form.GetControl<ITreeListControl>("TreeListCompleteDecisions");143 m_ProxyOpen = m_TreeListAttCases.Proxy;144 m_ProxyComplete = m_TreeListCompleteDecisions.Proxy;145 m_ProxyOpen.AddColumn("ATT_FormAttestationMakeDecision_PolicyOrObject", 200).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;146 m_ProxyOpen.AddColumn("ATT_FormAttestationMakeDecision_ProcessedDate", 100).Comparer = (IComparer)(object)new ComparableComparer();147 m_ProxyOpen.AddColumn("ATT_FormAttestationMakeDecision_AttestationCaseText", 200, "ATT_FormAttestationMakeDecision_AttestationCaseText").Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;148 m_ProxyOpen.AddColumn("ATT_FormAttestationMakeDecision_LastDecider", 200).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;149 m_ProxyOpen.AddColumn("ATT_FormAttestationMakeDecision_LastDecisionReason", 200).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;150 m_ProxyOpen.AddColumn("ATT_FormAttestationMakeDecision_RulerLevel", 120).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;151 m_ProxyOpen.AddColumn("ATT_FormAttestationMakeDecision_Approve", 100).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;152 m_ProxyOpen.AddColumn("ATT_FormAttestationMakeDecision_AttestationDeny", 100).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;153 m_ProxyOpen.AddColumn("ATT_FormAttestationMakeDecision_AttestationDenyDecision", 100).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;154 m_ProxyOpen.AddColumn("ATT_FormAttestationMakeDecision_AttestationShowReport", 100);155 m_ProxyOpen.ColumnsSortable = true;156 m_TreeListAttCases.ImageList = StockImageList.Small;157 CommonTools.SetProperty(m_TreeListAttCases, "ImageNameList", ImageHost.StockImageNameListSmall);158 m_TreeListAttCases.AlternateNodeBackground = true;159 m_ProxyComplete.AddColumn("ATT_FormAttestationMakeDecision_PolicyOrObject", 200).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;160 m_ProxyComplete.AddColumn("ATT_FormAttestationMakeDecision_ProcessedDate", 110).Comparer = (IComparer)(object)new ComparableComparer();161 m_ProxyComplete.AddColumn("ATT_FormAttestationMakeDecision_AttestationCaseText", 200).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;162 m_ProxyComplete.AddColumn("ATT_FormAttestationMakeDecision_Approve", 120).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;163 m_ProxyComplete.AddColumn("ATT_FormAttestationMakeDecision_DecisionReason", 200).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;164 m_ProxyComplete.AddColumn("ATT_FormAttestationMakeDecision_DecisionDate", 130).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;165 m_ProxyComplete.AddColumn("ATT_FormAttestationMakeDecision_RulerLevel", 120).Comparer = (IComparer)(object)StringComparer.OrdinalIgnoreCase;166 m_ProxyComplete.AddColumn("ATT_FormAttestationMakeDecision_AttestationShowReport", 100);167 m_ProxyComplete.ColumnsSortable = true;168 m_TreeListCompleteDecisions.ImageList = StockImageList.Small;169 CommonTools.SetProperty(m_TreeListCompleteDecisions, "ImageNameList", ImageHost.StockImageNameListSmall);170 m_TreeListCompleteDecisions.AlternateNodeBackground = true;171 m_ProxyOpen.SubItemActivated += ProxyOpen_SubItemActivated;172 m_ProxyComplete.SubItemActivated += ProxyComplete_SubItemActivated;173 m_ProxyOpen.SubItemContentChanged += ProxyOpen_SubItemContentChanged;174 m_ProxyOpen.SelectedNodeChanged += ProxyOpen_SelectedNodeChanged;175 m_ProxyComplete.SelectedNodeChanged += ProxyComplete_SelectedNodeChanged;176 m_TreeListAttCases.SelectionMode = SelectionMode.Multi;177 m_TreeListAttCases.SelectionBehavior = SelectionBehavior.NodesWithSubItems;178 }179 catch (System.Exception innerException)180 {181 throw new FormCustomizerException(874825, innerException, ((object)this).ToString());182 }183 }184185 private void InitializeComponent()186 {187 }188189 protected override void OnFormLoad()190 {191 m_ButtonDecide.Caption = "ATT_FormAttestationMakeDecision_Decide";192 m_TabPageOpen.Caption = "ATT_FormAttestationMakeDecision_TabPage_Open";193 m_TabPageComplete.Caption = "ATT_FormAttestationMakeDecision_TabPage_Complete";194 m_ButtonShowAddAdditional.Caption = "ATT_FormAttestationMakeDecision_ShowAddAdditional";195 m_ButtonShowAddInsteadOf.Caption = "ATT_FormAttestationMakeDecision_ShowAddInsteadOf";196 m_ButtonShowQuery.Caption = "ATT_FormAttestationMakeDecision_ShowQuery";197 m_ButtonAddAdditional.Caption = "ATT_FormCommon_Add";198 m_EditAddAdditionalReason.Caption = "ATT_FormAttestationMakeDecision_AddAdditionalReason";199 m_TreeComboPersonToAddAdditional.Caption = "ATT_FormAttestationMakeDecision_PersonToAddAdditional";200 m_ButtonAddInsteadOf.Caption = "ATT_FormAttestationMakeDecision_AddInsteadOf";201 m_EditAddInsteadOfReason.Caption = "ATT_FormAttestationMakeDecision_AddAdditionalReason";202 m_TreeComboPersonToAddInsteadOf.Caption = "ATT_FormAttestationMakeDecision_PersonToAddInsteadOf";203 m_ButtonQueryPerson.Caption = "ATT_FormAttestationMakeDecision_QueryPerson";204 m_EditQuestion.Caption = "ATT_FormAttestationMakeDecision_Question";205 m_TreeComboPersonToQuery.Caption = "ATT_FormAttestationMakeDecision_PersonToQuery";206 m_EditDescription.Caption = "ATT_FormAttestationMakeDecision_AttestationCaseText";207 m_DecisionMode = false;208 using (new UpdateHelper(base.Tasks))209 {210 Task task = base.Tasks["ShowHistory"];211 task.TaskMethod = Task_ShowHistory;212 task.Caption = "ATT_FormAttestationMakeDecision_Task_ShowAttestationCaseHistory";213 task.StockImage = StockImage.History;214 task.Enabled = false;215 task.Visible = true;216 }217 }218219 protected override void OnFormSizeChanged()220 {221 try222 {223 m_TreeListAttCases.ParentControl.SuspendLayout();224 FormTool.StretchControl(m_TreeListAttCases, ExtOrientation.Both, keepSpaceForScrollBars: true);225 int num = (m_DecisionMode ? 230 : 90);226 if (m_FeatureActive)227 {228 num += 120;229 }230 m_TreeListAttCases.Height -= num;231 FormTool.StretchControl(m_TreeListCompleteDecisions, ExtOrientation.Both, keepSpaceForScrollBars: true);232 }233 finally234 {235 m_TreeListAttCases.ParentControl.ResumeLayout();236 }237 }238239 protected override void OnFormUnload()240 {241 //IL_0006: Unknown result type (might be due to invalid IL or missing references)242 //IL_000b: Unknown result type (might be due to invalid IL or missing references)243 Enumerator<string> enumerator = m_ReportFiles.GetEnumerator();244 try245 {246 while (enumerator.MoveNext())247 {248 string current = enumerator.Current;249 try250 {251 File.Delete(current);252 }253 catch254 {255 }256 }257 }258 finally259 {260 ((System.IDisposable)enumerator/*cast due to .constrained prefix*/).Dispose();261 }262 m_ReportFiles.Clear();263 base.OnFormUnload();264 }265266 public void Task_ShowHistory()267 {268 //IL_00fe: Unknown result type (might be due to invalid IL or missing references)269 try270 {271 if (base.Session != null)272 {273 string text = "";274 if (m_TabControl.SelectedTab == m_TabPageOpen)275 {276 text = ((m_ProxyOpen.SelectedNode != null) ? ((m_ProxyOpen.SelectedNode.Tag as string) ?? "") : "");277 }278 else if (m_TabControl.SelectedTab == m_TabPageComplete)279 {280 text = ((m_ProxyComplete.SelectedNode != null) ? ((m_ProxyComplete.SelectedNode.Tag as string) ?? "") : "");281 }282 if (text.Length != 0)283 {284 ISingleDbObject singleDbObject = base.Session.Resolve<IConnection>().CreateSingle("AttestationCase", text);285 FormTool.ShowForm(base.ComponentContainer, m_FormDialogComponent, m_MainPanel, "FormAttestationCaseHistory", "VI_Attestation_Case_History", singleDbObject, BaseCustomizer.GetString("ATT_FormAttestationMakeDecision_Task_ShowAttestationCaseHistory", singleDbObject.Display), UISnapInDialogButtons.Close);286 }287 }288 }289 catch (System.Exception innerException)290 {291 ExceptionMgr.Instance.HandleException((System.Exception)(object)new FormCustomizerException(929001, innerException, BaseCustomizer.GetString("ATT_FormAttestationMakeDecision_Task_ShowAttestationCaseHistory").Replace("&", "")), this);292 }293 }294295 private void MainActivator_OnActivating(object sender, EventArgs e)296 {297 if (base.Session == null)298 {299 return;300 }301 try302 {303 ISingleDbObject dbObject = m_MainActivator.DbObject;304 m_DecisionMode = dbObject == null || string.Equals(dbObject["UID_Person"].New.String, base.Session.User().Uid, (StringComparison)5);305 m_TreeComboUIDQERJustification.DbObject = dbObject ?? base.Session.Resolve<IConnection>().CreateSingle("DialogUserConfiguration");306 m_EditDecisionReason.Caption = base.Session.MetaData().GetTable("AttestationCase").Columns["ReasonHead"].Display.Translated;307 m_TreeComboUIDQERJustification.Caption = base.Session.MetaData().GetTable("AttestationCase").Columns["UID_QERJustification"].Display.Translated;308 m_ButtonDecide.Visible = m_DecisionMode;309 m_EditDecisionReason.VisibleByUser = m_DecisionMode;310 m_ButtonShowAddAdditional.Visible = m_DecisionMode;311 m_ButtonShowAddInsteadOf.Visible = m_DecisionMode;312 m_ButtonShowQuery.Visible = m_DecisionMode;313 m_TreeComboUIDQERJustification.VisibleByUser = m_DecisionMode;314 string value = ((dbObject != null) ? dbObject["UID_Person"].New.String : base.Session.User().Uid);315 m_PersonSelectComboActivator.DbObject = base.Session.Resolve<IConnection>().CreateSingle("DialogUserConfiguration");316 ITreeComboBox treeComboPersonToAddAdditional = m_TreeComboPersonToAddAdditional;317 ITreeComboBox treeComboPersonToAddInsteadOf = m_TreeComboPersonToAddInsteadOf;318 string text = (m_TreeComboPersonToQuery.WhereClause = base.SqlFormatter.UidComparison("UID_Person", value, CompareOperator.NotEqual));319 string whereClause = (treeComboPersonToAddInsteadOf.WhereClause = text);320 treeComboPersonToAddAdditional.WhereClause = whereClause;321 ISqlFormatter sqlFormatter = base.SqlFormatter;322 m_TreeComboUIDQERJustification.WhereClause = sqlFormatter.AndRelation(sqlFormatter.Comparison("IsDecisionBySystem", false, ValType.Bool), sqlFormatter.OrRelation(sqlFormatter.Comparison("JustificationType", 8, ValType.Int, CompareOperator.BitsSet), sqlFormatter.Comparison("JustificationType", 32, ValType.Int, CompareOperator.BitsSet)));323 }324 finally325 {326 _Clear();327 _ToggleMode(null);328 _HandleFeatures();329 _LoadAttestationCases();330 _LoadCompleteDecisions();331 if (AppData.Instance.AppType == AppType.Gui)332 {333 OnFormSizeChanged();334 }335 }336 }337338 private void _Clear()339 {340 m_TreeComboPersonToAddAdditional.SelectedParent = null;341 m_TreeComboPersonToAddInsteadOf.SelectedParent = null;342 m_TreeComboPersonToQuery.SelectedParent = null;343 m_TreeComboUIDQERJustification.SelectedParent = null;344 m_EditAddAdditionalReason.Text = "";345 m_EditAddInsteadOfReason.Text = "";346 m_EditDecisionReason.Text = "";347 m_EditQuestion.Text = "";348 }349350 private void _ToggleMode(IUIControl control)351 {352 bool flag = control == m_TreeComboPersonToQuery;353 bool flag2 = control == m_TreeComboPersonToAddAdditional && m_FeatureAllowed_AddAdditional;354 bool flag3 = control == m_TreeComboPersonToAddInsteadOf && m_FeatureAllowed_AddInsteadOf;355 m_TreeComboPersonToQuery.ParentControl.Visible = flag;356 m_TreeComboPersonToAddAdditional.ParentControl.Visible = flag2;357 m_TreeComboPersonToAddInsteadOf.ParentControl.Visible = flag3;358 m_FeatureActive = flag || flag2 || flag3;359 OnFormSizeChanged();360 }361362 private void _HandleFeatures()363 {364 m_FeatureAllowed_AddAdditional = false;365 m_FeatureAllowed_AddInsteadOf = false;366 m_FeatureAllowed_DenyDecision = false;367 bool enabled = false;368 try369 {370 ITreeListNode[] selectedNodes = m_ProxyOpen.GetSelectedNodes();371 using (new BusyIndicator(base.Session, (selectedNodes.Length > 5) ? VI.FormBase.BusyTime.Normal : VI.FormBase.BusyTime.Short))372 {373 bool flag = selectedNodes.Length != 0;374 bool flag2 = selectedNodes.Length != 0;375 bool flag3 = selectedNodes.Length != 0;376 IEntitySource source = base.Session.Source();377 ITreeListNode[] array = selectedNodes;378 foreach (ITreeListNode treeListNode in array)379 {380 string uidattcase = treeListNode.Tag as string;381 if (uidattcase != null && m_ProxyOpen.GetItem(treeListNode, "approve") != null)382 {383 Query query = Query.From(new DbObjectKey("AttestationCase", uidattcase)).Select("DecisionLevel");384 int attCaseDecisionLevel = source.GetSingleValue<int>(query);385 enabled = true;386 Query query2 = (from t in Query.From("AttestationHelper")387 where t.Column("UID_AttestationCase") == uidattcase && t.Column("LevelNumber") == attCaseDecisionLevel388 select t).Select("UID_QERWorkingStep", "IsFromDelegation");389 IEntityCollection collection = source.GetCollection(query2, EntityCollectionLoadType.Slim);390 if (((System.Collections.Generic.IReadOnlyCollection<IEntity>)collection).Count == 0)391 {392 return;393 }394 IEntity entity = ((System.Collections.Generic.IReadOnlyList<IEntity>)collection)[0];395 IEntityWalker walker = entity.CreateWalker(base.Session);396 flag = flag && (!walker.TryGetValue<bool>("FK(UID_QERWorkingStep).IsAdditionalAllowed", out var value) || value);397 flag2 = flag2 && (!walker.TryGetValue<bool>("FK(UID_QERWorkingStep).IsInsteadOfAllowed", out var value2) || value2);398 flag3 = flag3 && entity.GetValue<bool>("IsFromDelegation");399 }400 }401 m_FeatureAllowed_AddAdditional = flag;402 m_FeatureAllowed_AddInsteadOf = flag2;403 m_FeatureAllowed_DenyDecision = flag3;404 }405 }406 finally407 {408 m_ButtonShowAddAdditional.Enabled = m_FeatureAllowed_AddAdditional;409 m_ButtonShowAddInsteadOf.Enabled = m_FeatureAllowed_AddInsteadOf;410 m_ButtonShowQuery.Enabled = enabled;411 m_TreeComboPersonToQuery.ParentControl.Enabled = enabled;412 m_TreeComboPersonToAddAdditional.ParentControl.Enabled = m_FeatureAllowed_AddAdditional;413 m_TreeComboPersonToAddInsteadOf.ParentControl.Enabled = m_FeatureAllowed_AddInsteadOf;414 }415 }416417 private void _ExecuteFeature(string method, string uidperson, string reason)418 {419 ITreeListNode[] selectedNodes = m_ProxyOpen.GetSelectedNodes();420 using IUnitOfWork unitOfWork = base.Session.StartUnitOfWork();421 using (new BusyIndicator(base.Session, (selectedNodes.Length > 5) ? VI.FormBase.BusyTime.Normal : VI.FormBase.BusyTime.Short))422 {423 ITreeListNode[] array = selectedNodes;424 foreach (ITreeListNode treeListNode in array)425 {426 if (treeListNode.Tag is string primaryKeyValue && m_ProxyOpen.GetItem(treeListNode, "approve") != null)427 {428 IEntity entity = base.Session.Source().Get("AttestationCase", primaryKeyValue);429 List<object> val = new List<object>();430 if (!string.Equals(method, "QueryToPerson", (StringComparison)5))431 {432 val.Add((object)base.Session.User().Uid);433 }434 val.Add((object)uidperson);435 val.Add((object)reason);436 entity.CallMethod(method, val.ToArray());437 unitOfWork.Put(entity);438 }439 }440 unitOfWork.Commit();441 }442 }443444 private string ReplacePatterns(string input, string display1, string display2, string display3, string propInfo1, string propInfo2, string propInfo3, string propInfo4)445 {446 return input.Replace("%StructureDisplay1%", display1).Replace("%StructureDisplay2%", display2).Replace("%StructureDisplay3%", display3)447 .Replace("%PropertyInfo1%", propInfo1)448 .Replace("%PropertyInfo2%", propInfo2)449 .Replace("%PropertyInfo3%", propInfo3)450 .Replace("%PropertyInfo4%", propInfo4);451 }452453 private void _LoadAttestationCases()454 {455 //IL_05e9: Unknown result type (might be due to invalid IL or missing references)456 IUserFileService ret;457 bool flag = base.ComponentContainer.TryResolve<IUserFileService>(out ret);458 using (new UpdateHelper(m_TreeListAttCases))459 {460 m_ProxyOpen.Clear();461 m_ButtonDecide.Enabled = false;462 ISingleDbObject dbObject = m_MainActivator.DbObject;463 string text = ((dbObject != null) ? dbObject["UID_Person"].New.String : base.Session.User().Uid);464 if (base.Session == null || string.IsNullOrEmpty(text))465 {466 return;467 }468 IStatementRunner runner = base.Session.Resolve<IStatementRunner>();469 List<QueryParameter> obj = new List<QueryParameter>();470 obj.Add(new QueryParameter("UID_Person", ValType.String, text));471 using DisplayCachedDataReader displayCachedDataReader = new DisplayCachedDataReader(runner.SqlExecute("ATT-FormAttMakeDecision-ATTCases", (System.Collections.Generic.IEnumerable<QueryParameter>)obj), base.Session.MultiLanguage());472 IMetaData meta = base.Session.MetaData();473 IMetaTable table = meta.GetTable("AttestationPolicy");474 IMetaTable table2 = meta.GetTable("AttestationCase");475 IMetaTable table3 = meta.GetTable("AttestationObject");476 displayCachedDataReader.SetMetaColumn(3, table.Columns["Ident_AttestationPolicy"]);477 displayCachedDataReader.SetMetaColumn(4, table.Columns["Description"]);478 displayCachedDataReader.SetMetaColumn(6, table2.Columns["ReasonHead"]);479 displayCachedDataReader.SetMetaColumn(16, table3.Columns["UiTextGrouped1"]);480 displayCachedDataReader.SetMetaColumn(17, table3.Columns["UiTextGrouped2"]);481 displayCachedDataReader.SetMetaColumn(18, table3.Columns["UiTextGrouped3"]);482 displayCachedDataReader.SetMetaColumn(15, table3.Columns["UiText"]);483 ITreeListNode treeListNode = null;484 ITreeListNode treeListNode2 = null;485 ITreeListNode treeListNode3 = null;486 ITreeListNode treeListNode4 = null;487 ITreeListNode node = null;488 string text2 = null;489 string text3 = null;490 string text4 = null;491 string text5 = null;492 DisplayConverter displayConverter = new DisplayConverter();493 while (displayCachedDataReader.Read())494 {495 string text6 = displayCachedDataReader.GetString(2);496 string text7 = displayCachedDataReader.GetString(9);497 string text8 = displayCachedDataReader.GetString(10);498 string text9 = displayCachedDataReader.GetString(11);499 string propInfo = displayCachedDataReader.GetString(19);500 string propInfo2 = displayCachedDataReader.GetString(20);501 string propInfo3 = displayCachedDataReader.GetString(21);502 string propInfo4 = displayCachedDataReader.GetString(22);503 string text10 = displayCachedDataReader.GetString(16).Replace(Environment.NewLine, " ");504 string text11 = displayCachedDataReader.GetString(17).Replace(Environment.NewLine, " ");505 string text12 = displayCachedDataReader.GetString(18).Replace(Environment.NewLine, " ");506 string input = displayCachedDataReader.GetString(15).Replace(Environment.NewLine, " ");507 if (treeListNode == null || !string.Equals(text6, text2, (StringComparison)5))508 {509 treeListNode = m_ProxyOpen.AddNode(displayCachedDataReader.GetString(3), 16);510 treeListNode.UseSubItems = false;511 treeListNode.SubText = displayCachedDataReader.GetString(4).Replace(Environment.NewLine, " ");512 treeListNode.Tag = text6;513 treeListNode2 = null;514 treeListNode3 = null;515 treeListNode4 = null;516 node = treeListNode;517 text2 = text6;518 for (int i = 1; i < m_ProxyOpen.Columns.Length; i++)519 {520 m_ProxyOpen.AddItem(treeListNode, "");521 }522 }523 if ((treeListNode2 == null || text7 != text3) && text7.Length > 0)524 {525 treeListNode2 = m_ProxyOpen.AddNode(treeListNode, text7, 95);526 treeListNode2.UseSubItems = false;527 if (!string.IsNullOrEmpty(text10))528 {529 treeListNode2.SubText = ReplacePatterns(text10, text7, text8, text9, propInfo, propInfo2, propInfo3, propInfo4);530 }531 treeListNode2.Tag = text7;532 treeListNode3 = null;533 treeListNode4 = null;534 node = treeListNode2;535 text3 = text7;536 }537 if ((treeListNode3 == null || text8 != text4) && text8.Length > 0)538 {539 treeListNode3 = m_ProxyOpen.AddNode(treeListNode2 ?? treeListNode, text8, 95);540 treeListNode3.UseSubItems = false;541 if (!string.IsNullOrEmpty(text11))542 {543 treeListNode3.SubText = ReplacePatterns(text11, text7, text8, text9, propInfo, propInfo2, propInfo3, propInfo4);544 }545 treeListNode3.Tag = text8;546 treeListNode4 = null;547 node = treeListNode3;548 text4 = text8;549 }550 if ((treeListNode4 == null || text9 != text5) && text9.Length > 0)551 {552 treeListNode4 = m_ProxyOpen.AddNode(treeListNode3 ?? treeListNode2 ?? treeListNode, text9, 95);553 treeListNode4.UseSubItems = false;554 if (!string.IsNullOrEmpty(text12))555 {556 treeListNode4.SubText = ReplacePatterns(text12, text7, text8, text9, propInfo, propInfo2, propInfo3, propInfo4);557 }558 treeListNode4.Tag = text9;559 node = treeListNode4;560 text5 = text9;561 }562 ITreeListNode treeListNode5 = m_ProxyOpen.AddNode(node, displayCachedDataReader.GetString(1), 15);563 treeListNode5.Tag = displayCachedDataReader.GetString(0);564 m_ProxyOpen.AddItem(treeListNode5, displayConverter.DateToDisplayString(displayCachedDataReader.GetDateTime(7)));565 m_ProxyOpen.AddItem(treeListNode5, ReplacePatterns(input, text7, text8, text9, propInfo, propInfo2, propInfo3, propInfo4));566 m_ProxyOpen.AddItem(treeListNode5, displayCachedDataReader.GetString(5));567 m_ProxyOpen.AddItem(treeListNode5, displayCachedDataReader.GetString(6));568 m_ProxyOpen.AddItem(treeListNode5, _TranslateRulerLevel(displayCachedDataReader.GetInt32(14)));569 ITreeListItemSmall treeListItemSmall = m_ProxyOpen.CreateCheckBoxItem(checkState: false, "approve");570 treeListItemSmall.Enabled = m_DecisionMode;571 m_ProxyOpen.AddItem(treeListNode5, treeListItemSmall);572 treeListItemSmall = m_ProxyOpen.CreateCheckBoxItem(checkState: false, "deny");573 treeListItemSmall.Enabled = m_DecisionMode;574 m_ProxyOpen.AddItem(treeListNode5, treeListItemSmall);575 treeListItemSmall = m_ProxyOpen.CreateCheckBoxItem(checkState: false, "denydecision");576 treeListItemSmall.Enabled = m_DecisionMode;577 m_ProxyOpen.AddItem(treeListNode5, treeListItemSmall);578 if (displayCachedDataReader.GetDateTime(8) < System.DateTime.UtcNow && displayCachedDataReader.GetDateTime(8) != DbVal.MinDate)579 {580 treeListNode5.ForeColor = Color.Red;581 }582 string text13 = displayCachedDataReader.GetString(12);583 if (flag && !string.IsNullOrEmpty(text13) && displayCachedDataReader.GetString(13).Length > 0)584 {585 string caption = BaseCustomizer.GetString("ATT_FormAttestationMakeDecision_ShowReport", text13);586 ITreeListItemSmall treeListItemSmall2 = m_ProxyOpen.CreateButtonItem(caption, "ShowReport");587 treeListItemSmall2.Tag = text13;588 m_ProxyOpen.AddItem(treeListNode5, treeListItemSmall2);589 }590 }591 }592 }593594 private string _TranslateRulerLevel(int irulerLevel)595 {596 return irulerLevel switch597 {598 0 => LanguageManager.Instance.GetString("ATT_FormAttestationMakeDecision_RulerLevel_0"), 599 1 => LanguageManager.Instance.GetString("ATT_FormAttestationMakeDecision_RulerLevel_1"), 600 2 => LanguageManager.Instance.GetString("ATT_FormAttestationMakeDecision_RulerLevel_2"), 601 _ => "", 602 };603 }604605 private void _LoadCompleteDecisions()606 {607 using (new UpdateHelper(m_TreeListCompleteDecisions))608 {609 m_ProxyComplete.Clear();610 ISingleDbObject dbObject = m_MainActivator.DbObject;611 string text = ((dbObject != null) ? dbObject["UID_Person"].New.String : base.Session.User().Uid);612 if (base.Session == null || string.IsNullOrEmpty(text))613 {614 return;615 }616 IStatementRunner runner = base.Session.Resolve<IStatementRunner>();617 List<QueryParameter> obj = new List<QueryParameter>();618 obj.Add(new QueryParameter("UID_Person", ValType.String, text));619 using DisplayCachedDataReader displayCachedDataReader = new DisplayCachedDataReader(runner.SqlExecute("ATT-FormAttMakeDecisionCompleteCases", (System.Collections.Generic.IEnumerable<QueryParameter>)obj), base.Session.MultiLanguage());620 IMetaTable table = base.Session.MetaData().GetTable("AttestationPolicy");621 IMetaTable table2 = base.Session.MetaData().GetTable("AttestationHistory");622 IMetaTable table3 = base.Session.MetaData().GetTable("AttestationObject");623 displayCachedDataReader.SetMetaColumn(3, table.Columns["Ident_AttestationPolicy"]);624 displayCachedDataReader.SetMetaColumn(4, table.Columns["Description"]);625 displayCachedDataReader.SetMetaColumn(7, table2.Columns["DecisionType"]);626 displayCachedDataReader.SetMetaColumn(6, table2.Columns["ReasonHead"]);627 displayCachedDataReader.SetMetaColumn(16, table3.Columns["UiTextGrouped1"]);628 displayCachedDataReader.SetMetaColumn(17, table3.Columns["UiTextGrouped2"]);629 displayCachedDataReader.SetMetaColumn(18, table3.Columns["UiTextGrouped3"]);630 displayCachedDataReader.SetMetaColumn(15, table3.Columns["UiText"]);631 ITreeListNode treeListNode = null;632 ITreeListNode treeListNode2 = null;633 ITreeListNode treeListNode3 = null;634 ITreeListNode treeListNode4 = null;635 ITreeListNode node = null;636 string text2 = null;637 string text3 = null;638 string text4 = null;639 string text5 = null;640 DisplayConverter displayConverter = new DisplayConverter();641 while (displayCachedDataReader.Read())642 {643 string text6 = displayCachedDataReader.GetString(2);644 string text7 = displayCachedDataReader.GetString(9);645 string text8 = displayCachedDataReader.GetString(10);646 string text9 = displayCachedDataReader.GetString(11);647 string propInfo = displayCachedDataReader.GetString(19);648 string propInfo2 = displayCachedDataReader.GetString(20);649 string propInfo3 = displayCachedDataReader.GetString(21);650 string propInfo4 = displayCachedDataReader.GetString(22);651 string text10 = displayCachedDataReader.GetString(16).Replace(Environment.NewLine, " ");652 string text11 = displayCachedDataReader.GetString(17).Replace(Environment.NewLine, " ");653 string text12 = displayCachedDataReader.GetString(18).Replace(Environment.NewLine, " ");654 string input = displayCachedDataReader.GetString(15).Replace(Environment.NewLine, " ");655 if (treeListNode == null || !string.Equals(text6, text2, (StringComparison)5))656 {657 treeListNode = m_ProxyComplete.AddNode(displayCachedDataReader.GetString(3), 16);658 treeListNode.UseSubItems = false;659 treeListNode.SubText = displayCachedDataReader.GetString(4).Replace(Environment.NewLine, " ");660 treeListNode.Tag = text6;661 treeListNode2 = null;662 treeListNode3 = null;663 treeListNode4 = null;664 node = treeListNode;665 text2 = text6;666 for (int i = 1; i < m_ProxyOpen.Columns.Length; i++)667 {668 m_ProxyComplete.AddItem(treeListNode, "");669 }670 }671 if ((treeListNode2 == null || text7 != text3) && text7.Length > 0)672 {673 treeListNode2 = m_ProxyComplete.AddNode(treeListNode, text7, 95);674 treeListNode2.UseSubItems = false;675 if (!string.IsNullOrEmpty(text10))676 {677 treeListNode2.SubText = ReplacePatterns(text10, text7, text8, text9, propInfo, propInfo2, propInfo3, propInfo4);678 }679 treeListNode2.Tag = text7;680 treeListNode3 = null;681 treeListNode4 = null;682 node = treeListNode2;683 text3 = text7;684 }685 if ((treeListNode3 == null || text8 != text4) && text8.Length > 0)686 {687 treeListNode3 = m_ProxyComplete.AddNode(treeListNode2 ?? treeListNode, text8, 95);688 treeListNode3.UseSubItems = false;689 if (!string.IsNullOrEmpty(text11))690 {691 treeListNode3.SubText = ReplacePatterns(text11, text7, text8, text9, propInfo, propInfo2, propInfo3, propInfo4);692 }693 treeListNode3.Tag = text8;694 treeListNode4 = null;695 node = treeListNode3;696 text4 = text8;697 }698 if ((treeListNode4 == null || text9 != text5) && text9.Length > 0)699 {700 treeListNode4 = m_ProxyComplete.AddNode(treeListNode3 ?? treeListNode2 ?? treeListNode, text9, 95);701 treeListNode4.UseSubItems = false;702 if (!string.IsNullOrEmpty(text12))703 {704 treeListNode4.SubText = ReplacePatterns(text12, text7, text8, text9, propInfo, propInfo2, propInfo3, propInfo4);705 }706 treeListNode4.Tag = text9;707 node = treeListNode4;708 text5 = text9;709 }710 ITreeListNode treeListNode5 = m_ProxyComplete.AddNode(node, displayCachedDataReader.GetString(1), 15);711 treeListNode5.Tag = displayCachedDataReader.GetString(0);712 m_ProxyComplete.AddItem(treeListNode5, displayConverter.DateToDisplayString(displayCachedDataReader.GetDateTime(8)));713 m_ProxyComplete.AddItem(treeListNode5, ReplacePatterns(input, text7, text8, text9, propInfo, propInfo2, propInfo3, propInfo4));714 m_ProxyComplete.AddItem(treeListNode5, displayCachedDataReader.GetString(7));715 m_ProxyComplete.AddItem(treeListNode5, displayCachedDataReader.GetString(6));716 m_ProxyComplete.AddItem(treeListNode5, displayConverter.DateToDisplayString(displayCachedDataReader.GetDateTime(5)));717 m_ProxyComplete.AddItem(treeListNode5, _TranslateRulerLevel(displayCachedDataReader.GetInt32(14)));718 string text13 = displayCachedDataReader.GetString(12);719 if (!string.IsNullOrEmpty(text13) && displayCachedDataReader.GetString(13).Length > 0)720 {721 string caption = BaseCustomizer.GetString("ATT_FormAttestationMakeDecision_ShowReport", text13);722 ITreeListItemSmall treeListItemSmall = m_ProxyComplete.CreateButtonItem(caption, "ShowReport");723 treeListItemSmall.Tag = text13;724 m_ProxyComplete.AddItem(treeListNode5, treeListItemSmall);725 }726 }727 }728 }729730 private void _HandleSubItemActivated(ITreeListNode node, ITreeListItemSmall item)731 {732 //IL_014c: Unknown result type (might be due to invalid IL or missing references)733 //IL_0152: Unknown result type (might be due to invalid IL or missing references)734 try735 {736 if (node == null || item == null || item.ID != "ShowReport")737 {738 return;739 }740 string uidAttestationCase = node.Tag as string;741 if (!string.IsNullOrEmpty(uidAttestationCase))742 {743 Query query = (from t in Query.From("AttestationCase")744 where t.Column("UID_AttestationCase") == uidAttestationCase745 select t).Select("ReportContent").SelectDisplays();746 IEntityCollection collection = base.Session.Source().GetCollection(query);747 if (((System.Collections.Generic.IReadOnlyCollection<IEntity>)collection).Count != 0)748 {749 IEntity entity = ((System.Collections.Generic.IReadOnlyList<IEntity>)collection)[0];750 string text = ((item.Tag != null) ? (item.Tag as string) : "");751 base.ComponentContainer.Resolve<IUserFileService>().WriteFile(new UserFileService.WriteRequest752 {753 FileName = UserFileService.CreateSaveFileName(entity.Display) + "." + text.ToLowerInvariant(),754 Filter = new UserFileService.FileFilter[1]755 {756 new UserFileService.FileFilter757 {758 WildcardPattern = new string[1] { "*." + text }759 }760 },761 MimeType = "application/pdf"762 }, Convert.FromBase64String(entity.GetValue<string>("ReportContent")));763 }764 }765 }766 catch (System.Exception exception)767 {768 ExceptionMgr.Instance.HandleException(exception, this);769 }770 }771772 private void _AdaptDecideButton()773 {774 foreach (ITreeListNode item4 in (System.Collections.IEnumerable)m_ProxyOpen.GetNodeWalker(null, iterateAll: true))775 {776 ITreeListItemSmall item = m_ProxyOpen.GetItem(item4, "approve");777 ITreeListItemSmall item2 = m_ProxyOpen.GetItem(item4, "deny");778 ITreeListItemSmall item3 = m_ProxyOpen.GetItem(item4, "denydecision");779 if (item != null && item2 != null && ((bool)item.Data || (bool)item2.Data || (bool)item3.Data))780 {781 m_ButtonDecide.Enabled = true;782 return;783 }784 }785 m_ButtonDecide.Enabled = false;786 }787788 private void ProxyOpen_SubItemContentChanged(object sender, TreeListProxyEventArgs e)789 {790 try791 {792 if (e.SubItem.ID == "approve" && (bool)e.SubItem.Data)793 {794 m_ProxyOpen.GetItem(e.Node, "deny").Data = false;795 m_ProxyOpen.GetItem(e.Node, "denydecision").Data = false;796 }797 else if (e.SubItem.ID == "deny" && (bool)e.SubItem.Data)798 {799 m_ProxyOpen.GetItem(e.Node, "approve").Data = false;800 m_ProxyOpen.GetItem(e.Node, "denydecision").Data = false;801 }802 else if (e.SubItem.ID == "denydecision" && (bool)e.SubItem.Data)803 {804 m_ProxyOpen.GetItem(e.Node, "approve").Data = false;805 m_ProxyOpen.GetItem(e.Node, "deny").Data = false;806 }807 if (e.Node is TreeListNode treeListNode)808 {809 treeListNode.Invalidate(inclSubItems: true);810 }811 else if (m_TreeListAttCases is IAdapter && AppData.Instance.AppType == AppType.Gui)812 {813 m_TreeListAttCases.Invalidate();814 }815 }816 catch (System.Exception exception)817 {818 ExceptionMgr.Instance.HandleException(exception, this);819 }820 finally821 {822 _AdaptDecideButton();823 }824 }825826 private void ProxyOpen_SubItemActivated(object sender, TreeListProxyEventArgs e)827 {828 _HandleSubItemActivated(e.Node, e.SubItem);829 }830831 private void ProxyComplete_SubItemActivated(object sender, TreeListProxyEventArgs e)832 {833 _HandleSubItemActivated(e.Node, e.SubItem);834 }835836 private void ButtonDecide_Click(object sender, EventArgs e)837 {838 try839 {840 if (base.Session == null)841 {842 return;843 }844 IEntitySource source = base.Session.Source();845 using (new BusyIndicator(base.Session, VI.FormBase.BusyTime.Short))846 {847 using IUnitOfWork unitOfWork = base.Session.StartUnitOfWork();848 string text = m_TreeComboUIDQERJustification.SelectedParent?.GetValue<string>("UID_QERJustification");849 foreach (ITreeListNode item4 in (System.Collections.IEnumerable)m_ProxyOpen.GetNodeWalker(null, iterateAll: true))850 {851 try852 {853 ITreeListItemSmall item = m_ProxyOpen.GetItem(item4, "approve");854 ITreeListItemSmall item2 = m_ProxyOpen.GetItem(item4, "deny");855 ITreeListItemSmall item3 = m_ProxyOpen.GetItem(item4, "denydecision");856 if (item == null || item2 == null || item3 == null)857 {858 continue;859 }860 bool flag = (bool)item.Data;861 bool flag2 = (bool)item2.Data;862 bool flag3 = (bool)item3.Data;863 if (flag || flag2 || flag3)864 {865 string text2 = item4.Tag as string;866 if (string.IsNullOrEmpty(text2))867 {868 return;869 }870 IEntity entity = source.Get("AttestationCase", text2);871 if (flag3)872 {873 entity.CallMethod("DenyDecision", base.Session.User().Uid, m_EditDecisionReason.Text.Trim(), text);874 }875 else876 {877 entity.CallMethod("MakeDecision", base.Session.User().Uid, flag, m_EditDecisionReason.Text.Trim(), text);878 }879 unitOfWork.Put(entity);880 }881 }882 catch883 {884 m_ProxyOpen.SelectedNode = item4;885 throw;886 }887 }888 unitOfWork.Commit();889 }890 TreeSnapShot treeSnapShot = TreeSnapShot.Create(m_TreeListAttCases, "Tag", ignoreCase: true);891 _LoadAttestationCases();892 treeSnapShot.Restore(m_TreeListAttCases, restoreSelection: true);893 }894 catch (System.Exception exception)895 {896 ExceptionMgr.Instance.HandleException(exception, this);897 }898 }899900 private void ProxyComplete_SelectedNodeChanged(object sender, TreeListProxyEventArgs e)901 {902 base.Tasks["ShowHistory"].Enabled = m_ProxyComplete.SelectedNode != null && !m_ProxyComplete.SelectedNode.HasChildren;903 }904905 private void ProxyOpen_SelectedNodeChanged(object sender, TreeListProxyEventArgs e)906 {907 try908 {909 base.Tasks["ShowHistory"].Enabled = m_ProxyOpen.SelectedNode != null && !m_ProxyOpen.SelectedNode.HasChildren;910 _HandleFeatures();911 m_EditDescription.Text = "";912 if (e.Node != null)913 {914 m_EditDescription.Text = Enumerable.FirstOrDefault<ITreeListItemSmall>((System.Collections.Generic.IEnumerable<ITreeListItemSmall>)m_ProxyOpen.GetItems(e.Node), (Func<ITreeListItemSmall, bool>)((ITreeListItemSmall i) => i.Column.ID == "ATT_FormAttestationMakeDecision_AttestationCaseText"))?.Caption ?? "";915 }916 }917 catch (System.Exception exception)918 {919 ExceptionMgr.Instance.HandleException(exception, this);920 }921 }922923 private void ButtonQueryPerson_Click(object sender, EventArgs e)924 {925 try926 {927 if (m_TreeComboPersonToQuery.SelectedParent != null)928 {929 _ExecuteFeature("QueryToPerson", m_TreeComboPersonToQuery.SelectedParent["UID_Person"].New.String, m_EditQuestion.Text);930 }931 }932 catch (System.Exception exception)933 {934 ExceptionMgr.Instance.HandleException(exception, this);935 }936 finally937 {938 m_TreeComboPersonToQuery.ParentControl.Visible = false;939 }940 }941942 private void ButtonAddAdditional_Click(object sender, EventArgs e)943 {944 try945 {946 if (m_FeatureAllowed_AddAdditional && m_TreeComboPersonToAddAdditional.SelectedParent != null)947 {948 _ExecuteFeature("AddAdditional", m_TreeComboPersonToAddAdditional.SelectedParent["UID_Person"].New.String, m_EditAddAdditionalReason.Text);949 }950 }951 catch (System.Exception exception)952 {953 ExceptionMgr.Instance.HandleException(exception, this);954 }955 finally956 {957 m_TreeComboPersonToAddAdditional.ParentControl.Visible = false;958 }959 }960961 private void ButtonAddInsteadOf_Click(object sender, EventArgs e)962 {963 try964 {965 if (m_FeatureAllowed_AddInsteadOf && m_TreeComboPersonToAddInsteadOf.SelectedParent != null)966 {967 _ExecuteFeature("AddInsteadOf", m_TreeComboPersonToAddInsteadOf.SelectedParent["UID_Person"].New.String, m_EditAddInsteadOfReason.Text);968 }969 }970 catch (System.Exception exception)971 {972 ExceptionMgr.Instance.HandleException(exception, this);973 }974 finally975 {976 m_TreeComboPersonToAddInsteadOf.ParentControl.Visible = false;977 }978 }979980 private void ButtonShowQuery_Click(object sender, EventArgs e)981 {982 try983 {984 _ToggleMode(m_TreeComboPersonToQuery);985 }986 catch (System.Exception exception)987 {988 ExceptionMgr.Instance.HandleException(exception, this);989 }990 }991992 private void ButtonShowAddAdditional_Click(object sender, EventArgs e)993 {994 try995 {996 _ToggleMode(m_TreeComboPersonToAddAdditional);997 }998 catch (System.Exception exception)999 {1000 ExceptionMgr.Instance.HandleException(exception, this);1001 }1002 }10031004 private void ButtonShowAddInsteadOf_Click(object sender, EventArgs e)1005 {1006 try1007 {1008 _ToggleMode(m_TreeComboPersonToAddInsteadOf);1009 }1010 catch (System.Exception exception)1011 {1012 ExceptionMgr.Instance.HandleException(exception, this);1013 }1014 }10151016 private void TreeComboPersonToQuery_SelectedParentChanged(object sender, EventArgs e)1017 {1018 try1019 {1020 m_ButtonQueryPerson.Enabled = m_TreeComboPersonToQuery.SelectedParent != null;1021 }1022 catch (System.Exception exception)1023 {1024 ExceptionMgr.Instance.HandleException(exception, this);1025 }1026 }10271028 private void TreeComboPersonToAddAdditional_SelectedParentChanged(object sender, EventArgs e)1029 {1030 try1031 {1032 m_ButtonAddAdditional.Enabled = m_TreeComboPersonToAddAdditional.SelectedParent != null;1033 }1034 catch (System.Exception exception)1035 {1036 ExceptionMgr.Instance.HandleException(exception, this);1037 }1038 }10391040 private void TreeComboPersonToAddInsteadOf_SelectedParentChanged(object sender, EventArgs e)1041 {1042 try1043 {1044 m_ButtonAddInsteadOf.Enabled = m_TreeComboPersonToAddInsteadOf.SelectedParent != null;1045 }1046 catch (System.Exception exception)1047 {1048 ExceptionMgr.Instance.HandleException(exception, this);1049 }1050 }1051}1052