protected override IEnumerable <Event> OnExecute() { EventDataProvider eventDataProvider = this.Scope.EventDataProvider; IEnumerable <PropertyDefinition> first = eventDataProvider.MapProperties(FindEvents.HardCodedProperties); PropertyDefinition[] array = first.Concat(FindEvents.HardCodedPropertyDependencies).ToArray <PropertyDefinition>(); bool includeSeriesMasters; if (this.Context == null || !this.Context.TryGetCustomParameter <bool>("ReturnSeriesMaster", out includeSeriesMasters)) { includeSeriesMasters = false; } bool flag = this.Context != null && this.Context.RequestedProperties != null && FindEvents.NeedsReread(this.Context.RequestedProperties, this.Trace); IEnumerable <Event> calendarView = eventDataProvider.GetCalendarView(this.Parameters.EffectiveStartTime, this.Parameters.EffectiveEndTime, includeSeriesMasters, flag ? this.Scope.EventDataProvider.MapProperties(FindEvents.IdProperty).ToArray <PropertyDefinition>() : array); if (flag) { int count = (this.Context != null) ? this.Context.PageSizeOnReread : 20; return((from x in calendarView.Take(count) select this.Scope.Read(x.Id, this.Context)).ToList <Event>()); } EventTimeAdjuster adjuster = this.Scope.TimeAdjuster; ExTimeZone sessionTimeZone = this.Scope.Session.ExTimeZone; return(from e in calendarView select adjuster.AdjustTimeProperties(e, sessionTimeZone)); }
private static void EditEvent(Dictionary <Event, List <Attendee> > events) { if (events.Count == 0) { Console.WriteLine("Ne postoji ni jedan rezerviran event trenutno."); return; } DisplayAllEventsNames(events); var foundEvent = EventDataProvider.ProvideEvent(events); if (foundEvent is Event == false) { return; } Console.WriteLine("Podaci eventa kojeg uređujete:"); Console.WriteLine(foundEvent.ToString()); Console.WriteLine(); var isEdittingDone = false; while (isEdittingDone == false) { Console.Clear(); var editFieldInput = EventDataProvider.ProvideEditEventFieldInput(); isEdittingDone = HandleEditEventField(editFieldInput, foundEvent, events); } }
protected override Event OnExecute() { EventDataProvider eventDataProvider = this.Scope.EventDataProvider; Event result; try { eventDataProvider.StoreObjectSaved += this.OnStoreObjectSaved; eventDataProvider.BeforeStoreObjectSaved += this.DataProviderOnBeforeStoreObjectSaved; if (!this.PropagationInProgress) { using (ICalendarItemBase calendarItemBase = eventDataProvider.ValidateAndBindToWrite(base.Entity)) { Event @event = eventDataProvider.ConvertToEntity(calendarItemBase); base.MergeAttendeesList(@event.Attendees); if (this.IsNprInstance(calendarItemBase)) { this.ValidateSeriesMasterId(calendarItemBase as ICalendarItem); this.PreProcessNprInstance(@event); } } } result = eventDataProvider.Update(base.Entity, this.Context); } finally { eventDataProvider.StoreObjectSaved -= this.OnStoreObjectSaved; eventDataProvider.BeforeStoreObjectSaved -= this.DataProviderOnBeforeStoreObjectSaved; } return(result); }
public static Event CreateNew(Dictionary <Event, List <Attendee> > events) { var eventName = EventDataProvider.ProvideName(); var eventType = EventDataProvider.ProvideType(); var eventTimeData = EventDataProvider.ProvideDuration(events); return(new Event(eventName, eventTimeData["startTime"], eventTimeData["endTime"], eventType)); }
protected override Event OnExecute() { StoreId entityStoreId = this.GetEntityStoreId(); EventDataProvider dataProvider = this.Scope.GetDataProvider(entityStoreId); Event @event = dataProvider.Read(entityStoreId); this.Scope.TimeAdjuster.AdjustTimeProperties(@event, this.Scope.Session.ExTimeZone); return(@event); }
protected EventDataProvider GetEventDataProviderInstance() { EventDataProvider eventProvider = null; if (eventProvider == null) { return(new EventDataProvider()); } return(eventProvider); }
protected override VoidResult OnExecute() { StoreId entityStoreId = this.GetEntityStoreId(); EventDataProvider eventDataProvider = this.Scope.EventDataProvider; Event eventObject = eventDataProvider.Read(entityStoreId); this.Validate(eventObject); eventDataProvider.RespondToEvent(entityStoreId, base.Parameters, this.UpdateToEvent); this.Scope.EventDataProvider.TryLogCalendarEventActivity(ActivityId.UpdateCalendarEvent, StoreId.GetStoreObjectId(entityStoreId)); this.CleanUpDeclinedEvent(entityStoreId); this.DeleteMeetingRequestIfRequired(eventObject); return(VoidResult.Value); }
private EventTimeAdjuster.TimeProperties AdjustTimeProperties(EventTimeAdjuster.TimeProperties initialValues, ExTimeZone sessionTimeZone) { if (initialValues.IsAllDay) { ExDateTime time = this.FloatTime(initialValues.Start, initialValues.IntendedStartTimeZone, sessionTimeZone); initialValues.Start = EventDataProvider.EnforceMidnightTime(time, MidnightEnforcementOption.MoveBackward); ExDateTime time2 = this.FloatTime(initialValues.End, initialValues.IntendedEndTimeZone, sessionTimeZone); initialValues.End = EventDataProvider.EnforceMidnightTime(time2, MidnightEnforcementOption.MoveForward); initialValues.IntendedStartTimeZone = initialValues.Start.TimeZone; initialValues.IntendedEndTimeZone = initialValues.Start.TimeZone; } return(initialValues); }
public Event InitialMasterOperation(Event updateToMaster) { StoreId entityStoreId = this.GetEntityStoreId(); EventDataProvider eventDataProvider = this.Scope.EventDataProvider; Event eventObject = eventDataProvider.Read(entityStoreId); this.Validate(eventObject); RespondToEvent respondToEvent = new RespondToEvent { EntityKey = updateToMaster.Id, UpdateToEvent = updateToMaster, SkipDeclinedEventRemoval = true, Parameters = base.Parameters, Scope = this.Scope }; respondToEvent.Execute(this.Context); return(this.Scope.Read(base.EntityKey, null)); }
private static void HandleEventReviewDisplay(Dictionary <Event, List <Attendee> > events) { int userInput; do { userInput = UserDialogDataProvider.FetchUsersInputFromEventDetailsSubmenu(); Console.Clear(); if (userInput == 4) { return; } DisplayAllEventsNames(events); var reviewEvent = EventDataProvider.ProvideEvent(events); if (reviewEvent is Event == false) { return; } switch (userInput) { case 1: DisplayEvent(reviewEvent); break; case 2: DisplayAttendeesByEvent(events[reviewEvent]); break; case 3: DisplayEventAndAttendees(reviewEvent, events[reviewEvent]); break; default: break; } Console.WriteLine(); } while (userInput != 4); }
private static void RemoveAttendeeFromEvent(Dictionary <Event, List <Attendee> > events) { Console.Clear(); DisplayAllEventsNames(events); Console.WriteLine("ODJAVA OSOBE SA EVENTA"); var registrationEvent = EventDataProvider.ProvideEvent(events); if (registrationEvent is Event == false) { return; } if (events.TryGetValue(registrationEvent, out var attendees) == false || attendees is null) { attendees = new List <Attendee>(); } HandleRemovingOfAttendeeFromEvent(attendees); }
private static void RegisterAttendeeOnEvent(Dictionary <Event, List <Attendee> > events) { Console.Clear(); DisplayAllEventsNames(events); Console.WriteLine("REGISTRACIJA OSOBE NA EVENT"); var registrationEvent = EventDataProvider.ProvideEvent(events); if (registrationEvent is Event == false) { return; } if (events.TryGetValue(registrationEvent, out var attendees) == false || attendees is null) { attendees = new List <Attendee>(); } HandleRegisteringOfAttendeeOnEvent(events, registrationEvent, attendees); }
protected override IEnumerable <Event> OnExecute() { EventDataProvider eventDataProvider = this.Scope.EventDataProvider; Microsoft.Exchange.Data.PropertyDefinition[] array = base.Properties.ToArray <Microsoft.Exchange.Data.PropertyDefinition>(); bool flag = this.Context != null && this.Context.RequestedProperties != null && FindEvents.NeedsReread(this.Context.RequestedProperties, this.Trace); IEnumerable <Event> source = eventDataProvider.Find(base.QueryFilter, base.SortColumns, flag ? this.Scope.EventDataProvider.MapProperties(FindEvents.IdProperty).ToArray <Microsoft.Exchange.Data.PropertyDefinition>() : array); IEnumerable <Event> source2 = base.QueryOptions.ApplySkipTakeTo(source.AsQueryable <Event>()); if (flag) { int count = (this.Context != null) ? this.Context.PageSizeOnReread : 20; return((from x in source2.Take(count) select this.Scope.Read(x.Id, this.Context)).ToList <Event>()); } EventTimeAdjuster adjuster = this.Scope.TimeAdjuster; ExTimeZone sessionTimeZone = this.Scope.Session.ExTimeZone; return(from e in source2 select adjuster.AdjustTimeProperties(e, sessionTimeZone)); }
private static bool HandleEditEventField(int edittingField, Event edittingEvent, Dictionary <Event, List <Attendee> > allEvents) { var isEdittingDone = false; switch (edittingField) { case 0: var newName = EventDataProvider.ProvideName(); if (UserDialogDataProvider.ConfirmAction() == true) { edittingEvent.Name = newName; } break; case 1: var newType = EventDataProvider.ProvideType(); if (UserDialogDataProvider.ConfirmAction() == true) { edittingEvent.Type = (EventType)newType; } break; case 2: var newDuration = EventDataProvider.ProvideDuration(allEvents); if (UserDialogDataProvider.ConfirmAction() == true) { edittingEvent.StartTime = newDuration["startTime"]; edittingEvent.EndTime = newDuration["endTime"]; } break; default: isEdittingDone = true; break; } return(isEdittingDone); }
private static void DeleteEvent(Dictionary <Event, List <Attendee> > events) { if (events.Count == 0) { Console.WriteLine("Ne postoji ni jedan rezerviran event trenutno."); return; } DisplayAllEventsNames(events); var foundEvent = EventDataProvider.ProvideEvent(events); if (foundEvent is Event == false) { return; } if (UserDialogDataProvider.ConfirmAction() == true) { events.Remove(foundEvent); Console.WriteLine($"Event je uspješno izbrisan."); } }
internal static IEnumerable <Event> CreateSeriesInstances <T>(Event master, Event masterChange, EventDataProvider eventDataProvider, IDictionary <T, Event> occurrencesAlreadyCreated, Func <IEventInternal, T> selectKey, Action <IEventInternal> prepareOccurrence = null) { List <Event> list = new List <Event>(); if (masterChange == null || masterChange.Occurrences == null) { return(list); } bool flag = occurrencesAlreadyCreated.Count > 0; foreach (Event @event in masterChange.Occurrences) { if (prepareOccurrence != null) { prepareOccurrence(@event); } if (!flag || !occurrencesAlreadyCreated.ContainsKey(selectKey(@event))) { master.CopyMasterPropertiesTo(@event, true, null, true); Event item = eventDataProvider.Create(@event); list.Add(item); } } list.AddRange(occurrencesAlreadyCreated.Values); return(list); }