private Inconsistency GetAttendeeMissingItemInconsistency(CalendarValidationContext context, string fullDescription, ClientIntentFlags?inconsistencyIntent, ClientIntentFlags declineIntent, ClientIntentFlags deleteIntent) { Inconsistency inconsistency = null; if (ClientIntentQuery.CheckDesiredClientIntent(inconsistencyIntent, new ClientIntentFlags[] { declineIntent })) { inconsistency = ResponseInconsistency.CreateInstance(fullDescription, ResponseType.Decline, context.Attendee.ResponseType, ExDateTime.MinValue, context.Attendee.ReplyTime, context); inconsistency.Intent = inconsistencyIntent; } else if (ClientIntentQuery.CheckDesiredClientIntent(inconsistencyIntent, new ClientIntentFlags[] { deleteIntent })) { inconsistency = null; } else if (this.calendarIntent != null && this.calendarIntent.ItemVersion > 0) { inconsistency = MissingItemInconsistency.CreateAttendeeMissingItemInstance(fullDescription, inconsistencyIntent, new int?(this.calendarIntent.ItemVersion), context); inconsistency.Intent = inconsistencyIntent; } return(inconsistency); }
private Inconsistency GetAttendeeMissingItemInconsistency(CalendarValidationContext context, string fullDescription, ClientIntentQuery.QueryResult inconsistencyIntent, ClientIntentFlags declineIntent, ClientIntentFlags deleteIntent) { Inconsistency inconsistency = null; if (ClientIntentQuery.CheckDesiredClientIntent(inconsistencyIntent.Intent, new ClientIntentFlags[] { declineIntent })) { inconsistency = ResponseInconsistency.CreateInstance(fullDescription, ResponseType.Decline, context.Attendee.ResponseType, ExDateTime.MinValue, context.Attendee.ReplyTime, context); inconsistency.Intent = inconsistencyIntent.Intent; } else if (ClientIntentQuery.CheckDesiredClientIntent(inconsistencyIntent.Intent, new ClientIntentFlags[] { deleteIntent })) { inconsistency = null; } else if (inconsistencyIntent.SourceVersionId != null) { int?deletedItemVersion = null; using (CalendarItemBase calendarItemBase = CalendarItemBase.Bind(this.session, inconsistencyIntent.SourceVersionId)) { deletedItemVersion = calendarItemBase.GetValueAsNullable <int>(CalendarItemBaseSchema.ItemVersion); } if (deletedItemVersion != null) { inconsistency = MissingItemInconsistency.CreateAttendeeMissingItemInstance(fullDescription, inconsistencyIntent.Intent, deletedItemVersion, context); inconsistency.Intent = inconsistencyIntent.Intent; } } return(inconsistency); }
protected override ConsistencyCheckResult DetectInconsistencies() { ConsistencyCheckResult consistencyCheckResult = ConsistencyCheckResult.CreateInstance(base.Type, base.Description); ResponseType responseType = base.Context.AttendeeItem.ResponseType; ResponseType responseType2 = base.Context.Attendee.ResponseType; ExDateTime replyTime = base.Context.Attendee.ReplyTime; ExDateTime appointmentReplyTime = base.Context.AttendeeItem.AppointmentReplyTime; if (!ExDateTime.MinValue.Equals(replyTime) && responseType != ResponseType.NotResponded && responseType2 != responseType) { consistencyCheckResult.Status = CheckStatusType.Failed; consistencyCheckResult.AddInconsistency(base.Context, ResponseInconsistency.CreateInstance(responseType, responseType2, appointmentReplyTime, replyTime, base.Context)); } return(consistencyCheckResult); }
internal static ResponseInconsistency CreateInstance(ResponseType attendeeResponse, ResponseType organizerResponse, ExDateTime attendeeReplyTime, ExDateTime organizerRecordedTime, CalendarValidationContext context) { return(ResponseInconsistency.CreateInstance(string.Empty, attendeeResponse, organizerResponse, attendeeReplyTime, organizerRecordedTime, context)); }
private void FailCheck(ConsistencyCheckResult result) { result.Status = CheckStatusType.Failed; result.AddInconsistency(base.Context, ResponseInconsistency.CreateInstance(base.Context.AttendeeItem.ResponseType, ResponseType.None, base.Context.AttendeeItem.AppointmentReplyTime, base.Context.Attendee.ReplyTime, base.Context)); }