public Meeting CreateMeeting( string title, MeetingTerm term, string description, MeetingLocation location, int?attendeesLimit, int guestsLimit, Term rsvpTerm, MoneyValue eventFee, List <MemberId> hostsMembersIds, MemberId creatorId) { this.CheckRule(new MeetingCanBeOrganizedOnlyByPayedGroupRule(_paymentDateTo)); this.CheckRule(new MeetingHostMustBeAMeetingGroupMemberRule(creatorId, hostsMembersIds, _members)); return(Meeting.CreateNew(this.Id, title, term, description, location, MeetingLimits.Create(attendeesLimit, guestsLimit), rsvpTerm, eventFee, hostsMembersIds, creatorId)); }
public void CreateMeetingLimits_WhenGuestsLimitIsNegative_BreaksMeetingGuestsLimitCannotBeNegativeRule() { AssertBrokenRule <MeetingGuestsLimitCannotBeNegativeRule>(() => { MeetingLimits.Create(20, -9); }); }
public void CreateMeetingLimits_WhenAttendeesLimitIsNegative_BreaksMeetingAttendeesLimitCannotBeNegativeRule() { AssertBrokenRule <MeetingAttendeesLimitCannotBeNegativeRule>(() => { MeetingLimits.Create(-2, 8); }); }
public void CreateMeetingLimits_WhenAttendeesLimitIsNotDefined_GuestsLimitCanBeAny() { var meetingLimits = MeetingLimits.Create(null, 5); Assert.That(meetingLimits.AttendeesLimit, Is.EqualTo(null)); Assert.That(meetingLimits.GuestsLimit, Is.EqualTo(5)); }
public void CreateMeetingLimits_WhenAttendeesLimitIsLessThanGuestsLimit_BreaksMeetingAttendeesLimitMustBeGreaterThanGuestsLimitRule() { AssertBrokenRule <MeetingAttendeesLimitMustBeGreaterThanGuestsLimitRule>(() => { MeetingLimits.Create(5, 8); }); }
public void CreateMeetingLimits_WhenAttendeesLimitIsGreaterThanGuestsLimit_IsSuccessful() { var meetingLimits = MeetingLimits.Create(15, 5); Assert.That(meetingLimits.AttendeesLimit, Is.EqualTo(15)); Assert.That(meetingLimits.GuestsLimit, Is.EqualTo(5)); }
public async Task <Unit> Handle(ChangeMeetingMainAttributesCommand request, CancellationToken cancellationToken) { var meeting = await _meetingRepository.GetByIdAsync(new MeetingId(request.MeetingId)); meeting.ChangeMainAttributes(request.Title, MeetingTerm.CreateNewBetweenDates(request.TermStartDate, request.TermStartDate), request.Description, MeetingLocation.CreateNew(request.MeetingLocationName, request.MeetingLocationAddress, request.MeetingLocationPostalCode, request.MeetingLocationCity), MeetingLimits.Create(request.AttendeesLimit, request.GuestsLimit), Term.CreateNewBetweenDates(request.RSVPTermStartDate, request.RSVPTermEndDate), request.EventFeeValue.HasValue ? MoneyValue.Of(request.EventFeeValue.Value, request.EventFeeCurrency) : MoneyValue.Undefined, _memberContext.MemberId); return(Unit.Value); }