public DraftId Choose(string offerIdString, string tenantIdString, DateTime from, DateTime to)
        {
            var offerId  = OfferId.From(offerIdString);
            var offer    = _offerRepository.Get(offerId);
            var tenantId = TenantId.From(tenantIdString);
            var period   = Period.From(from, to);

            var discount     = _discountService.CalculateDiscount(tenantIdString, offerIdString, from, to);
            var draftFactory = new DraftFactory(discount, new DefaultDraftNumberGenerator());
            var draft        = offer.Choose(tenantId, period, draftFactory);

            _draftRepository.Save(draft);

            return(draft.Id);
        }