Gremlin/Gremlin_BlazorServer/Data/DBClasses/MetaDataSetter.cs

34 lines
1.2 KiB
C#

using Gremlin_BlazorServer.Data.EntityClasses;
using System.Globalization;
using System.Runtime.CompilerServices;
using static Gremlin_BlazorServer.Data.EntityClasses.Enums;
namespace Gremlin_BlazorServer.Data.DBClasses
{
public static class MetaDataSetter
{
private static readonly DateTime farInTheFuture = DateTime.Parse("2050-12-31t00:00:00.000000z", CultureInfo.CurrentCulture);
public static IMetadata ForImport(IMetadata entity, string datamodifiedby = "", string dataversioncomment = "", [CallerMemberName] string callername = "")
{
SetMetaData(entity, datamodifiedby, dataversioncomment, callername);
return entity;
}
private static IMetadata SetMetaData(IMetadata entity, string datamodifiedby = "", string dataversioncomment = "", [CallerMemberName] string callername = "")
{
entity.DataCreationDate = DateTime.Now;
entity.DataModificationDate = DateTime.Now;
entity.DataModificationByUser = datamodifiedby == "" ? callername : datamodifiedby;
entity.DataStatus = Status.Active.ToString();
entity.DataValidFrom = DateTime.Now;
entity.DataValidUntil = farInTheFuture;
entity.DataVersionNumber++;
entity.DataVersionComment = dataversioncomment;
return entity;
}
}
}