static ObservableCollection <GymEvent> GetEvents(int id, DateTime date, int dayCount) { ObservableCollection <GymEvent> result = new ObservableCollection <GymEvent>(); DateTime firstDate = new DateTime(date.Year, date.Month, date.Day); DateTime lastDate = firstDate.AddDays(dayCount); for (DateTime dateTime = firstDate; dateTime < lastDate; dateTime += TimeSpan.FromDays(1)) { DateTime startDate = dateTime.AddHours(rnd.Next(9, 12)); DateTime endDate = dateTime.AddHours(22); int trainingId = rnd.Next(1, kindOfTraining.Length - 1); for (DateTime startTime = startDate; startTime < endDate; startTime += new TimeSpan(rnd.Next(1, 4), 0, 0)) { GymEvent gymEvent = GetGymEvent(id, startTime, startTime.AddHours(1), trainingId, trainingId); result.Add(gymEvent); id++; trainingId++; if (trainingId >= kindOfTraining.Length) { trainingId = 1; } } } return(result); }
static GymEvent GetGymEvent(int id, DateTime start, DateTime end, int trainingId, int location) { Training training = kindOfTraining[trainingId]; var res = new GymEvent(); res.Id = id; res.StartTime = start; res.EndTime = end; res.TrainerId = trainingId; res.TrainingId = trainingId; res.Caption = training.Name; res.Description = training.Description; res.Room = (location + 1).ToString(); res.Type = 0; return(res); }
static GymEvent GetBodybuildingEvent(int id, DateTime date, int dayCount) { DateTime firstDate = new DateTime(date.Year, date.Month, date.Day); Training training = kindOfTraining[TrainingKind.Bodybuilding]; GymEvent pattern = GetGymEvent(id, firstDate.AddHours(8), firstDate.AddHours(22), training.Id, training.Id); pattern.AllDay = true; pattern.Type = (int)AppointmentType.Pattern; RecurrenceInfo recInfo = new RecurrenceInfo(); recInfo.Start = pattern.StartTime; recInfo.AllDay = true; recInfo.End = pattern.EndTime.AddDays(dayCount); recInfo.WeekDays = WeekDays.EveryDay; recInfo.Range = RecurrenceRange.EndByDate; recInfo.Type = RecurrenceType.Daily; pattern.RecurrenceInfo = String.Format(CultureInfo.InvariantCulture, recurrenceInfoFormat, recInfo.Start, recInfo.End, (int)recInfo.WeekDays, recInfo.OccurrenceCount, (int)recInfo.Range, (int)recInfo.Type, recInfo.Id.ToString()); return(pattern); }