public void Validate() { AddNotifications( new Contract() .Requires() .IsNotNullOrEmpty(ApartmentId.ToString(), "ApartmentId", "Informe um apartamento") .IsNotNullOrEmpty(Id.ToString(), "Id", "Informe um condomínio") .HasMinLen(User, 6, "User", "Usuário Inválido") ); }
public OfferId Create(DateTime from, DateTime to, string apartmentIdString, decimal priceDecimal, string ownerIdString, decimal depositDecimal) { var apartmentId = ApartmentId.From(apartmentIdString); var apartment = _apartmentRepository.Get(apartmentId); var period = Period.From(from, to); var pricePerDay = Price.From(priceDecimal); var ownerId = OwnerId.From(ownerIdString); var deposit = Price.From(depositDecimal); var offer = OfferFactory.Create(apartment, ownerId, period, pricePerDay, deposit); _offerRepository.Save(offer); return(offer.Id); }
public Apartment Get(ApartmentId apartmentId) { return(_apartments.SingleOrDefault(a => a.Id.Equals(apartmentId))); }