Example #1
0
        /// <summary>
        /// Creates a new instance of a <typeparamref name="Event"/> object, and initializes it with the specified properties.
        /// </summary>
        /// <param name="calendar"></param>
        /// <param name="name"></param>
        /// <param name="start"></param>
        /// <param name="end"></param>
        /// <param name="state"></param>
        /// <param name="criteriaRule"></param>
        public Event(Calendar calendar, string name, DateTime start, DateTime end, EventState state = EventState.Published, CriteriaRule criteriaRule = CriteriaRule.Participate)
        {
            if (String.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentNullException(nameof(name));
            }

            this.CalendarId   = calendar?.Id ?? throw new ArgumentNullException(nameof(calendar));
            this.Calendar     = calendar;
            this.Name         = name;
            this.Key          = Guid.NewGuid();
            this.StartOn      = start;
            this.EndOn        = end;
            this.State        = state;
            this.CriteriaRule = CriteriaRule;
        }
Example #2
0
        /// <summary>
        /// Creates a new instance of a Opening object, and initializes it with the specified property values.
        /// </summary>
        /// <param name="activity"></param>
        /// <param name="name"></param>
        /// <param name="minParticipants"></param>
        /// <param name="maxParticipants"></param>
        /// <param name="type"></param>
        /// <param name="process"></param>
        public Opening(Activity activity, string name, int minParticipants, int maxParticipants, OpeningType type, ApplicationProcess process, CriteriaRule criteriaRule = CriteriaRule.Participate, OpeningState state = OpeningState.Published)
        {
            if (String.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentException($"Argument 'name' cannot be null, empty or whitespace.");
            }
            if (minParticipants <= 0)
            {
                throw new ArgumentException($"Argument 'minParticipants' must be greater than 0.");
            }
            if (maxParticipants < minParticipants)
            {
                throw new ArgumentException($"Argument 'maxParticipants' must be greater than or equal to 'minParticipants'.");
            }

            this.ActivityId         = activity?.Id ?? throw new ArgumentNullException(nameof(activity));
            this.Activity           = activity;
            this.Name               = name;
            this.MinParticipants    = minParticipants;
            this.MaxParticipants    = maxParticipants;
            this.OpeningType        = type;
            this.ApplicationProcess = process;
            this.Key          = Guid.NewGuid();
            this.State        = state;
            this.CriteriaRule = criteriaRule;
        }