示例#1
0
        /// <summary>
        /// Returns a <see cref="System.String" /> that represents this instance.
        /// </summary>
        /// <returns>
        /// A <see cref="System.String" /> that represents this instance.
        /// </returns>
        public override string ToString()
        {
            if (!DidAttend.HasValue)
            {
                return(string.Empty);
            }

            var sb = new StringBuilder();

            sb.Append((PersonAlias?.Person != null) ? PersonAlias.Person.ToStringSafe() + " " : string.Empty);

            string verb = "attended";

            if (this.DidAttend != true)
            {
                verb = "did not attend";

                if (this.ScheduledToAttend == true)
                {
                    verb = "is scheduled to attend";
                }
                else if (this.RequestedToAttend == true)
                {
                    verb = "has been requested to attend";
                }
                else if (this.DeclineReasonValueId.HasValue)
                {
                    verb = "has declined to attend";
                }
                else
                {
                    verb = "did not attend";
                }
            }
            else
            {
                verb = "attended";
            }

            sb.Append($"{verb} ");

            sb.Append(Occurrence?.Group?.ToStringSafe());
            if (DidAttend.Value)
            {
                sb.AppendFormat(" on {0} at {1}", StartDateTime.ToShortDateString(), StartDateTime.ToShortTimeString());

                var end = EndDateTime ?? Occurrence?.OccurrenceDate;
                if (end.HasValue)
                {
                    sb.AppendFormat(" until {0} at {1}", end.Value.ToShortDateString(), end.Value.ToShortTimeString());
                }
            }

            if (Occurrence?.Location != null)
            {
                sb.Append(" in " + Occurrence.Location.ToStringSafe());
            }

            return(sb.ToString().Trim());
        }
示例#2
0
        /// <summary>
        /// Returns a <see cref="System.String" /> that represents this instance.
        /// </summary>
        /// <returns>
        /// A <see cref="System.String" /> that represents this instance.
        /// </returns>
        public override string ToString()
        {
            if (!DidAttend.HasValue)
            {
                return(string.Empty);
            }

            var sb = new StringBuilder();

            sb.Append((PersonAlias?.Person != null) ? PersonAlias.Person.ToStringSafe() + " " : "");
            sb.Append(DidAttend.Value ? "attended " : "did not attend ");
            sb.Append(Occurrence?.Group?.ToStringSafe());
            if (DidAttend.Value)
            {
                sb.AppendFormat("on {0} at {1} ", StartDateTime.ToShortDateString(), StartDateTime.ToShortTimeString());

                var end = EndDateTime ?? Occurrence?.OccurrenceDate;
                if (end.HasValue)
                {
                    sb.AppendFormat("until {0} at {1} ", end.Value.ToShortDateString(), end.Value.ToShortTimeString());
                }
            }

            if (Occurrence?.Location != null)
            {
                sb.Append("in " + Occurrence.Location.ToStringSafe());
            }

            return(sb.ToString().Trim());
        }
示例#3
0
        /// <summary>
        /// Returns a <see cref="System.String" /> that represents this instance.
        /// </summary>
        /// <returns>
        /// A <see cref="System.String" /> that represents this instance.
        /// </returns>
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(Person != null ? Person.ToString() + " " : "");
            sb.Append(DidAttend ? "attended " : "did not attend ");
            sb.Append(Group != null ? Group.ToString() + " " : "");
            sb.AppendFormat("on {0} at {1} ", StartDateTime.ToShortDateString(), StartDateTime.ToShortTimeString());
            if (EndDateTime.HasValue)
            {
                sb.AppendFormat("until {0} at {1} ", EndDateTime.Value.ToShortDateString(), EndDateTime.Value.ToShortTimeString());
            }
            sb.Append(Location != null ? "in " + Location.ToString() : "");

            return(sb.ToString().Trim());
        }
示例#4
0
 public override string ToString() => string.Join(" | ", Id, Title, Location, Speakername, Type, StartDateTime.ToShortDateString(), StartDateTime.ToShortTimeString()
                                                  , EndDateTime.ToShortDateString(), EndDateTime.ToShortTimeString());
