/// <summary> /// Удалить события без назначенных посетителей /// </summary> public static void DeleteMeetingsWithNoVisitors() { var meetings = MeetingEntityClient.GetMeetings().Result; var meetingVisitors = MeetingVisitorEntityClient.GetMeetingsVisitors().Result; meetings.Where(meeting => meetingVisitors .Select(m => m.MeetingId).All(id => id != meeting.MeetingId)) .ToList() .ForEach(meeting => Console.WriteLine(MeetingEntityClient.DeleteMeeting(meeting).Result)); }
/// p.s. Мне казалось такое тоже надо было сделать, но оказывается этого не было в списке к реализации... /// <summary> /// Закрыть истекшие события /// </summary> public static void CloseMeetingsIfExpired() { try { var closedActivityId = ActivityEntityClient.GetActivities().Result .FirstOrDefault(activity => activity.Name == "Closed") .ActivityId; var expiredMeetings = MeetingEntityClient.GetMeetings().Result .Where(meeting => meeting.Date < DateTime.Now) .ToList(); foreach (var meeting in expiredMeetings) { meeting.ActivityId = closedActivityId; Console.WriteLine(MeetingEntityClient.UpdateMeeting(meeting)); } } catch (NullReferenceException e) { Console.WriteLine("Activity с названием Closed не существует в таблице Activities"); } }
/// <summary> /// Изменение выбранного события /// </summary> /// <param name="meeting">Событие с внесенными изменениями</param> public static void UpdateMeeting(Meeting meeting) { Console.WriteLine(MeetingEntityClient.UpdateMeeting(meeting).Result); }
/// <summary> /// Регистрация нового события /// </summary> /// <param name="meeting">Экземпляр события для регистрации</param> public static void RegisterNewMeeting(Meeting meeting) { Console.WriteLine(MeetingEntityClient.CreateMeeting(meeting).Result); }