using SnowMaidenContracts.Exceptions; using SnowMaidenContracts.Extensions; using SnowMaidenContracts.Infrastructure; namespace SnowMaidenContracts.DataModels; public class ManufacturerDataModel(string id, string manufacturerName, string? prevManufacturerName, string? prevPrevManufacturerName) : IValidation { public string Id { get; private set; } = id; public string ManufacturerName { get; private set; } = manufacturerName; public string? PrevManufacturerName { get; private set; } = prevManufacturerName; public string? PrevPrevManufacturerName { get; private set; } = prevPrevManufacturerName; public void Validate() { if (Id.IsEmpty()) throw new ValidationException("Field ID is empty"); if (!Id.IsGuid()) throw new ValidationException("The field ID value is NOT a unique identifier"); if (ManufacturerName.IsEmpty()) throw new ValidationException("Field ManufacturerName is empty"); } }