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; } }