UNPKG

leds-spark-lib

Version:

Biblioteca de geração de código

45 lines (40 loc) 1.33 kB
import path from "path"; import fs from "fs"; import { expandToStringWithNL } from "../../../../models/model.js"; export function generate(model, target_folder) { fs.writeFileSync(path.join(target_folder, `BaseEntity.cs`), generateBaseEntity(model)); } function generateBaseEntity(model) { return expandToStringWithNL ` using System.Reflection; namespace ${model.configuration?.name}.Domain.Common { public class BaseEntity { public Guid Id { get; set; } public DateTimeOffset DateCreated { get; set; } public DateTimeOffset? DateUpdated { get; set; } public DateTimeOffset? DateDeleted { get; set; } public void Create() { this.DateCreated = DateTime.Now; } public void Update(BaseEntity entity) { foreach (PropertyInfo property in entity.GetType().GetProperties()) { if (property.CanWrite && property.Name != nameof(Id) && property.Name != nameof(DateCreated)) { property.SetValue(this, property.GetValue(entity)); } } this.DateUpdated = DateTime.Now; } public void Delete() { this.DateDeleted = DateTime.Now; } } }`; } //# sourceMappingURL=generate.js.map