using SPiluSZharuContracts.Exceptions; using SPiluSZharuContracts.Extensions; using SPiluSZharuContracts.Infrastructure; namespace SPiluSZharuContracts.DataModels; public class RestaurantDataModel(string id, string restaurantName, string? prevRestaurantName, string? prevPrevRestaurantName) : IValidation { public string Id { get; private set; } = id; public string RestaurantName { get; private set; } = restaurantName; public string? PrevRestaurantName { get; private set; } = prevRestaurantName; public string? PrevPrevRestaurantName { get; private set; } = prevPrevRestaurantName; public void Validate() { if (Id.IsEmpty()) throw new ValidationException("Field Id is empty"); if (!Id.IsGuid()) throw new ValidationException("The value in the field Id is not a unique identifier"); if (RestaurantName.IsEmpty()) throw new ValidationException("Field RestaurantName is empty"); } }