Add project files.

This commit is contained in:
Sergio Matias Urquin
2025-04-29 18:55:44 -06:00
commit c34987797a
46 changed files with 3697 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
namespace LSA.Core.Dapper.Service.Caching
{
public static class CacheKeyHelper
{
public static string GenerateCacheKey(object instance, string methodName, params object[] parameters)
{
var className = instance.GetType().Name;
var keyBuilder = new StringBuilder($"{className}.{methodName}");
foreach (var param in parameters)
{
string normalizedParam = NormalizeParameter(param);
keyBuilder.Append($".{normalizedParam}");
}
return keyBuilder.ToString();
}
private static string NormalizeParameter(object param)
{
if (param == null)
{
return "null";
}
string paramString;
if (param is DateTime dateTime)
{
paramString = dateTime.ToString("yyyyMMdd");
}
else
{
paramString = param.ToString();
}
// Replace special characters with an underscore
string normalizedParam = Regex.Replace(paramString, @"[^a-zA-Z0-9]", "_");
return normalizedParam;
}
}
}