Пример #1
0
        internal override Inconsistency GetInconsistency(CalendarValidationContext context, string fullDescription)
        {
            if (base.LoadInconsistency != null)
            {
                return(base.LoadInconsistency);
            }
            if (this.CalendarFolderId == null)
            {
                return(null);
            }
            bool          isCleanGlobalObjectId = context.BaseItem.GlobalObjectId.IsCleanGlobalObjectId;
            Inconsistency inconsistency;

            if (context.OppositeRole == RoleType.Attendee)
            {
                ClientIntentQuery.QueryResult missingItemIntent = this.GetMissingItemIntent(context, isCleanGlobalObjectId);
                inconsistency = (isCleanGlobalObjectId ? this.GetAttendeeMissingItemInconsistency(context, fullDescription, missingItemIntent, ClientIntentFlags.RespondedDecline, ClientIntentFlags.DeletedWithNoResponse) : this.GetAttendeeMissingItemInconsistency(context, fullDescription, missingItemIntent, ClientIntentFlags.RespondedExceptionDecline, ClientIntentFlags.DeletedExceptionWithNoResponse));
            }
            else
            {
                inconsistency = MissingItemInconsistency.CreateOrganizerMissingItemInstance(fullDescription, context);
                if (RumFactory.Instance.Policy.RepairMode == CalendarRepairType.ValidateOnly)
                {
                    inconsistency.Intent = this.GetMissingItemIntent(context, isCleanGlobalObjectId).Intent;
                }
            }
            return(inconsistency);
        }
Пример #2
0
        internal override Inconsistency GetInconsistency(CalendarValidationContext context, string fullDescription)
        {
            Inconsistency inconsistency = null;

            if (base.LoadInconsistency != null)
            {
                return(base.LoadInconsistency);
            }
            bool isCleanGlobalObjectId = context.BaseItem.GlobalObjectId.IsCleanGlobalObjectId;

            try
            {
                ClientIntentFlags?missingItemIntent = this.GetMissingItemIntent(context, isCleanGlobalObjectId);
                if (context.OppositeRole == RoleType.Attendee)
                {
                    inconsistency = (isCleanGlobalObjectId ? this.GetAttendeeMissingItemInconsistency(context, fullDescription, missingItemIntent, ClientIntentFlags.RespondedDecline, ClientIntentFlags.DeletedWithNoResponse) : this.GetAttendeeMissingItemInconsistency(context, fullDescription, missingItemIntent, ClientIntentFlags.RespondedExceptionDecline, ClientIntentFlags.DeletedExceptionWithNoResponse));
                }
                else
                {
                    inconsistency = MissingItemInconsistency.CreateOrganizerMissingItemInstance(fullDescription, context);
                    if (RumFactory.Instance.Policy.RepairMode == CalendarRepairType.ValidateOnly)
                    {
                        inconsistency.Intent = missingItemIntent;
                    }
                }
            }
            catch (ProtocolViolationException exception)
            {
                this.HandleRemoteException(exception);
            }
            catch (SecurityException exception2)
            {
                this.HandleRemoteException(exception2);
            }
            catch (ArgumentException exception3)
            {
                this.HandleRemoteException(exception3);
            }
            catch (InvalidOperationException exception4)
            {
                this.HandleRemoteException(exception4);
            }
            catch (NotSupportedException exception5)
            {
                this.HandleRemoteException(exception5);
            }
            catch (XmlException exception6)
            {
                this.HandleRemoteException(exception6);
            }
            catch (XPathException exception7)
            {
                this.HandleRemoteException(exception7);
            }
            catch (SoapException exception8)
            {
                this.HandleRemoteException(exception8);
            }
            catch (IOException exception9)
            {
                this.HandleRemoteException(exception9);
            }
            return(inconsistency);
        }