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

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

RODocumentService դասը նախատեսված է RODocument տիպի փաստաթղթերը տվյալների պահոցից բեռնելու, քեշում պահելու և քեշից կարդալու համար։

Մեթոդներ

ClearCache

public void ClearCache()

Հեռացնում է բոլոր փաստաթղթերը քեշից։

Load

public Task<RODocument> Load(int isn,
                             bool loadGrids = false,
                             bool throwExceptionIfDeleted = true,
                             bool lookInArc = true)

Բեռնում է փաստաթուղթը տվյալների պահոցից ըստ փաստաթղթի ներքին նույնականացման համարի։

Վերադարձնում է քեշավորվող փաստաթղթի օբյեկտը, եթե հայտնաբերվել է։ Եթե չի հայտնաբերվել առաջացնում է սխալ կամ վերադարձնում է null կախված throwExceptionIfDeleted պարամետրից։

Պարամետրեր

  • isn - Բեռնվող փաստաթղթի ներքին նույնականացման համարը։
  • loadGrids - Փաստաթղթի աղյուսակների բեռնման հայտանիշ։
  • throwExceptionIfDeleted - Պահանջվող փաստաթղթի հեռացված լինելու դեպքում սխալի գեներացման հայտանիշ։
  • lookInArc - Արխիվացված փաստաթղթի բեռնման հայտանիշ։ true արժեքի դեպքում փաստաթուղթը հիմնական պահոցում չգտնելու դեպքում փորձում է բեռնել նաև արխիվային տվյալների պահոցից։

Load

public Task<RODocument> Load(int isn,
                             bool loadGrids = true,
                             bool throwExceptionIfDeleted = true,
                             bool lookInArc = true,
                             bool loadImagesAndMemos = false)

Բեռնում է փաստաթուղթը տվյալների պահոցից ըստ փաստաթղթի ներքին նույնականացման համարի։

Վերադարձնում է քեշավորվող փաստաթղթի օբյեկտը, եթե հայտնաբերվել է։ Եթե չի հայտնաբերվել առաջացնում է սխալ կամ վերադարձնում է null կախված throwExceptionIfDeleted պարամետրից։

Պարամետրեր

  • isn - Բեռնվող փաստաթղթի ներքին նույնականացման համարը։
  • loadGrids - Փաստաթղթի աղյուսակների բեռնման հայտանիշ։
  • throwExceptionIfDeleted - Պահանջվող փաստաթղթի հեռացված լինելու դեպքում սխալի գեներացման հայտանիշ։
  • lookInArc - Արխիվացված փաստաթղթի բեռնման հայտանիշ։ true արժեքի դեպքում փաստաթուղթը հիմնական պահոցում չգտնելու դեպքում փորձում է բեռնել նաև արխիվային տվյալների պահոցից։
  • loadImagesAndMemos - Փաստաթղթի նկարների ու մեծ մուտքագրման դաշտերի (մեմո) բեռնման հայտանիշ։

Load

public Task<T> Load<T>(int isn,
                       bool loadGrids = true,
                       bool throwExceptionIfDeleted = true,
                       bool lookInArc = true,
                       bool loadImagesAndMemos = false) where T : RODocument, new()

Բեռնում է փաստաթուղթը տվյալների պահոցից ըստ փաստաթղթի ներքին նույնականացման համարի։

Վերադարձնում է փաստաթղթի օբյեկտը, եթե հայտնաբերվել է։ Եթե չի հայտնաբերվել առաջացնում է սխալ կամ վերադարձնում է null կախված throwExceptionIfDeleted պարամետրից։

Պարամետրեր

  • T - Վերադարձնում է փաստաթղթի նկարագրված դաս 8X-ում, RODocument դասի ժառանգ։
  • isn - Բեռնվող փաստաթղթի ներքին նույնականացման համարը։
  • loadGrids - Փաստաթղթի աղյուսակների բեռնման հայտանիշ։
  • throwExceptionIfDeleted - Պահանջվող փաստաթղթի հեռացված լինելու դեպքում սխալի գեներացման հայտանիշ։
  • lookInArc - Արխիվացված փաստաթղթի բեռնման հայտանիշ։ true արժեքի դեպքում փաստաթուղթը հիմնական պահոցում չգտնելու դեպքում փորձում է բեռնել նաև արխիվային տվյալների պահոցից։
  • loadImagesAndMemos - Փաստաթղթի նկարների ու մեծ մուտքագրման դաշտերի (մեմո) բեռնման հայտանիշ։

