Gremlin/Gremlin_BlazorServer/Data/DBClasses/MetaDataSetter.cs

28 lines
1.3 KiB
C#

using System.Globalization;
using System.Runtime.CompilerServices;
using Gremlin_BlazorServer.Data.EntityClasses;
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;
}
}