Բովանդակություն

Ներածություն

UIRequestExecutionProgress դասը նախատեսված է DataSource, DPR, Document-ի կատարման ընթացքում սերվերից կլիենտին հաղորդագրություններ ուղարկելու և պատասխանը ստանալու ֆունկցիոնալությունը ապահովելու համար։

Հատկություններ

UIRequestEnabled

public bool UIRequestEnabled { get; internal set; }

Ստուգում է արդյոք հասանելի է UI-ը թե ոչ։ Միայն UI-ի հասանելիության դեպքում է հնարավոր ցույց տալ սերվիսից եկող հաղորդագրության պատուհանները։

Մեթոդներ

MessageBox

public Task<MessageBoxResult> MessageBox(string prompt, MessageBoxButtons messageBoxButtons,
                                         MessageBoxIconType messageBoxIcon, MessageBoxDefaultButton messageBoxDefaultButton,
                                         string title, TimeSpan timeSpanToShow, int? id = null)

Այս մեթոդը օգտագործվում է DataSource, DPR, Document-ի կատարման ընթացքում 8X սերվիսից 4X կամ 8X կլիենտին հաղորդագրություն ուղարկելու, հաղորդագրության պատասխանը ստանալու և այն սերվիսում մշակելու համար։

Պարամետրեր

MessageBox

public Task<MessageBoxResult> MessageBox(string prompt, MessageBoxButtons messageBoxButtons = MessageBoxButtons.OK,
                                         MessageBoxIconType messageBoxIcon = MessageBoxIconType.Default,
                                         MessageBoxDefaultButton messageBoxDefaultButton = MessageBoxDefaultButton.DefaultButton1,
                                         string title = "", int millisecondsToShow = 15000, int? id = null)

Այս մեթոդը օգտագործվում է DataSource, DPR, Document-ի կատարման ընթացքում 8X սերվիսից 4X կամ 8X կլիենտին հաղորդագրություն ուղարկելու, հաղորդագրության պատասխանը ստանալու և այն սերվիսում մշակելու համար։

Պարամետրեր

  • prompt - Հաղորդագրության պատուհանի տեքստը։
  • messageBoxButtons - Հաղորդագրության պատուհանում ավելացվող կոճակները: Չլրացնելու դեպքում պատուհանում ավելացվելու է միայն “Լավ” կոճակը։
  • messageBoxIcon - Հաղորդագրության պատուհանում ավելացվող պատկերակը։ Չլրացնելու դեպքում պատուհանում ավելացվելու է “Information Message” պատկերակը։
  • messageBoxDefaultButton - Հաղորդագրության պատուհանի լռությամբ կոճակը։ Պատուհանի էկրանին երևալու ժամանակը լրանալուն պես պատուհանը փակվում է ավտոմատ սեղմելով լռությամբ ընտրված կոճակը։ Չլրացնելու դեպքում լռությամբ կոճակ հանդիսանալու է ձախից առաջին կոճակը։
  • title - Հաղորդագրության պատուհանի գլխագիրը։ Չլրացնելու դեպքում գլխագիր հանդիսանալու է ծրագրի անունը, օրինակ “ՀԾ Բանկ”, “ՀԾ Ձեռնարկություն”…:
  • millisecondsToShow - Հաղորդագրության պատուհանի էկրանին երևալու ժամանակը միլիվայրկյաններով: Չլրացնելու դեպքում պատուհանը փակվելու է 15 վրկ հետո՝ սեղմելով լռությամբ ընտրված կոճակը (messageBoxDefaultButton
  • id - Հաղորդագրության պատուհանի ներքին նույնականացման համարը (id):

Օրինակ

Այս օրինակում ներկայացված է փաստաթղթի հեռացման տրանզակցիայում աշխատող Delete իրադարձության մշակիչում ուղարկվում է հաղորդագրություն սերվերից կլիենտին MessageBox մեթոդի միջոցով։

public override async Task Delete(DeleteEventArgs args)
{
  // բեռնում է "Պայմանագիր" փաստաթղթի զավակ փաստաթղթերը
  var childs = await this.DocumentService.GetDocumentChildren(this.ISN);

  if (childs.Count > 0)
  {
    // MessageBox մեթոդի կանչի արդյունքում կլիենտում բացվում է հաղոորդագրւթյան պատուհան
    // "Հեռացնել պայմանագրի հաշիվները" տեքստով և "Այո" կոճակ սեղմման դեպքում հեռացվում է "Պայմանագիր" փաստաթղթի
    // և իր զավակ "Հաշիվ" փաստաթղթերի միջև կապերը։
    if ((await this.Progress.MessageBox("Հեռացնել պայմանագրի հաշիվները".ToArmenianANSI()),
        MessageBoxButtons.YesNo, MessageBoxIconType.Question)).UIRequestResult == MessageBoxRequestResult.Yes)
    {
        foreach (var (childISN, _) in childs)
        {
            await this.DocumentService.CutParentLink(childISN, this.ISN);          
        }           
    }
  }
}