Load

public Task<Dictionary<int, RODocument>> Load(IEnumerable<int> isnList)

Բեռնում է նշված ներքին նույնականացման համարներով փաստաթղթերը հիմնական տվյալների պահոցից՝ առանց աղյուսակների բեռնման և արխիվային տվյալների ստուգման:

Վերադարձնում է միայն այն քեշավորվող փաստաթղթերի բազմությունը, որոնք գտնվել են տվյալների պահոցում։ Վերադարձվող Dictionary-ում բանալին փաստաթղթի ISN-ն է, իսկ արժեքը՝ քեշավորվող փաստաթուղթը։

Պարամետրեր

  • isnList - Փաստաթղթերի ներքին նույնականացման համարների ցուցակ։

LookUpInCache

public async Task<T> LookUpInCache<T>(int isn, TimeSpan checkAfter, 
                                      Ref<bool> isRefreshed = null, 
                                      bool lookInArc = true) where T : RODocument, new()
                                        

Փնտրում է փաստաթուղթը քեշում ըստ փաստաթղթի ներքին նույնականացման համարի և վերադարձնում։ Քեշում բացակայության դեպքում բեռնում է փաստաթուղթը տվյալների պահոցից, ավելացնում քեշում և վերադարձնում։

Պարամետրեր

  • T - Վերադարձնում է փաստաթղթի նկարագրված դաս 8X-ում, RODocument դասի ժառանգ։
  • isn - Փնտրվող փաստաթղթի ներքին նույնականացման համարը։
  • checkAfter - Եթե քեշում պարունակվող փաստաթղթի թարմության վերջին ստուգումից անցել է ավելի շատ ժամանակ, քան նշված է այս պարամետրում, ապա ստուգվում է փաստաթղթի թարմությունը։ Եթե քեշում պարունակվող փաստաթղթի timestamp-ը չի համընկնում տվյալների պահոցում գրանցված timestamp-ի հետ, ապա փաստաթուղթը բեռնում է տվյալների պահոցից, ավելացվում քեշում և վերադարձվում, հակառակ դեպքում վերադարձնում է քեշում առկա փաստաթուղթը։
  • isRefreshed - Ցույց է տալիս, արդյոք մեթոդի կանչի արդյունքում փաստաթուղթը բեռնվել է տվյալների պահոցից և թարմացվել քեշում, թե ոչ։
  • lookInArc - Արխիվացված փաստաթղթի բեռնման հայտանիշ։ true արժեքի դեպքում փաստաթուղթը հիմնական պահոցում չգտնելու դեպքում փորձում է բեռնել նաև արխիվային տվյալների պահոցից, եթե այնտեղ նույնպես փաստաթութը առկա չէ, առաջանում է սխալ։

LookUpInCache

public Task<T> LookUpInCache<T>(string folder, string key, 
                                TimeSpan checkAfter, 
                                Ref<bool> isRefreshed = null) where T : RODocument, new() 

Փնտրում է փաստաթուղթը քեշում ըստ փաստաթուղթը պարունակող թղթապանակի ներքին անվան և թղթապանակի տարրի կոդի և վերադարձնում։ Քեշում բացակայության դեպքում բեռնում է փաստաթուղթը տվյալների պահոցից, ավելացնում քեշում և վերադարձնում։

Պարամետրեր

  • T - Վերադարձնում է փաստաթղթի նկարագրված դաս 8X-ում, RODocument դասի ժառանգ։
  • folderID - Փաստաթուղթը պարունակող թղթապանակի ներքին անունը։
  • folderKey - Թղթապանակի տարրի կոդը։
  • checkAfter - Եթե քեշում պարունակվող փաստաթղթի թարմության վերջին ստուգումից անցել է ավելի շատ ժամանակ, քան նշված է այս պարամետրում, ապա ստուգվում է փաստաթղթի թարմությունը։ Եթե քեշում պարունակվող փաստաթղթի timestamp-ը չի համընկնում տվյալների պահոցում գրանցված timestamp-ի հետ, ապա փաստաթուղթը բեռնում է տվյալների պահոցից, ավելացվում քեշում և վերադարձվում, հակառակ դեպքում վերադարձնում է քեշում առկա փաստաթուղթը։
  • isRefreshed - Ցույց է տալիս, արդյոք մեթոդի կանչի արդյունքում փաստաթուղթը բեռնվել է տվյալների պահոցից և թարմացվել քեշում, թե ոչ։

