44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using System;
|
|
using System.Runtime.Caching;
|
|
using Kreta.Core.Logic;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.Naplo.Dao.V3.Naplo;
|
|
|
|
namespace Kreta.Naplo.BusinessLogic.V3.Intezmeny
|
|
{
|
|
internal static class IntezmenySubqueries
|
|
{
|
|
internal static IntezmenyAdatokDao GetIntezmenyAdatokFromCache(string intezmenyAzonosito)
|
|
{
|
|
var cache = MemoryCache.Default;
|
|
var cacheKey = $"{intezmenyAzonosito}_mobileIntezmenyAdatok";
|
|
|
|
if (!(cache[cacheKey] is IntezmenyAdatokDao intezmenyAdatok))
|
|
{
|
|
intezmenyAdatok = new IntezmenyAdatokDao();
|
|
|
|
Dal.MobileConnection.Run(
|
|
intezmenyAzonosito,
|
|
null,
|
|
h =>
|
|
{
|
|
intezmenyAdatok = h.IntezmenyDal().GetIntezmenyIdAktivTanevIdByAzonosito(intezmenyAzonosito).Tables[0].Rows[0].ToDao<IntezmenyAdatokDao>();
|
|
});
|
|
|
|
var policy = new CacheItemPolicy
|
|
{
|
|
AbsoluteExpiration = new DateTimeOffset(DateTime.Now.AddMinutes(20))
|
|
};
|
|
|
|
cache.Set(cacheKey, intezmenyAdatok, policy);
|
|
}
|
|
|
|
return intezmenyAdatok;
|
|
}
|
|
|
|
internal static void RemoveIntezemenyAdatokCache(string intezmenyAzonosito)
|
|
{
|
|
_ = MemoryCache.Default.Remove($"{intezmenyAzonosito}_mobileIntezmenyAdatok");
|
|
}
|
|
}
|
|
}
|