Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        protected EventDataProvider GetEventDataProviderInstance()
        {
            EventDataProvider eventProvider = null;

            if (eventProvider == null)
            {
                return(new EventDataProvider());
            }

            return(eventProvider);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
 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);
 }
Ejemplo n.º 9
0
        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));
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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));
        }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        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);
        }