LookUpInCache

public Task<T> LookUpInCache<T>(int isn, bool checkRelevance, 
                                Ref<bool> isRefreshed = null,
                                bool lookInArc = true) where T : RODocument, new()
                                        

Փնտրում է փաստաթուղթը քեշում ըստ փաստաթղթի ներքին նույնականացման համարի և վերադարձնում։ Քեշում բացակայության դեպքում բեռնում է փաստաթուղթը տվյալների պահոցից, ավելացնում քեշում և վերադարձնում։

Պարամետրեր

  • T - Վերադարձնում է փաստաթղթի նկարագրված դաս 8X-ում, RODocument դասի ժառանգ։
  • isn - Փնտրվող փաստաթղթի ներքին նույնականացման համարը։
  • checkRelevance - Քեշում պարունակվող փաստաթղթի թարմության ստուգման հայտանիշ։ true արժեքի դեպքում եթե քեշում պարունակվող փաստաթղթի timestamp-ը չի համընկնում տվյալների պահոցում գրանցված timestamp-ի հետ, ապա փաստաթուղթը բեռնում է տվյալների պահոցից, ավելացվում քեշում և վերադարձվում, հակառակ դեպքում վերադարձնում է քեշում առկա փաստաթուղթը։
  • isRefreshed - Ցույց է տալիս, արդյոք մեթոդի կանչի արդյունքում փաստաթուղթը բեռնվել է տվյալների պահոցից և թարմացվել քեշում, թե ոչ։
  • lookInArc - Արխիվացված փաստաթղթի բեռնման հայտանիշ։ true արժեքի դեպքում փաստաթուղթը հիմնական պահոցում չգտնելու դեպքում փորձում է բեռնել նաև արխիվային տվյալների պահոցից, եթե այնտեղ նույնպես փաստաթութը առկա չէ, առաջանում է սխալ։

LookUpInCache

public Task<T> LookUpInCache<T>(string folder, string key, 
                                bool checkRelevance, DocsTableRowLoader loader = null,
                                Ref<bool> isRefreshed = null) where T : RODocument, new()

Փնտրում է փաստաթուղթը քեշում ըստ փաստաթուղթը պարունակող թղթապանակի ներքին անվան և թղթապանակի տարրի կոդի և վերադարձնում։ Քեշում բացակայության դեպքում բեռնում է փաստաթուղթը տվյալների պահոցից, ավելացնում քեշում և վերադարձնում։

Պարամետրեր

  • T - Վերադարձնում է փաստաթղթի նկարագրված դաս 8X-ում, RODocument դասի ժառանգ։
  • folderID - Փաստաթուղթը պարունակող թղթապանակի ներքին անունը։
  • folderKey - Թղթապանակի տարրի կոդը։
  • checkRelevance - Քեշում պարունակվող փաստաթղթի թարմության ստուգման հայտանիշ։ true արժեքի դեպքում եթե քեշում պարունակվող փաստաթղթի timestamp-ը չի համընկնում տվյալների պահոցում գրանցված timestamp-ի հետ, ապա փաստաթուղթը բեռնում է տվյալների պահոցից, ավելացվում քեշում և վերադարձվում, հակառակ դեպքում վերադարձնում է քեշում առկա փաստաթուղթը։
  • loader - Delegate, որը որպես մուտքային պարամետրեր ստանում է folderID, folderKey և նախատեսված է փաստաթղթի հիմնական տեղեկատվության (isn, ստեղծման ամսաթիվ, ստեղծողի համար, մարմին… ) բեռնման սեփական տրամաբանության սահմանման համար։ null արժեքի փոխանցման դեպքում հիմնական տեղեկատվությունը բեռնում է համակարգի սահմանած լռությամբ ձևով։
  • isRefreshed - Ցույց է տալիս, արդյոք մեթոդի կանչի արդյունքում փաստաթուղթը բեռնվել է տվյալների պահոցից և թարմացվել քեշում, թե ոչ։

