QER.Forms/QER.Forms/FormITShopDecideOrder.cs
Decompiler Source FileQER.Forms.FormITShopDecideOrderDecompiled Source
Interpretation
- Decompiled source file. Use method/event registrations and call-site extraction to connect back to DialogMethod, QBMEvent, and API layers.
Relations
- CallMethod: MakeDecision at line 426
- CallMethod: DirectDecision at line 543
- CallMethod: QueryToPerson at line 580
- CallMethod: AddAdditional at line 607
- CallMethod: AddInsteadOf at line 633
- CallMethod: DenyDecision at line 657
- CallMethod: RecallQuery at line 679
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 IT Shop related markers
Summary: classes FormITShopDecideOrder; methods OnInit, Proxy_NodeDoubleClick, OnDesignChanged, OnResetForm, _LoadComplianceExceptions, InitializeComponent; references AccProduct, ComplianceArea, ComplianceRule, Delegation, ESet, HelperPWOCompliance; markers reads entity values, references DB/Dialog objects, IT Shop related markers
Classes
FormITShopDecideOrderMethods
- OnInit
- Proxy_NodeDoubleClick
- OnDesignChanged
- OnResetForm
- _LoadComplianceExceptions
- InitializeComponent
- MainActivator_OnActivating
- _Clear
- _ToggleMode
- _HandleFeatures
- _HandleAssignmentOrderMode
- OnFormLoad
- OnFormSizeChanged
- CommandDecideOrder_OnClick
- ButtonDirectOrder_Click
- ComplianceActivator_Activating
- ButtonSaveQuestion_Click
- ButtonAddAdditional_Click
- ButtonAddInsteadOf_Click
- ButtonDenyDecision_Click
- ButtonRecallQuery_Click
- ButtonShowQuery_Click
- ButtonShowAddAdditional_Click
- ButtonShowAddInsteadOf_Click
- ObjectChangeComponent_ColumnValueChanged
- TreeComboPersonToAddAdditional_SelectedParentChanged
- TreeComboPersonToAddInsteadOf_SelectedParentChanged
DB/Dialog object references
OIM key/entity markers
UID_PersonWantsOrg UID_QERWorkingStep UID_PersonHead UID_PWODecisionRule UID_QERJustification UID_Person UID_Org UID_AccProduct ObjectKeyAssignment UID_QERWorkingMethod UID_PersonOrderedAPI/entity calls
GetValue CreateSingle MetaData UidComparison User Source AndRelation EmptyClause Comparison From CreateSingleDbObject GetConnection InClauseRegistrations / handlers
None extracted.
Complete Source
1using System;2using System.Collections;3using System.Collections.Generic;4using System.Data;5using System.Linq;6using VI.Base;7using VI.Controls;8using VI.Controls.Interfaces;9using VI.DB;10using VI.DB.Compatibility;11using VI.DB.DataAccess;12using VI.DB.Entities;13using VI.DB.Sync;14using VI.FormBase;15using VI.FormCustomizers;16using VI.FormTools;17using VI.ImageLibrary;18using VI.UI.Base.Controls;19using VI.UI.Base.SnapIns;2021namespace QER.Forms;2223public class FormITShopDecideOrder : BaseCustomizer24{25 private bool m_IsAssignmentOrder;2627 private bool m_FeatureAllowed_AddAdditional;2829 private bool m_FeatureAllowed_AddInsteadOf;3031 private bool m_FeatureAllowed_DenyDecision;3233 private bool m_FeatureAllowed_RecallQuery;3435 private IActivatorComponent m_ComplianceActivator;3637 private IActivatorComponent m_MainActivator;3839 private IActivatorComponent m_QueryActivator;4041 private IButton m_ButtonAddAdditional;4243 private IButton m_ButtonAddInsteadOf;4445 private IButton m_ButtonDenyDecision;4647 private IButton m_ButtonDirectOrder;4849 private IButton m_ButtonRecallQuery;5051 private IButton m_ButtonSaveQuestion;5253 private IButton m_ButtonShowAddAdditional;5455 private IButton m_ButtonShowAddInsteadOf;5657 private IButton m_ButtonShowQuery;5859 private IButton m_CommandDecideOrder;6061 private ICaptionLabel m_CaptionLabelComplianceRules;6263 private ICaptionLabel m_CaptionLabelReasonHead;6465 private ICaptionLabel m_LabelQuestion;6667 private IEdit m_EditAddAdditionalReason;6869 private IEdit m_EditAddInsteadOfReason;7071 private IEdit m_EditDisplayObjectKeyAssignment;7273 private IEdit m_EditDisplayOrg;7475 private IEdit m_EditDisplayPersonHead;7677 private IEdit m_EditMNTable;7879 private IEdit m_EditOrderDate;8081 private IEdit m_EditOrderReason;8283 private IEdit m_EditOrderState;8485 private IEdit m_EditValidFrom;8687 private IEdit m_EditValidUntil;8889 private IEdit m_EditExceptionValidUntil;9091 private IEdit m_EditValidUntilProlongation;9293 private IFormDialogComponent m_FormDialogComponent;9495 private IHorizFormBar m_HorizFormBar;9697 private IImageBox m_ImageBoxJpegPhoto;9899 private ILinkComboBox m_FKLinkUIDPersonOrdered;100101 private ILinkComboBox m_FKLinkUIDWorkdeskOrdered;102103 private ITreeListControl m_TreeListComplianceExceptions;104105 private INetTextBox m_EditQuestion;106107 private INetTextBox m_EditReasonHead;108109 private IRadioButton m_OptionAgree;110111 private IRadioButton m_OptionDefeat;112113 private ITreeComboBox m_TreeComboPersonToAddAdditional;114115 private ITreeComboBox m_TreeComboPersonToAddInsteadOf;116117 private ITreeComboBox m_TreeComboPersonToAsk;118119 private ITreeComboBox m_TreeComboUIDQERJustification;120121 private IVIPanel m_MainPanel;122123 private IObjectChangeComponent m_ObjectChangeComponent;124125 protected override void OnInit()126 {127 base.OnInit();128 try129 {130 m_ButtonAddAdditional = base.Form.GetControl<IButton>("ButtonAddAdditional");131 m_ButtonAddInsteadOf = base.Form.GetControl<IButton>("ButtonAddInsteadOf");132 m_ButtonDenyDecision = base.Form.GetControl<IButton>("ButtonDenyDecision");133 m_ButtonDirectOrder = base.Form.GetControl<IButton>("ButtonDirectOrder");134 m_ButtonRecallQuery = base.Form.GetControl<IButton>("ButtonRecallQuery");135 m_ButtonSaveQuestion = base.Form.GetControl<IButton>("ButtonSaveQuestion");136 m_ButtonShowAddAdditional = base.Form.GetControl<IButton>("ButtonShowAddAdditional");137 m_ButtonShowAddInsteadOf = base.Form.GetControl<IButton>("ButtonShowAddInsteadOf");138 m_ButtonShowQuery = base.Form.GetControl<IButton>("ButtonShowQuery");139 m_CaptionLabelComplianceRules = base.Form.GetControl<ICaptionLabel>("CaptionLabelComplianceRules");140 m_CaptionLabelReasonHead = base.Form.GetControl<ICaptionLabel>("CaptionLabelReasonHead");141 m_CommandDecideOrder = base.Form.GetControl<IButton>("CommandDecideOrder");142 m_ComplianceActivator = base.Form.GetComponent<IActivatorComponent>("ComplianceActivator");143 m_TreeListComplianceExceptions = base.Form.GetControl<ITreeListControl>("TreeListComplianceExceptions");144 m_EditAddAdditionalReason = base.Form.GetControl<IEdit>("EditAddAdditionalReason");145 m_EditAddInsteadOfReason = base.Form.GetControl<IEdit>("EditAddInsteadOfReason");146 m_EditDisplayObjectKeyAssignment = base.Form.GetControl<IEdit>("EditDisplayObjectKeyAssignment");147 m_EditDisplayOrg = base.Form.GetControl<IEdit>("EditDisplayOrg");148 m_EditDisplayPersonHead = base.Form.GetControl<IEdit>("EditDisplayPersonHead");149 m_EditMNTable = base.Form.GetControl<IEdit>("EditMNTable");150 m_EditOrderDate = base.Form.GetControl<IEdit>("EditOrderDate");151 m_EditOrderReason = base.Form.GetControl<IEdit>("EditOrderReason");152 m_EditOrderState = base.Form.GetControl<IEdit>("EditOrderState");153 m_EditQuestion = base.Form.GetControl<INetTextBox>("EditQuestion");154 m_EditReasonHead = base.Form.GetControl<INetTextBox>("EditReasonHead");155 m_EditValidFrom = base.Form.GetControl<IEdit>("EditValidFrom");156 m_EditValidUntil = base.Form.GetControl<IEdit>("EditValidUntil");157 m_EditExceptionValidUntil = base.Form.GetControl<IEdit>("EditExceptionValidUntil");158 m_EditValidUntilProlongation = base.Form.GetControl<IEdit>("EditValidUntilProlongation");159 m_FKLinkUIDPersonOrdered = base.Form.GetControl<ILinkComboBox>("FKLinkUIDPersonOrdered");160 m_FKLinkUIDWorkdeskOrdered = base.Form.GetControl<ILinkComboBox>("FKLinkUIDWorkdeskOrdered");161 m_FormDialogComponent = base.Form.GetComponent<IFormDialogComponent>("FormDialogComponent");162 m_HorizFormBar = base.Form.GetControl<IHorizFormBar>("HorizFormBar");163 m_ImageBoxJpegPhoto = base.Form.GetControl<IImageBox>("ImageBoxJpegPhoto");164 m_LabelQuestion = base.Form.GetControl<ICaptionLabel>("LabelQuestion");165 m_MainActivator = base.Form.GetComponent<IActivatorComponent>("MainActivator");166 m_MainPanel = base.Form.GetControl<IVIPanel>("MainPanel");167 m_ObjectChangeComponent = base.Form.GetComponent<IObjectChangeComponent>("ObjectChangeComponent");168 m_OptionAgree = base.Form.GetControl<IRadioButton>("OptionAgree");169 m_OptionDefeat = base.Form.GetControl<IRadioButton>("OptionDefeat");170 m_QueryActivator = base.Form.GetComponent<IActivatorComponent>("QueryActivator");171 m_TreeComboPersonToAddAdditional = base.Form.GetControl<ITreeComboBox>("TreeComboPersonToAddAdditional");172 m_TreeComboPersonToAddInsteadOf = base.Form.GetControl<ITreeComboBox>("TreeComboPersonToAddInsteadOf");173 m_TreeComboPersonToAsk = base.Form.GetControl<ITreeComboBox>("TreeComboPersonToAsk");174 m_TreeComboUIDQERJustification = base.Form.GetControl<ITreeComboBox>("TreeComboUIDQERJustification");175 m_TreeListComplianceExceptions.AlternateNodeBackground = true;176 m_TreeListComplianceExceptions.ShowLines = false;177 }178 catch (System.Exception innerException)179 {180 throw new FormCustomizerException(874825, innerException, ((object)this).ToString());181 }182 }183184 private void Proxy_NodeDoubleClick(object sender, TreeListProxyEventArgs e)185 {186 try187 {188 NavigateTo(((IColElem)e.Node.Data).Create());189 }190 catch (System.Exception exception)191 {192 ExceptionMgr.Instance.HandleException(exception, this);193 }194 }195196 protected override void OnDesignChanged()197 {198 m_EditDisplayObjectKeyAssignment.Width = 800;199 }200201 protected override void OnResetForm()202 {203 base.OnResetForm();204 try205 {206 m_EditReasonHead.Focus();207 }208 catch (System.Exception innerException)209 {210 ExceptionMgr.Instance.HandleException((System.Exception)(object)new FormCustomizerException(929002, innerException), this);211 }212 }213214 private void _LoadComplianceExceptions()215 {216 ISingleDbObject dbObject = m_MainActivator.DbObject;217 if (dbObject == null)218 {219 return;220 }221 try222 {223 using (new UpdateHelper(m_TreeListComplianceExceptions))224 {225 ITreeListProxy proxy = m_TreeListComplianceExceptions.Proxy;226 proxy.Clear();227 string text = LanguageManager.Instance["QER_FormITShopDecideOrder_ComplianceExcCategory"];228 string text2 = LanguageManager.Instance["QER_FormCommon_Description"];229 string text3 = LanguageManager.Instance["QER_FormITShopDecideOrder_Rule"];230 string text4 = LanguageManager.Instance["QER_FormITShopDecideOrder_Severity"];231 string text5 = LanguageManager.Instance["QER_FormITShopDecideOrder_Notes"];232 IStatementRunner runner = base.Session.Resolve<IStatementRunner>();233 string text6 = "";234 IDataReader val = runner.SqlExecute("ITShop-ComplianceRulesForPWO", new QueryParameter[1] { QueryParameter.Create("UIDPersonWantsOrg", dbObject["UID_PersonWantsOrg"].New.String) });235 try236 {237 while (val.Read())238 {239 string text7 = ((IDataRecord)val).GetString(0);240 if (text7.Length > 0 && !string.Equals(text7, text6, (StringComparison)5))241 {242 text6 = text7;243 proxy.AddNode($"{text}: {text6}", -1);244 proxy.AddNode($"{text2}: {((IDataRecord)val).GetString(1)}", -1);245 proxy.AddNode("", -1);246 }247 string text8 = ((text6.Length > 0) ? "\t" : "");248 proxy.AddNode($"{text8}{text3}: {((IDataRecord)val).GetString(2)}", -1);249 string source = $"{text8}{text2}: {((IDataRecord)val).GetString(3)}";250 bool flag = true;251 string[] array = CommonTools.WordWrap(source, 60);252 foreach (string text9 in array)253 {254 proxy.AddNode(text8 + (flag ? "" : " ") + text9, -1);255 flag = false;256 }257 proxy.AddNode($"{text8}{text4}: {((IDataRecord)val).GetDouble(4):N2}", -1);258 string source2 = $"{text8}{text5}: {((IDataRecord)val).GetString(5)}";259 flag = true;260 array = CommonTools.WordWrap(source2, 60);261 foreach (string text10 in array)262 {263 proxy.AddNode(text8 + (flag ? "" : " ") + text10, -1);264 flag = false;265 }266 proxy.AddNode("", -1);267 }268 }269 finally270 {271 ((System.IDisposable)val)?.Dispose();272 }273 }274 }275 catch (System.Exception exception)276 {277 ExceptionMgr.Instance.HandleException(exception, this);278 }279 }280281 private void InitializeComponent()282 {283 }284285 private void MainActivator_OnActivating(object sender, EventArgs e)286 {287 bool flag = false;288 try289 {290 ISingleDbObject dbObject = m_MainActivator.DbObject;291 if (dbObject != null)292 {293 ISqlFormatter sqlFormatter = base.SqlFormatter;294 ICaptionLabel captionLabelComplianceRules = m_CaptionLabelComplianceRules;295 bool visibleByUser = (m_TreeListComplianceExceptions.Visible = base.Session.MetaData().IsTableAvailable("ComplianceArea"));296 captionLabelComplianceRules.VisibleByUser = visibleByUser;297 string text = base.SqlFormatter.UidComparison("uid_personwantsorg", dbObject.GetValueSafe("uid_personwantsorg", "-"));298 m_ButtonDirectOrder.Enabled = base.Session.User().Uid != null && base.Session.Source().Exists("QERWorkingStep", base.SqlFormatter.AndRelation("not " + base.SqlFormatter.EmptyClause("DirectSteps", ValType.String), base.SqlFormatter.Comparison("DirectSteps", "0", ValType.String, CompareOperator.NotEqual, FormatterOptions.None), string.Format("UID_QERWorkingStep in (select UID_QERWorkingStep from PWOHelperPWO where {0})", (object)base.SqlFormatter.AndRelation(text, base.SqlFormatter.Comparison("LevelNumber", dbObject.GetValueSafe("DecisionLevel", 999), ValType.Int)))));299 m_EditExceptionValidUntil.VisibleByUser = base.Session.User().Uid != null && base.Session.Source().Exists(Query.From("PWOHelperPWO").Where(sqlFormatter.AndRelation(text, sqlFormatter.UidComparison("UID_PersonHead", base.Session.User().Uid), sqlFormatter.InClause("UID_PWODecisionRule", ValType.String, FormatterOptions.NonUnicodeLiterals, "CPL-PWODecisionRule-OC", "CPL-PWODecisionRule-OH"))).SelectNone());300 m_CommandDecideOrder.Enabled = base.Session.User().Uid != null;301 m_EditDisplayPersonHead.Text = base.Session.User().Display;302 m_EditReasonHead.Enabled = true;303 m_OptionAgree.EnabledByUser = true;304 m_OptionDefeat.EnabledByUser = true;305 m_TreeComboUIDQERJustification.Caption = base.Session.MetaData().GetTable("PersonWantsOrg").Columns["UID_QERJustification"].Display.Translated;306 m_TreeComboUIDQERJustification.SelectedParent = null;307 m_TreeComboUIDQERJustification.WhereClause = sqlFormatter.AndRelation(sqlFormatter.Comparison("IsDecisionBySystem", false, ValType.Bool), sqlFormatter.OrRelation(sqlFormatter.Comparison("JustificationType", 4, ValType.Int, CompareOperator.BitsSet), sqlFormatter.Comparison("JustificationType", 16, ValType.Int, CompareOperator.BitsSet)));308 flag = base.Session.Source().Exists("HelperPWOCompliance", text);309 _HandleAssignmentOrderMode();310 _HandleFeatures();311 ITreeComboBox treeComboPersonToAddAdditional = m_TreeComboPersonToAddAdditional;312 ITreeComboBox treeComboPersonToAddInsteadOf = m_TreeComboPersonToAddInsteadOf;313 string text2 = (m_TreeComboPersonToAsk.WhereClause = base.SqlFormatter.UidComparison("UID_Person", base.Session.User().Uid, CompareOperator.NotEqual));314 string whereClause = (treeComboPersonToAddInsteadOf.WhereClause = text2);315 treeComboPersonToAddAdditional.WhereClause = whereClause;316 DbVal value = dbObject.ObjectWalker.GetValue("FK(UID_Org).UID_AccProduct");317 m_ImageBoxJpegPhoto.DbObject = (base.Session.Source().TryGet(new DbObjectKey("AccProduct", value), out var entity) ? entity.CreateSingleDbObject(base.Session) : base.Session.GetConnection().CreateSingle("AccProduct"));318 }319 }320 finally321 {322 _ToggleMode(null);323 m_ButtonShowAddAdditional.Enabled = m_FeatureAllowed_AddAdditional;324 m_ButtonShowAddInsteadOf.Enabled = m_FeatureAllowed_AddInsteadOf;325 m_ButtonDenyDecision.Enabled = m_FeatureAllowed_DenyDecision;326 m_ButtonRecallQuery.Enabled = m_FeatureAllowed_RecallQuery;327 m_OptionAgree.Checked = true;328 ICaptionLabel captionLabelComplianceRules2 = m_CaptionLabelComplianceRules;329 bool visibleByUser = (m_TreeListComplianceExceptions.Visible = flag);330 captionLabelComplianceRules2.VisibleByUser = visibleByUser;331 _Clear();332 }333 }334335 private void _Clear()336 {337 m_TreeComboPersonToAddAdditional.SelectedParent = null;338 m_TreeComboPersonToAddInsteadOf.SelectedParent = null;339 m_EditAddAdditionalReason.Text = "";340 m_EditAddInsteadOfReason.Text = "";341 m_EditReasonHead.Text = "";342 m_EditQuestion.Text = "";343 }344345 private void _ToggleMode(IUIControl control)346 {347 m_TreeComboPersonToAsk.ParentControl.Visible = control == m_TreeComboPersonToAsk;348 m_TreeComboPersonToAddAdditional.ParentControl.Visible = control == m_TreeComboPersonToAddAdditional && m_FeatureAllowed_AddAdditional;349 m_TreeComboPersonToAddInsteadOf.ParentControl.Visible = control == m_TreeComboPersonToAddInsteadOf && m_FeatureAllowed_AddInsteadOf;350 }351352 private void _HandleFeatures()353 {354 m_FeatureAllowed_AddAdditional = false;355 m_FeatureAllowed_AddInsteadOf = false;356 m_FeatureAllowed_DenyDecision = false;357 m_FeatureAllowed_RecallQuery = false;358 ISingleDbObject dbObject = m_MainActivator.DbObject;359 if (dbObject == null)360 {361 return;362 }363 string whereClause = base.SqlFormatter.AndRelation(base.SqlFormatter.UidComparison("UID_PersonWantsOrg", dbObject.GetValue("UID_PersonWantsOrg").String), base.SqlFormatter.Comparison("LevelNumber", dbObject.GetValue("DecisionLevel").Int, ValType.Int));364 IEntityCollection collection = base.Session.Source().GetCollection(Query.From("PWOHelperPWO").Where(whereClause).Select("UID_PWODecisionRule", "UID_QERWorkingStep", "IsFromDelegation"), EntityCollectionLoadType.Slim);365 if (((System.Collections.Generic.IReadOnlyCollection<IEntity>)collection).Count != 0)366 {367 IEntityWalker provider = ((System.Collections.Generic.IReadOnlyList<IEntity>)collection)[0].CreateWalker(base.Session);368 m_FeatureAllowed_AddAdditional = provider.GetValue<bool>("FK(UID_QERWorkingStep).IsAdditionalAllowed");369 m_FeatureAllowed_AddInsteadOf = provider.GetValue<bool>("FK(UID_QERWorkingStep).IsInsteadOfAllowed");370 m_FeatureAllowed_DenyDecision = ((System.Collections.Generic.IReadOnlyList<IEntity>)collection)[0].GetValue<bool>("IsFromDelegation");371 m_FeatureAllowed_RecallQuery = string.Equals(dbObject.GetValue("UID_PersonHead").String, base.Session.User().Uid, (StringComparison)4) && dbObject.GetValue("IsReserved").Bool && Enumerable.Any<IEntity>((System.Collections.Generic.IEnumerable<IEntity>)collection, (Func<IEntity, bool>)((IEntity e) => e.GetValue<string>("UID_PWODecisionRule").EndsWith("QP", (StringComparison)5)));372 }373 }374375 private void _HandleAssignmentOrderMode()376 {377 ISingleDbObject dbObject = m_MainActivator.DbObject;378 if (dbObject != null)379 {380 m_IsAssignmentOrder = dbObject["ObjectKeyAssignment"].New.String.Length > 0;381 m_EditMNTable.VisibleByUser = m_IsAssignmentOrder;382 m_ImageBoxJpegPhoto.VisibleByUser = !m_IsAssignmentOrder;383 m_EditMNTable.Text = "";384 if (m_IsAssignmentOrder)385 {386 DbObjectKey dbObjectKey = new DbObjectKey(dbObject["ObjectKeyAssignment"].New.String);387 ISingleDbObject theObj = base.Session.Resolve<IConnection>().CreateSingle(dbObjectKey.Tablename);388 dbObjectKey.FillObject(theObj);389 m_EditMNTable.Text = base.Session.MetaData().GetTable(dbObjectKey.Tablename).Display.Translated;390 }391 }392 }393394 protected override void OnFormLoad()395 {396 m_ButtonAddAdditional.Enabled = false;397 m_ButtonAddInsteadOf.Enabled = false;398 m_EditReasonHead.Text = "";399 m_IsAssignmentOrder = false;400 m_EditMNTable.Caption = "QER_FormITShopDecideOrder_OrderedAssignmentTable";401 m_ButtonShowAddAdditional.Caption = "QER_FormITShopDecideOrder_ShowAddAdditional";402 m_ButtonShowAddInsteadOf.Caption = "QER_FormITShopDecideOrder_ShowAddInsteadOf";403 m_ButtonDenyDecision.Caption = "QER_FormITShopDecideOrder_DenyDecision";404 m_ButtonRecallQuery.Caption = "QER_FormITShopDecideOrder_RecallQuery";405 m_ButtonAddAdditional.Caption = "QER_FormCommon_Add";406 m_EditAddAdditionalReason.Caption = "QER_FormITShopDecideOrder_AddAdditionalReason";407 m_TreeComboPersonToAddAdditional.Caption = "QER_FormITShopDecideOrder_PersonToAddAdditional";408 m_ButtonAddInsteadOf.Caption = "QER_FormITShopDecideOrder_AddInsteadOf";409 m_EditAddInsteadOfReason.Caption = "QER_FormITShopDecideOrder_AddAdditionalReason";410 m_TreeComboPersonToAddInsteadOf.Caption = "QER_FormITShopDecideOrder_PersonToAddInsteadOf";411 }412413 protected override void OnFormSizeChanged()414 {415 FormTool.StretchControl(m_TreeListComplianceExceptions, ExtOrientation.Both, keepSpaceForScrollBars: true);416 }417418 private void CommandDecideOrder_OnClick(object sender, EventArgs e)419 {420 try421 {422 ISingleDbObject dbObject = m_MainActivator.DbObject;423 if (dbObject != null)424 {425 string text = m_TreeComboUIDQERJustification.SelectedParent?.GetValue<string>("UID_QERJustification");426 dbObject.Custom.CallMethod("MakeDecision", base.Session.User().Uid, m_OptionAgree.Checked, m_EditReasonHead.Text, text);427 dbObject.Save();428 dbObject.Load();429 m_EditReasonHead.Enabled = false;430 m_OptionAgree.EnabledByUser = false;431 m_OptionDefeat.EnabledByUser = false;432 m_CommandDecideOrder.Enabled = false;433 CloseForm();434 }435 }436 catch (System.Exception exception)437 {438 ExceptionMgr.Instance.HandleException(exception, this);439 }440 }441442 private void ButtonDirectOrder_Click(object sender, EventArgs e)443 {444 //IL_02b1: Unknown result type (might be due to invalid IL or missing references)445 //IL_02b6: Unknown result type (might be due to invalid IL or missing references)446 //IL_02b8: Unknown result type (might be due to invalid IL or missing references)447 //IL_02c6: Unknown result type (might be due to invalid IL or missing references)448 try449 {450 ISingleDbObject dbObject = m_MainActivator.DbObject;451 if (dbObject == null)452 {453 return;454 }455 string text = base.SqlFormatter.UidComparison("uid_personwantsorg", dbObject.GetValueSafe("uid_personwantsorg", "-"));456 string whereClause = $"UID_QERWorkingMethod\r\n in (\r\n select UID_QERWorkingMethod \r\n from QERWorkingStep \r\n where UID_QERWorkingStep \r\n in (\r\n select UID_QERWorkingStep from PWOHelperPWO where {text}\r\n )\r\n )";457 Query query = Query.From("QERWorkingStep").Where(whereClause).OrderBy("LevelNumber", "SubLevelNumber")458 .Select("DirectSteps", "LevelNumber", "UID_QERWorkingStep");459 IEntityCollection collection = base.Session.Source().GetCollection(query);460 int num = -1;461 int num2 = 0;462 int num3 = -999;463 int num4 = dbObject["DecisionLevel"].New.Int;464 IEntity entity = null;465 List<IEntity> val = new List<IEntity>();466 System.Collections.Generic.IEnumerator<IEntity> enumerator = ((System.Collections.Generic.IEnumerable<IEntity>)collection).GetEnumerator();467 try468 {469 while (((System.Collections.IEnumerator)enumerator).MoveNext())470 {471 IEntity current = enumerator.Current;472 int num5 = current.GetValue("LevelNumber").Int;473 if (num5 != num3)474 {475 num3 = num5;476 val.Add(current);477 }478 if (entity == null && num5 == num4)479 {480 num = num2;481 entity = current;482 }483 num2++;484 }485 }486 finally487 {488 ((System.IDisposable)enumerator)?.Dispose();489 }490 if (entity == null)491 {492 return;493 }494 MultiValueProperty multiValueProperty = new MultiValueProperty(entity.GetValue<string>("DirectSteps"));495 if (multiValueProperty.Count == 0)496 {497 return;498 }499 Dictionary<string, int> val2 = new Dictionary<string, int>();500 System.Collections.Generic.IEnumerator<string> enumerator2 = ((System.Collections.Generic.IEnumerable<string>)multiValueProperty).GetEnumerator();501 try502 {503 int num6 = default(int);504 while (((System.Collections.IEnumerator)enumerator2).MoveNext())505 {506 string current2 = enumerator2.Current;507 if (!string.IsNullOrEmpty(current2) && int.TryParse(current2, ref num6))508 {509 string value = val[num + num6].GetValue<string>("UID_QERWorkingStep");510 val2.Add(value, num6);511 }512 }513 }514 finally515 {516 ((System.IDisposable)enumerator2)?.Dispose();517 }518 int num7 = default(int);519 if (multiValueProperty.Count == 1)520 {521 if (!int.TryParse(multiValueProperty[0], ref num7))522 {523 return;524 }525 }526 else527 {528 Dictionary<string, object> parameters = new Dictionary<string, object>529 {530 ["TableName"] = "QERWorkingStep",531 ["DisplayPattern"] = BaseCustomizer.GetString("QER_FormITShopDecideOrder_DecisionLevel") + " %LevelNumber% - %LevelDisplay%",532 ["WhereClause"] = base.SqlFormatter.InClause("UID_QERWorkingStep", ValType.String, FormatterOptions.NonUnicodeLiterals, (System.Collections.IEnumerable)val2.Keys),533 ["HeaderImage"] = StockImage.Workflow,534 ["Description"] = BaseCustomizer.GetString("QER_FormITShopDecideOrder_SelectTargetDecisionLevelDescription"),535 ["ListHeaderCaption"] = BaseCustomizer.GetString("QER_FormITShopDecideOrder_PossibleDecisionLevels")536 };537 ValueTuple<UISnapInResultOption, object> val3 = FormTool.ShowForm(base.ComponentContainer, m_FormDialogComponent, m_MainPanel, "FormDialogGenericSelectObject", "QBM_QBMDialogGenericSelectObject", dbObject, BaseCustomizer.GetString("QER_FormITShopDecideOrder_SelectTargetDecisionLevel"), UISnapInDialogButtons.OkCancel, (IReadOnlyDictionary<string, object>)(object)parameters);538 if (val3.Item1 != UISnapInResultOption.Ok || !(val3.Item2 is IColElem colElem) || !val2.TryGetValue(colElem["UID_QERWorkingStep"].ToString(), ref num7))539 {540 return;541 }542 }543 dbObject.Custom.CallMethod("DirectDecision", base.Session.User().Uid, m_EditReasonHead.Text, num7);544 dbObject.Save();545 dbObject.Load();546 m_EditReasonHead.Enabled = false;547 m_OptionAgree.EnabledByUser = false;548 m_OptionDefeat.EnabledByUser = false;549 m_CommandDecideOrder.Enabled = false;550 CloseForm();551 }552 catch (System.Exception exception)553 {554 ExceptionMgr.Instance.HandleException(exception, this);555 }556 }557558 private void ComplianceActivator_Activating(object sender, EventArgs e)559 {560 try561 {562 _LoadComplianceExceptions();563 }564 catch (System.Exception exception)565 {566 ExceptionMgr.Instance.HandleException(exception, this);567 }568 }569570 private void ButtonSaveQuestion_Click(object sender, EventArgs e)571 {572 try573 {574 ISingleDbObject dbObject = m_MainActivator.DbObject;575 if (dbObject != null)576 {577 string text = m_QueryActivator.DbObject?["UID_PersonOrdered"].New.String;578 if (text != null)579 {580 dbObject.Custom.CallMethod("QueryToPerson", text, m_EditQuestion.Text);581 dbObject.Save();582 dbObject.Load();583 }584 }585 }586 catch (System.Exception exception)587 {588 ExceptionMgr.Instance.HandleException(exception, this);589 }590 finally591 {592 m_TreeComboPersonToAsk.ParentControl.Visible = false;593 }594 }595596 private void ButtonAddAdditional_Click(object sender, EventArgs e)597 {598 try599 {600 ISingleDbObject dbObject = m_MainActivator.DbObject;601 if (dbObject == null || !m_FeatureAllowed_AddAdditional || m_TreeComboPersonToAddAdditional.SelectedParent == null)602 {603 return;604 }605 using (new BusyIndicator(base.Session, BusyTime.Short))606 {607 dbObject.Custom.CallMethod("AddAdditional", base.Session.User().Uid, m_TreeComboPersonToAddAdditional.SelectedParent["UID_Person"].New.String, m_EditAddAdditionalReason.Text);608 dbObject.Save();609 dbObject.Load();610 }611 }612 catch (System.Exception exception)613 {614 ExceptionMgr.Instance.HandleException(exception, this);615 }616 finally617 {618 m_TreeComboPersonToAddAdditional.ParentControl.Visible = false;619 }620 }621622 private void ButtonAddInsteadOf_Click(object sender, EventArgs e)623 {624 try625 {626 ISingleDbObject dbObject = m_MainActivator.DbObject;627 if (dbObject == null || !m_FeatureAllowed_AddInsteadOf || m_TreeComboPersonToAddInsteadOf.SelectedParent == null)628 {629 return;630 }631 using (new BusyIndicator(base.Session, BusyTime.Short))632 {633 dbObject.Custom.CallMethod("AddInsteadOf", base.Session.User().Uid, m_TreeComboPersonToAddInsteadOf.SelectedParent["UID_Person"].New.String, m_EditAddInsteadOfReason.Text);634 dbObject.Save();635 dbObject.Load();636 }637 }638 catch (System.Exception exception)639 {640 ExceptionMgr.Instance.HandleException(exception, this);641 }642 finally643 {644 m_TreeComboPersonToAddInsteadOf.ParentControl.Visible = false;645 }646 }647648 private void ButtonDenyDecision_Click(object sender, EventArgs e)649 {650 try651 {652 ISingleDbObject dbObject = m_MainActivator.DbObject;653 if (dbObject != null && m_FeatureAllowed_DenyDecision)654 {655 using (new BusyIndicator(base.Session, BusyTime.Short))656 {657 dbObject.Custom.CallMethod("DenyDecision", base.Session.User().Uid, m_EditReasonHead.Text);658 dbObject.Save();659 dbObject.Load();660 }661 CloseForm();662 }663 }664 catch (System.Exception exception)665 {666 ExceptionMgr.Instance.HandleException(exception, this);667 }668 }669670 private void ButtonRecallQuery_Click(object sender, EventArgs e)671 {672 try673 {674 ISingleDbObject dbObject = m_MainActivator.DbObject;675 if (dbObject != null && m_FeatureAllowed_RecallQuery)676 {677 using (new BusyIndicator(base.Session, BusyTime.Short))678 {679 dbObject.Custom.CallMethod("RecallQuery", m_EditReasonHead.Text);680 dbObject.Save();681 dbObject.Load();682 }683 CloseForm();684 }685 }686 catch (System.Exception exception)687 {688 ExceptionMgr.Instance.HandleException(exception, this);689 }690 }691692 private void ButtonShowQuery_Click(object sender, EventArgs e)693 {694 try695 {696 if (m_MainActivator.DbObject != null)697 {698 m_QueryActivator.DbObject = base.Session.GetConnection().CreateSingle("PersonWantsOrg");699 _ToggleMode(m_TreeComboPersonToAsk);700 }701 }702 catch (System.Exception exception)703 {704 ExceptionMgr.Instance.HandleException(exception, this);705 }706 }707708 private void ButtonShowAddAdditional_Click(object sender, EventArgs e)709 {710 try711 {712 _ToggleMode(m_TreeComboPersonToAddAdditional);713 }714 catch (System.Exception exception)715 {716 ExceptionMgr.Instance.HandleException(exception, this);717 }718 }719720 private void ButtonShowAddInsteadOf_Click(object sender, EventArgs e)721 {722 try723 {724 _ToggleMode(m_TreeComboPersonToAddInsteadOf);725 }726 catch (System.Exception exception)727 {728 ExceptionMgr.Instance.HandleException(exception, this);729 }730 }731732 private void ObjectChangeComponent_ColumnValueChanged(object sender, ColumnEventArgs e)733 {734 try735 {736 string text = e.Column.Columnname.ToLowerInvariant();737 if (!(text == "validuntilprolongation"))738 {739 if (text == "isorderforworkdesk")740 {741 bool enabled = e.Column.ColDef.Enabled;742 using (new UpdateHelper(m_FKLinkUIDWorkdeskOrdered.ParentControl, ChangeType.Layout))743 {744 m_FKLinkUIDWorkdeskOrdered.VisibleByUser = enabled && e.New.Bool;745 m_FKLinkUIDPersonOrdered.VisibleByUser = enabled && !e.New.Bool;746 return;747 }748 }749 }750 else751 {752 m_EditValidUntilProlongation.VisibleByUser = e.New.Date != DbVal.MinDate;753 }754 }755 catch (System.Exception exception)756 {757 ExceptionMgr.Instance.HandleException(exception, this);758 }759 }760761 private void TreeComboPersonToAddAdditional_SelectedParentChanged(object sender, EventArgs e)762 {763 try764 {765 m_ButtonAddAdditional.Enabled = m_TreeComboPersonToAddAdditional.SelectedParent != null;766 }767 catch (System.Exception exception)768 {769 ExceptionMgr.Instance.HandleException(exception, this);770 }771 }772773 private void TreeComboPersonToAddInsteadOf_SelectedParentChanged(object sender, EventArgs e)774 {775 try776 {777 m_ButtonAddInsteadOf.Enabled = m_TreeComboPersonToAddInsteadOf.SelectedParent != null;778 }779 catch (System.Exception exception)780 {781 ExceptionMgr.Instance.HandleException(exception, this);782 }783 }784}785