Exemplo n.º 1
0
        public CalendarEntry(
            Tenant tenant,
            CalendarId calendarId,
            CalendarEntryId calendarEntryId,
            string description,
            string location,
            Owner owner,
            DateRange timeSpan,
            Repetition repetition,
            Alarm alarm,
            IEnumerable<Participant> invitees = null)
        {
            AssertionConcern.AssertArgumentNotNull(tenant, "The tenant must be provided.");
            AssertionConcern.AssertArgumentNotNull(calendarId, "The calendar id must be provided.");
            AssertionConcern.AssertArgumentNotNull(calendarEntryId, "The calendar entry id must be provided.");
            AssertionConcern.AssertArgumentNotEmpty(description, "The description must be provided.");
            AssertionConcern.AssertArgumentNotEmpty(location, "The location must be provided.");
            AssertionConcern.AssertArgumentNotNull(owner, "The owner must be provided.");
            AssertionConcern.AssertArgumentNotNull(timeSpan, "The time span must be provided.");
            AssertionConcern.AssertArgumentNotNull(repetition, "The repetition must be provided.");
            AssertionConcern.AssertArgumentNotNull(alarm, "The alarm must be provided.");

            if (repetition.Repeats == RepeatType.DoesNotRepeat)
                repetition = Repetition.DoesNotRepeat(timeSpan.Ends);

            AssertTimeSpans(repetition, timeSpan);

            Apply(new CalendarEntryScheduled(tenant, calendarId, calendarEntryId, description, location, owner, timeSpan, repetition, alarm, invitees));
        }
Exemplo n.º 2
0
 public Calendar(Tenant tenant, CalendarId calendarId, string name, string description, Owner owner, IEnumerable<CalendarSharer> sharedWith = null)
 {
     AssertionConcern.AssertArgumentNotNull(tenant, "The tenant must be provided.");
     AssertionConcern.AssertArgumentNotNull(calendarId, "The calendar id must be provided.");
     AssertionConcern.AssertArgumentNotEmpty(name, "The name must be provided.");
     AssertionConcern.AssertArgumentNotEmpty(description, "The description must be provided.");
     AssertionConcern.AssertArgumentNotNull(owner, "The owner must be provided.");
     Apply(new CalendarCreated(tenant, calendarId, name, description, owner, sharedWith));
 }
Exemplo n.º 3
0
 public CalendarCreated(Tenant tenant, CalendarId calendarId, string name, string description, Owner owner, IEnumerable<CalendarSharer> sharedWith)
 {
     this.Tenant = tenant;
     this.CalendarId = calendarId;
     this.Name = name;
     this.Description = description;
     this.Owner = owner;
     this.SharedWith = sharedWith;
 }
Exemplo n.º 4
0
 void When(CalendarEntryScheduled e)
 {
     this.tenant = e.Tenant;
     this.calendarId = e.CalendarId;
     this.calendarEntryId = e.CalendarEntryId;
     this.description = e.Description;
     this.location = e.Location;
     this.owner = e.Owner;
     this.timeSpan = e.TimeSpan;
     this.repetition = e.Repetition;
     this.alarm = e.Alarm;
     this.invitees = new HashSet<Participant>(e.Invitees ?? Enumerable.Empty<Participant>());
 }
Exemplo n.º 5
0
 public CalendarEntry ScheduleCalendarEntry(
     CalendarIdentityService calendarIdService,
     string description,
     string location,
     Owner owner,
     DateRange timeSpan,
     Repetition repetition,
     Alarm alarm,
     IEnumerable<Participant> invitees = null)
 {
     return new CalendarEntry(
         this.tenant,
         this.calendarId,
         calendarIdService.GetNextCalendarEntryId(),
         description,
         location,
         owner,
         timeSpan,
         repetition,
         alarm,
         invitees);
 }
 public CalendarEntryScheduled(
     Tenant tenant, 
     CalendarId calendarId, 
     CalendarEntryId calendarEntryId, 
     string description, 
     string location, 
     Owner owner, 
     DateRange timeSpan, 
     Repetition repetition,
     Alarm alarm,
     IEnumerable<Participant> invitees)
 {
     this.Tenant = tenant;
     this.CalendarId = calendarId;
     this.CalendarEntryId = calendarEntryId;
     this.Description = description;
     this.Location = location;
     this.Owner = owner;
     this.TimeSpan = timeSpan;
     this.Repetition = repetition;
     this.Alarm = alarm;
     this.Invitees = invitees;
 }