LookUpInCache

public Task<T> LookUpInCache<T>(int isn, 
                                DocumentLoadSession documentLoadSession,
                                Ref<bool> isRefreshed = null, 
                                bool lookInArc = true) where T : RODocument, new()
                                        

Փնտրում է փաստաթուղթը քեշում ըստ փաստաթղթի ներքին նույնականացման համարի և վերադարձնում։ Քեշում բացակայության դեպքում բեռնում է փաստաթուղթը տվյալների պահոցից, ավելացնում քեշում և վերադարձնում։

Պարամետրեր

  • T - Վերադարձնում է փաստաթղթի նկարագրված դաս 8X-ում, RODocument դասի ժառանգ։
  • isn - Փնտրվող փաստաթղթի ներքին նույնականացման համարը։
  • documentLoadSession - Փաստաթղթի բեռնման սեսսիա։ Եթե փաստաթուղթը պարունակվում է բեռնման սեսսիայի քեշում, ապա վերադարձնում է այն, հակառակ դեպքում բեռնում է տվյալների պահոցից, ավելացնում բեռնման սեսսիայի քեշում և վերադարձնում։
  • isRefreshed - Ցույց է տալիս, արդյոք մեթոդի կանչի արդյունքում փաստաթուղթը բեռնվել է տվյալների պահոցից և թարմացվել քեշում, թե ոչ։
  • lookInArc - Արխիվացված փաստաթղթի բեռնման հայտանիշ։ true արժեքի դեպքում փաստաթուղթը հիմնական պահոցում չգտնելու դեպքում փորձում է բեռնել նաև արխիվային տվյալների պահոցից, եթե այնտեղ նույնպես փաստաթութը առկա չէ, առաջանում է սխալ։

LookUpInCache

public Task<T> LookUpInCache<T>(string folder, string key, 
                                DocumentLoadSession documentLoadSession,
                                DocsTableRowLoader loader = null, 
                                Ref<bool> isRefreshed = null) where T : RODocument, new()

Փնտրում է փաստաթուղթը քեշում ըստ փաստաթուղթը պարունակող թղթապանակի ներքին անվան և թղթապանակի տարրի կոդի և վերադարձնում։ Քեշում բացակայության դեպքում բեռնում է փաստաթուղթը տվյալների պահոցից, ավելացնում քեշում և վերադարձնում։

Պարամետրեր

  • T - Վերադարձնում է փաստաթղթի նկարագրված դաս 8X-ում, RODocument դասի ժառանգ։
  • folderID - Փաստաթուղթը պարունակող թղթապանակի ներքին անունը։
  • folderKey - Թղթապանակի տարրի կոդը։
  • documentLoadSession - Փաստաթղթի բեռնման սեսսիա։ Եթե փաստաթուղթը պարունակվում է բեռնման սեսսիայի քեշում, ապա վերադարձնում է այն, հակառակ դեպքում բեռնում է տվյալների պահոցից, ավելացնում բեռնման սեսսիայի քեշում և վերադարձնում։
  • loader - Delegate, որը որպես մուտքային պարամետրեր ստանում է folderID, folderKey և նախատեսված է փաստաթղթի հիմնական տեղեկատվության (isn, ստեղծման ամսաթիվ, ստեղծողի համար, մարմին… ) բեռնման սեփական տրամաբանության սահմանման համար։ null արժեքի փոխանցման դեպքում հիմնական տեղեկատվությունը բեռնում է համակարգի սահմանած լռությամբ ձևով։
  • isRefreshed - Ցույց է տալիս, արդյոք մեթոդի կանչի արդյունքում փաստաթուղթը բեռնվել է տվյալների պահոցից և թարմացվել քեշում, թե ոչ։

RemoveFromCache

public void RemoveFromCache(int isn)

Հեռացնում է փաստաթուղթը քեշից՝ ըստ ներքին նույնականացման համարի։

Պարամետրեր

  • isn - Փաստաթղթի ներքին նույնականացման համարը։

RemoveFromCache

public void RemoveFromCache(string docType)

Հեռացնում է նշված տեսակի բոլոր փաստաթղթերը քեշից։

Պարամետրեր

  • docType - Փաստաթղթի տեսակը։