示例#5
0
        /// <summary>
        /// Formats a schedule trigger for display.
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            var sb = new StringBuilder();

            if (Daily.HasValue)
            {
                sb.Append(Daily.Value.EveryNDays == 1
                    ? "Run every day"
                    : $"Run every {Daily.Value.EveryNDays} days");
            }
            else if (Weekly.HasValue)
            {
                sb.Append(Weekly.Value.EveryNWeeks == 1
                    ? "Run every week"
                    : $"Run every {Weekly.Value.EveryNWeeks} weeks");
                sb.Append(" on ");

                var days = new List <string>(7);
                if ((Weekly.Value.DaysOfWeek & DayOfWeekFlag.Monday) == DayOfWeekFlag.Monday)
                {
                    days.Add("Monday");
                }
                if ((Weekly.Value.DaysOfWeek & DayOfWeekFlag.Tuesday) == DayOfWeekFlag.Tuesday)
                {
                    days.Add("Tuesday");
                }
                if ((Weekly.Value.DaysOfWeek & DayOfWeekFlag.Wednesday) == DayOfWeekFlag.Wednesday)
                {
                    days.Add("Wednesday");
                }
                if ((Weekly.Value.DaysOfWeek & DayOfWeekFlag.Thursday) == DayOfWeekFlag.Thursday)
                {
                    days.Add("Thursday");
                }
                if ((Weekly.Value.DaysOfWeek & DayOfWeekFlag.Friday) == DayOfWeekFlag.Friday)
                {
                    days.Add("Friday");
                }
                if ((Weekly.Value.DaysOfWeek & DayOfWeekFlag.Saturday) == DayOfWeekFlag.Saturday)
                {
                    days.Add("Saturday");
                }
                if ((Weekly.Value.DaysOfWeek & DayOfWeekFlag.Sunday) == DayOfWeekFlag.Sunday)
                {
                    days.Add("Sunday");
                }

                if (days.Count > 1)
                {
                    sb.Append(Join(", ", days.Take(days.Count - 1).ToArray()));
                    sb.Append(days.Count - 1 > 1 ? ", and " : " and ");
                    sb.Append(days[days.Count - 1]);
                }
                else
                {
                    sb.Append(days[0]);
                }
            }
            else if (Monthly.HasValue)
            {
                if (Monthly.Value.DayOfMonth.HasValue)
                {
                    sb.Append($"Run every {Monthly.Value.DayOfMonth.Value} day of the month");
                }
                else if (Monthly.Value.DayOfWeek.HasValue)
                {
                    sb.Append("Run the ");
                    switch (Monthly.Value.DayOfWeek.Value.NthMonthlyWeek)
                    {
                    case WeekOfMonth.First: sb.Append("first"); break;

                    case WeekOfMonth.Second: sb.Append("second"); break;

                    case WeekOfMonth.Third: sb.Append("third"); break;

                    case WeekOfMonth.Fourth: sb.Append("fourth"); break;

                    case WeekOfMonth.Last: sb.Append("last"); break;
                    }
                    sb.Append(" week of the month on ");
                    sb.Append(Monthly.Value.DayOfWeek.Value.DayOfWeek);
                }
                else
                {
                    throw new InvalidOperationException();
                }
            }
            else
            {
                throw new InvalidOperationException();
            }

            sb.Append(", starting on " + StartDateTime.ToShortDateString());
            sb.Append(" at " + StartDateTime.ToShortTimeString());

            if (!RepeatTask)
            {
                return(sb.ToString());
            }
            if (Every.HasValue)
            {
                sb.Append(", repeating every ");
                if (Every.Value.Number == 1)
                {
                    sb.Append(Every.Value.HoursOrMinutes == HoursOrMinutes.Minutes ? "minute" : "hour");
                }
                else
                {
                    sb.Append(Every.Value.HoursOrMinutes == HoursOrMinutes.Minutes
                        ? $"{Every.Value.Number} minutes"
                        : $"{Every.Value.Number} hours");
                }
            }

            if (!Until.HasValue)
            {
                return(sb.ToString());
            }
            if (Until.Value.Duration.HasValue)
            {
                sb.Append(" for ");
                sb.Append(Until.Value.Duration.Value);
            }
            else if (Until.Value.Time.HasValue)
            {
                sb.Append(" until ");
                sb.Append(Until.Value.Time.Value.ToShortDateString());
            }
            else
            {
                throw new InvalidOperationException();
            }

            return(sb.ToString());
        }