using System; using CandyHouseBase.Exceptions; using CandyHouseBase.Infrastructure; using CandyHouseBase.Extensions; namespace CandyHouseBase.DataModels { public class PekarHistoryDataModel : IValidation { public string PekarId { get; private set; } public string FIO { get; private set; } public string PositionId { get; private set; } public DateTime Date { get; private set; } public decimal BonusCoefficient { get; private set; } public PekarHistoryDataModel(string peKarId, string fio, string positionId, decimal bonusCoefficient, DateTime dateTime) { PekarId = peKarId; FIO = fio; PositionId = positionId; BonusCoefficient = bonusCoefficient; Date = dateTime; } public void Validate() { if (PekarId.IsEmpty()) throw new ValidationException("Field Id is empty"); if (!PekarId.IsGuid()) throw new ValidationException("Id must be a GUID"); if (FIO.IsEmpty()) throw new ValidationException("Field FIO is empty"); if (PositionId.IsEmpty()) throw new ValidationException("Field Position is empty"); if (!PositionId.IsGuid()) throw new ValidationException("Field must be a GUID"); if (BonusCoefficient <= 0) throw new ValidationException("BonusCoefficient must be positive"); } } }