public MeetingInviteWriter(MeetingRequest meetingRequest, UserContext userContext, bool isEmbeddedItem) : base(meetingRequest, userContext) { this.meetingRequest = meetingRequest; if (!isEmbeddedItem && !meetingRequest.IsDelegated()) { this.isOrganizer = base.ProcessMeetingMessage(meetingRequest, Utilities.IsItemInDefaultFolder(meetingRequest, DefaultFolderType.Inbox)); if (this.isOrganizer) { this.AttendeeResponseWell = new CalendarItemAttendeeResponseRecipientWell(userContext, base.CalendarItemBase); } } this.meetingMessageType = meetingRequest.MeetingRequestType; if (this.meetingMessageType != MeetingMessageType.Outdated) { if (this.isOrganizer) { this.meetingMessageType = MeetingMessageType.InformationalUpdate; } else if (this.meetingMessageType == MeetingMessageType.InformationalUpdate && base.CalendarItemBase != null && base.CalendarItemBase.ResponseType == ResponseType.NotResponded) { this.meetingMessageType = MeetingMessageType.FullUpdate; } } this.meetingRequestRecipientWell = new MeetingRequestRecipientWell(userContext, meetingRequest); }
// Token: 0x06002FE2 RID: 12258 RVA: 0x00117798 File Offset: 0x00115998 public static string GetDisplayAttendees(MeetingRequest meetingRequest, RecipientWellType type) { if (meetingRequest == null) { throw new ArgumentNullException("meetingRequest"); } object obj = null; string result = string.Empty; if (type == RecipientWellType.To) { obj = meetingRequest.TryGetProperty(CalendarItemBaseSchema.DisplayAttendeesTo); } else if (type == RecipientWellType.Cc) { obj = meetingRequest.TryGetProperty(CalendarItemBaseSchema.DisplayAttendeesCc); } string text = obj as string; if (text != null) { result = text; } return(result); }
public void rejectMR(Meeting meeting, User user, string id) { MeetingRequest mr = _context.MeetingRequests.SingleOrDefault(x => x.ID.ToString() == id); _context.MeetingRequests.Remove(mr); _context.SaveChanges(); }
public async Task <IActionResult> GetAssistances([FromBody] MeetingRequest request) { string email = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value; User user = await _userHelper.GetUserAsync(email); if (user == null) { return(NotFound("Error001")); } Meeting meeting = await _context.Meetings .Include(m => m.Assistances) .FirstOrDefaultAsync(m => m.Date == request.Date && m.Church.Id == user.Church.Id); if (meeting == null) { return(NotFound()); } List <Assistance> assistance = await _context.Assistances .Include(m => m.User) .Where(m => m.Meeting.Id == meeting.Id).ToListAsync(); if (assistance == null) { return(NotFound()); } return(Ok(assistance)); }
public bool FetchMeetingRequestbyUniqueId(string uniqueId, out MeetingRequest mr) { bool result = false; mr = null; try { SearchFilter.SearchFilterCollection searchFilter = new SearchFilter.SearchFilterCollection(); searchFilter.Add(new SearchFilter.ContainsSubstring(MeetingRequestSchema.Subject, uniqueId)); ItemView view = new ItemView(500); //view.PropertySet = new PropertySet(BasePropertySet.IdOnly, MeetingRequestSchema.Subject, MeetingRequestSchema.Start); FindItemsResults <Item> findResults = _service.FindItems(WellKnownFolderName.Inbox, searchFilter, view); if (findResults.Items.Count > 0) { mr = findResults.Items[0] as MeetingRequest; //mr.Load(); result = true; } } catch (Exception ex) { string msg = String.Format("FetchMeetingRequestbyUniqueId\n{0}\n{1}", ex.Message, ex.StackTrace); System.Diagnostics.EventLog.WriteEntry("ExchangeWebServices", msg, System.Diagnostics.EventLogEntryType.Error); } return(result); }
// Token: 0x06002DC1 RID: 11713 RVA: 0x00103500 File Offset: 0x00101700 private MeetingRequest GetMeetingRequest(params PropertyDefinition[] prefetchProperties) { MeetingRequest result = null; try { result = base.GetRequestItem <MeetingRequest>(prefetchProperties); } catch (ObjectNotFoundException innerException) { if (!base.IsParameterSet("idci")) { throw; } OwaStoreObjectId itemId = (OwaStoreObjectId)base.GetParameter("idci"); int num; int num2; using (CalendarItemBase readOnlyRequestItem = base.GetReadOnlyRequestItem <CalendarItemBase>(itemId, new PropertyDefinition[0])) { num = (int)base.GetParameter("sn"); num2 = (int)readOnlyRequestItem[CalendarItemBaseSchema.AppointmentSequenceNumber]; } if (num < num2) { throw new OwaEventHandlerException("Meeting request must be out of date", LocalizedStrings.GetNonEncoded(2031473992), innerException); } throw; } return(result); }
// Token: 0x06000957 RID: 2391 RVA: 0x0003EB14 File Offset: 0x0003CD14 public void UpdateOldFields(MeetingRequest mtgReq) { ExDateTime?oldStartTime = null; ExDateTime?oldEndTime = null; CalendarInfo.GetOldFields(mtgReq, out oldStartTime, out oldEndTime); this.UpdateOldFields(oldStartTime, oldEndTime); }
public static void CheckAssertsForMeetingRequest(MeetingRequest expected, MeetingRequest actual) { Assert.AreEqual(expected.ID, actual.ID); Assert.AreEqual(expected.Content, actual.Content); Assert.AreEqual(expected.Status, actual.Status); CheckAssertsForUser(expected.User, actual.User); CheckAssertsForMeeting(expected.Meeting, actual.Meeting); }
public void createMeetingRequest(MeetingRequest meetingRequest) { _context.Entry(meetingRequest.User).State = System.Data.Entity.EntityState.Unchanged; _context.Entry(meetingRequest.Meeting).State = System.Data.Entity.EntityState.Unchanged; _context.Entry(meetingRequest).State = System.Data.Entity.EntityState.Added; var result = _context.SaveChanges(); }
public IHttpActionResult InsertMeeting(MeetingRequest meetingRequest) { if (meetingRequest == null) { return(BadRequest("Meeting not found")); } if (meetingRequest.MeetingActions == null || !meetingRequest.MeetingActions.Any()) { return(BadRequest("Meeting actions not found")); } var loggedInUser = HttpContext.Current.User as SecurityPrincipal; logger.Info($"Meeting created by {loggedInUser.ForeName}"); List <MeetingActionRequest> tempActions = meetingRequest.MeetingActions.ToList(); // Repetitive actions for fortnight or weekly // Weekly = Every 7 days / Fortnight = Every 14 days / Monthly = Once a month var frequentActions = meetingRequest.MeetingActions.Where(a => a.Frequency != ACTION_FREQUENCY.None).ToArray(); if (frequentActions.Any()) { frequentActions.ForEach(a => { var dates = CreateFutureDates(a.CompletionDate, (int)a.Frequency, a.Repetitive).ToList(); for (int i = 1; i < dates.Count; i++) // skip the first date { var action = Clone(a); action.CompletionDate = dates[i]; tempActions.Add(action); } }); } var actions = tempActions.Select(a => { return(ToEntity(a)); }).ToArray(); actions.ForEach(a => { a.CreatedById = loggedInUser.Id; }); Meeting meeting = ToEntity(meetingRequest); meeting.MeetingActions = actions; meeting.CreatedById = loggedInUser.Id; meeting.ReferenceId = Guid.NewGuid(); meeting.OwnerId = loggedInUser.Id; var result = _meetingService.Insert(meeting); return(Ok(result)); }
public Meeting CreateMeeting(MeetingRequest meetingRequest) { RepositoryModels.Meeting persistedMeeting = meetingRepository.CreateMeeting(meetingRequest.Name); return(new Meeting { Name = persistedMeeting.Name, MeetingId = persistedMeeting.MeetingId }); }
// Token: 0x06002DBC RID: 11708 RVA: 0x00103198 File Offset: 0x00101398 private void UpdateItem(Item item) { if (base.IsParameterSet("Subj")) { item[ItemSchema.Subject] = (string)base.GetParameter("Subj"); } if (base.IsParameterSet("RemS")) { bool flag = (bool)base.GetParameter("RemS"); item[ItemSchema.ReminderIsSet] = flag; if (flag && base.IsParameterSet("RemT")) { int num = (int)base.GetParameter("RemT"); if (num < 0) { throw new OwaInvalidRequestException("Reminder minutes before start cannot be a negative value"); } item[ItemSchema.ReminderMinutesBeforeStart] = num; } } CalendarItemBase calendarItemBase = item as CalendarItemBase; MeetingRequest meetingRequest = item as MeetingRequest; if (base.IsParameterSet("Prvt") && (meetingRequest != null || (calendarItemBase != null && (calendarItemBase.CalendarItemType == CalendarItemType.Single || calendarItemBase.CalendarItemType == CalendarItemType.RecurringMaster)))) { bool flag2 = (bool)base.GetParameter("Prvt"); if (flag2) { item[ItemSchema.Sensitivity] = Sensitivity.Private; } else { object obj = item.TryGetProperty(ItemSchema.Sensitivity); if (obj is Sensitivity && (Sensitivity)obj == Sensitivity.Private) { item[ItemSchema.Sensitivity] = Sensitivity.Normal; } } } if (base.IsParameterSet("Fbs")) { object parameter = base.GetParameter("Fbs"); if (parameter != null) { item[CalendarItemBaseSchema.FreeBusyStatus] = (BusyType)parameter; } } if (base.IsParameterSet("Rsp")) { item[CalendarItemBaseSchema.ResponseType] = (ResponseType)base.GetParameter("Rsp"); } if (meetingRequest != null) { ((MessageItem)item).IsRead = true; } }
private Item BindToItemWithItemClass(StoreObjectId id, string itemClass, PropertyDefinition[] properties) { Item result; if (ObjectClass.IsReport(itemClass)) { result = ReportMessage.Bind(this.mailboxSession, id, properties); } else if (ObjectClass.IsMessage(itemClass, false)) { result = MessageItem.Bind(this.mailboxSession, id, properties); } else if (ObjectClass.IsPost(itemClass)) { result = PostItem.Bind(this.mailboxSession, id, properties); } else if (ObjectClass.IsCalendarItem(itemClass)) { result = CalendarItem.Bind(this.mailboxSession, id, properties); } else if (ObjectClass.IsMeetingRequest(itemClass)) { result = MeetingRequest.Bind(this.mailboxSession, id, properties); } else if (ObjectClass.IsMeetingResponse(itemClass)) { result = MeetingResponse.Bind(this.mailboxSession, id, properties); } else if (ObjectClass.IsMeetingCancellation(itemClass)) { result = MeetingCancellation.Bind(this.mailboxSession, id, properties); } else if (ObjectClass.IsContact(itemClass)) { result = Contact.Bind(this.mailboxSession, id, properties); } else if (ObjectClass.IsTask(itemClass)) { Task task = Task.Bind(this.mailboxSession, id, true, properties); task.SuppressRecurrenceAdjustment = true; result = task; } else if (ObjectClass.IsDistributionList(itemClass)) { result = DistributionList.Bind(this.mailboxSession, id, properties); } else if (ObjectClass.IsGenericMessage(itemClass)) { result = MessageItem.Bind(this.mailboxSession, id, properties); } else { result = Item.Bind(this.mailboxSession, id, properties); } return(result); }
private Meeting ToEntity(MeetingRequest meetingRequest) { return(new Meeting() { Id = meetingRequest.Id, ReferenceId = meetingRequest.ReferenceId, Title = meetingRequest.Title, MeetingDate = meetingRequest.MeetingDate, OwnerId = meetingRequest.OwnerId }); }
public static MeetingRequest CreateMeetingRequestCopy(MeetingRequest original) { return(new MeetingRequest { ID = original.ID, Content = original.Content, Status = original.Status, Meeting = CreateMeetingCopy(original.Meeting), User = CreateUserCopy(original.User) }); }
public static void ThrowIfMeetingResponseInvalid(MeetingMessage meetingMessage) { MeetingUtilities.ThrowIfWebParts(); MeetingRequest meetingRequest = meetingMessage as MeetingRequest; if (meetingRequest != null && meetingRequest.IsMailboxOwnerTheSender()) { throw new OwaOperationNotSupportedException(LocalizedStrings.GetNonEncoded(679811893)); } MeetingUtilities.ThrowIfInArchiveMailbox(meetingMessage); }
private static bool IsMRBSPatternDifferent(MeetingRequest before, MeetingRequest after) { bool different = false; different |= before.RepeatTypeId != after.RepeatTypeId; different |= before.RepeatWeeklyCode != after.RepeatWeeklyCode; different |= before.RepeatMonthlyCode != after.RepeatMonthlyCode; different |= before.RepeatDayOfMonth != after.RepeatDayOfMonth; different |= before.RepeatEnd != after.RepeatEnd; return(different); }
public async Task <IActionResult> CreateMeeting(int id, MeetingRequest request) { try { Optional <int> meetingId; if (request.DateTime != new DateTime().ToUniversalTime()) { meetingId = await _meetingService.CreateMeeting(request.DateTime.ToUniversalTime(), id); } else { meetingId = await _meetingService.CreateMeeting(id); } if (meetingId.IsEmpty) { return(StatusCode(500)); } int meeting = meetingId.Value; int rowsAffected = await _meetingService.AddAllTasks(meeting, request.Tasks); if (rowsAffected < 0) { return(StatusCode(500)); } rowsAffected = await _meetingService.InviteAllUsers(meeting, request.InvitedUsers); if (rowsAffected < 0) { return(StatusCode(500)); } return(Ok(new MeetingIdResponse { MeetingId = meeting })); } catch (UnauthorizedAccessException) { return(Forbid()); } catch (InvalidOperationException e) { return(BadRequest(new ErrorResponse { Message = e.Message })); } }
public static void NonEditResponse(ResponseType responseType, MeetingRequest meetingRequest, bool sendResponse) { if (meetingRequest == null) { throw new ArgumentNullException("meetingRequest"); } MeetingUtilities.ThrowIfMeetingResponseInvalid(meetingRequest); using (CalendarItemBase calendarItemBase = MeetingUtilities.UpdateCalendarItem(meetingRequest)) { MeetingUtilities.NonEditResponseInternal(responseType, calendarItemBase, sendResponse); MeetingUtilities.DeleteMeetingRequestAfterResponse(meetingRequest); } }
public void acceptMR(Meeting meeting, User user, string id) { MeetingRequest mr = _context.MeetingRequests.SingleOrDefault(x => x.ID.ToString() == id); mr.Status = true; Event e = new Event { Title = meeting.Title, Start = meeting.Start, End = meeting.End, Location = meeting.Location, Priority = meeting.Priority, User = user, MR = mr, flag = true }; _context.Entry(e.User).State = System.Data.Entity.EntityState.Unchanged; _context.Entry(e).State = System.Data.Entity.EntityState.Added; _context.SaveChanges(); _context.SaveChanges(); }
private void OnPromotedMessageHandler(StoreDriverEventSource source, StoreDriverDeliveryEventArgs args) { if (StoreDriverConfig.Instance.IsAutoAcceptForGroupAndSelfForwardedEventEnabled) { StoreDriverDeliveryEventArgsImpl storeDriverDeliveryEventArgsImpl = (StoreDriverDeliveryEventArgsImpl)args; if ((ObjectClass.IsMeetingRequest(storeDriverDeliveryEventArgsImpl.MessageClass) || ObjectClass.IsMeetingResponse(storeDriverDeliveryEventArgsImpl.MessageClass)) && !this.IsEHAMigrationMeetingMessage(storeDriverDeliveryEventArgsImpl.MailItem)) { MailboxSession mailboxSession = storeDriverDeliveryEventArgsImpl.MailboxSession; if (mailboxSession == null || storeDriverDeliveryEventArgsImpl.ReplayItem == null) { MeetingMessageProcessingAgent.tracer.TraceError((long)this.GetHashCode(), "MeetingMessageProcessingAgent::OnPromotedMessageHandler() MailboxSession or StoreDriverDeliveryEventArgsImpl.ReplayItem is null"); return; } if (ObjectClass.IsMeetingRequest(storeDriverDeliveryEventArgsImpl.MessageClass) && !mailboxSession.IsGroupMailbox()) { MeetingRequest meetingRequest = null; try { meetingRequest = (Item.ConvertFrom(storeDriverDeliveryEventArgsImpl.ReplayItem, mailboxSession) as MeetingRequest); if (meetingRequest != null && MeetingMessageProcessing.IsSentToSelf(meetingRequest, mailboxSession)) { MeetingMessageProcessingAgent.tracer.TraceDebug <string, IExchangePrincipal>((long)this.GetHashCode(), "Attempting to deliver self forwarded message {0} to mailbox {1} to Deleted Items", meetingRequest.InternetMessageId, mailboxSession.MailboxOwner); this.DeliverToDeletedItems(mailboxSession, meetingRequest, storeDriverDeliveryEventArgsImpl); } } finally { if (meetingRequest != null) { Item.SafeDisposeConvertedItem(storeDriverDeliveryEventArgsImpl.ReplayItem, meetingRequest); } } } if (ObjectClass.IsMeetingResponse(storeDriverDeliveryEventArgsImpl.MessageClass) && mailboxSession.IsGroupMailbox()) { MeetingResponse meetingResponse = Item.ConvertFrom(storeDriverDeliveryEventArgsImpl.ReplayItem, mailboxSession) as MeetingResponse; if (meetingResponse != null && meetingResponse.IsSilent) { ADRecipient adrecipient = null; if (meetingResponse.From.TryGetADRecipient(mailboxSession.GetADRecipientSession(true, ConsistencyMode.IgnoreInvalid), out adrecipient) && adrecipient != null && adrecipient.RecipientDisplayType != RecipientDisplayType.ConferenceRoomMailbox && adrecipient.RecipientDisplayType != RecipientDisplayType.SyncedConferenceRoomMailbox && adrecipient.RecipientDisplayType != RecipientDisplayType.EquipmentMailbox && adrecipient.RecipientDisplayType != RecipientDisplayType.SyncedEquipmentMailbox && !meetingResponse.IsCounterProposal) { MeetingMessageProcessingAgent.tracer.TraceDebug <string, IExchangePrincipal>((long)this.GetHashCode(), "Attempting to deliver empty response {0} to mailbox {1} to Deleted Items", meetingResponse.InternetMessageId, mailboxSession.MailboxOwner); this.DeliverToDeletedItems(mailboxSession, meetingResponse, storeDriverDeliveryEventArgsImpl); } } } } } }
public static MeetingResponse EditResponse(ResponseType responseType, MeetingRequest meetingRequest) { if (meetingRequest == null) { throw new ArgumentNullException("meetingRequest"); } MeetingUtilities.ThrowIfMeetingResponseInvalid(meetingRequest); MeetingResponse result; using (CalendarItemBase calendarItemBase = MeetingUtilities.UpdateCalendarItem(meetingRequest)) { result = MeetingUtilities.EditResponseInternal(responseType, calendarItemBase); } return(result); }
public void createMeeting(MeetingModel meetingModel) { var meeting = new Meeting { Title = meetingModel.Title, Start = meetingModel.Start, End = meetingModel.End, Location = meetingModel.Location, Priority = meetingModel.Priority, creator = meetingModel.creator }; var result = _repository.CreateMeeting(meeting); foreach (var participant in meetingModel.participants) { var notification = new MeetingRequest { Meeting = result, Content = "Do you want to accept request for " + meetingModel.Title, Status = false, User = participant }; _repositoryMR.createMeetingRequest(notification); } }
public IActionResult Create(MeetingRequest meetingRequest) { if (!ModelState.IsValid) { return(BadRequest()); } Meeting meeting = meetingOrganizer.CreateMeeting(meetingRequest); if (meeting == null) { return(StatusCode(500)); } return(RedirectToAction("Details", new { meetingId = meeting.MeetingId })); }
protected Item BindItem(Item item, ExchangeService service, PropertySet propertySet) { if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.Appointment)) { return(Appointment.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.Task)) { return(Task.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.Contact)) { return(Contact.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.ContactGroup)) { return(ContactGroup.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.PostItem)) { return(PostItem.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.MeetingCancellation)) { return(MeetingCancellation.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.MeetingRequest)) { return(MeetingRequest.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.MeetingResponse)) { return(MeetingResponse.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.MeetingMessage)) { return(MeetingMessage.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.EmailMessage)) { return(EmailMessage.Bind(service, item.Id, propertySet)); } else { throw new Exception("Unknown Exchange Item type: " + item.GetType().FullName); } }
public ReservationWindow(MeetingRequest request, int mrbs_id) { InitializeComponent(); LogManager.LogMessage(String.Format("Initializing reservation window for {0}", mrbs_id)); ViewModel = new ReservationViewModel(request, mrbs_id); ViewModel.SelectedDate = request.Start.Date; ViewModel.SetMeetingTimes(request.Start, request.End); if (ViewModel.Rooms.Any(r => r.id == request.RoomId)) { ViewModel.SelectedRoom = ViewModel.Rooms.Single(r => r.id == request.RoomId); } DataContext = ViewModel; ReservationId = mrbs_id; LogManager.LogMessage("Complete"); }
public MeetingInviteWriter(MeetingRequest meetingRequest, UserContext userContext, string toolbarId, bool isPreviewForm, bool isInDeletedItems, bool isEmbeddedItem, bool isInJunkEmailFolder, bool isSuspectedPhishingItem, bool isLinkEnabled) : base(meetingRequest, userContext, isPreviewForm, isInDeletedItems, isEmbeddedItem, isInJunkEmailFolder, isSuspectedPhishingItem, isLinkEnabled) { this.meetingRequest = meetingRequest; this.isDelegated = meetingRequest.IsDelegated(); if (toolbarId == null) { toolbarId = "mpToolbar"; } if (!Utilities.IsPublic(meetingRequest) && !this.IsDraft && !isEmbeddedItem) { this.isOrganizer = base.ProcessMeetingMessage(meetingRequest, Utilities.IsItemInDefaultFolder(meetingRequest, DefaultFolderType.Inbox)); if (this.isOrganizer) { this.AttendeeResponseWell = new CalendarItemAttendeeResponseRecipientWell(this.CalendarItemBase); } } this.meetingMessageType = meetingRequest.MeetingRequestType; if (!this.IsDraft) { if (this.meetingMessageType == MeetingMessageType.Outdated) { this.infobarResponseString = new Strings.IDs?(1771878760); this.meetingMessageType = MeetingMessageType.Outdated; } else if (this.isOrganizer) { this.infobarResponseString = new Strings.IDs?(247559721); this.meetingMessageType = MeetingMessageType.InformationalUpdate; } else if (this.meetingMessageType == MeetingMessageType.InformationalUpdate) { if (this.CalendarItemBase != null && this.CalendarItemBase.ResponseType != ResponseType.NotResponded) { this.infobarResponseString = new Strings.IDs?(689325109); } else { this.meetingMessageType = MeetingMessageType.FullUpdate; } } } InfobarMessageBuilder.AddFlag(this.FormInfobar, meetingRequest, userContext); this.meetingRequestRecipientWell = new MeetingRequestRecipientWell(meetingRequest); this.toolbar = new EditMeetingInviteToolbar(toolbarId, meetingRequest.IsResponseRequested, Utilities.IsInArchiveMailbox(meetingRequest), this.meetingMessageType); this.toolbar.ToolbarType = ToolbarType.Preview; }
private static bool IsOutlookPatternDifferent(MeetingRequest mrbs, RecurrencePattern pattern) { bool different = false; switch (mrbs.RepeatTypeId) { case 1: different |= pattern.RecurrenceType != OlRecurrenceType.olRecursDaily; break; case 2: char[] rev = mrbs.RepeatWeeklyCode.ToCharArray(); different |= pattern.RecurrenceType != OlRecurrenceType.olRecursWeekly; different |= pattern.Interval != mrbs.RepeatNumberOfWeeks; different |= pattern.DayOfWeekMask != (OlDaysOfWeek)Convert.ToInt32(new string(mrbs.RepeatWeeklyCode.ToCharArray().Reverse().ToArray()), 2); break; case 3: if (mrbs.RepeatMonthlyByWeekday) { different |= pattern.RecurrenceType != OlRecurrenceType.olRecursMonthNth; different |= pattern.DayOfWeekMask != (OlDaysOfWeek)((int)Math.Pow(2, mrbs.RepeatWeekdayOfMonth)); different |= pattern.Instance != mrbs.RepeatWeekdaysOfMonth; } else { different |= pattern.RecurrenceType != OlRecurrenceType.olRecursMonthly; different |= pattern.DayOfMonth != mrbs.RepeatDayOfMonth; } break; case 4: different |= pattern.RecurrenceType != OlRecurrenceType.olRecursYearly; break; } different |= pattern.Duration != (mrbs.End - mrbs.Start).Minutes; different |= pattern.EndTime != (mrbs.RepeatEnd.Date + mrbs.End.TimeOfDay); different |= pattern.PatternStartDate != mrbs.Start; different |= pattern.PatternEndDate != (mrbs.RepeatEnd + mrbs.End.TimeOfDay); different |= pattern.StartTime != mrbs.Start; return(different); }
// Token: 0x06000920 RID: 2336 RVA: 0x0003D85C File Offset: 0x0003BA5C private static CalendarNotificationType AnalyzeEvent(MapiEvent mapiEvent, MeetingMessage meeting) { CalendarNotificationType result = CalendarNotificationType.Uninteresting; if (meeting is MeetingRequest) { MeetingRequest meetingRequest = (MeetingRequest)meeting; MeetingMessageType meetingRequestType = meetingRequest.MeetingRequestType; if (meetingRequestType <= MeetingMessageType.FullUpdate) { if (meetingRequestType != MeetingMessageType.NewMeetingRequest) { if (meetingRequestType != MeetingMessageType.FullUpdate) { return(result); } goto IL_4A; } } else { if (meetingRequestType == MeetingMessageType.InformationalUpdate || meetingRequestType == MeetingMessageType.SilentUpdate) { goto IL_4A; } if (meetingRequestType != MeetingMessageType.PrincipalWantsCopy) { return(result); } } return(CalendarNotificationType.NewUpdate); IL_4A: if (CalendarChangeProcessor.InterestingFlagsExists(meetingRequest.ChangeHighlight, MapiExtendedEventFlags.NoReminderPropertyModified)) { result = CalendarNotificationType.ChangedUpdate; } } else if (meeting is MeetingCancellation) { result = CalendarNotificationType.DeletedUpdate; } return(result); }
// Token: 0x0600079B RID: 1947 RVA: 0x00036360 File Offset: 0x00034560 private void ProcessMeetingRequest(MailboxSession itemStore, MeetingRequest mtgMessage, ref CalendarItemBase originalCalItem, string internetMessageId, int defaultReminderInMinutes) { try { if (mtgMessage.TryUpdateCalendarItem(ref originalCalItem, false)) { MeetingMessageType meetingRequestType = mtgMessage.MeetingRequestType; if (originalCalItem != null) { if (originalCalItem.Id == null && MeetingMessageType.NewMeetingRequest == meetingRequestType) { int num = (int)Utils.SafeGetProperty(mtgMessage, ItemSchema.ReminderMinutesBeforeStart, defaultReminderInMinutes); if (num == 1525252321) { num = defaultReminderInMinutes; originalCalItem[ItemSchema.ReminderMinutesBeforeStart] = num; } if (num < 0 || num > 2629800) { originalCalItem[ItemSchema.ReminderMinutesBeforeStart] = defaultReminderInMinutes; } if (!originalCalItem.Reminder.IsSet) { originalCalItem.Reminder.MinutesBeforeStart = defaultReminderInMinutes; originalCalItem.Reminder.IsSet = true; } } originalCalItem.Validate(); ConflictResolutionResult conflictResolutionResult = originalCalItem.Save(SaveMode.ResolveConflicts); originalCalItem.Load(); if (conflictResolutionResult.SaveStatus == SaveResult.IrresolvableConflict) { throw new SaveConflictException(ServerStrings.ExSaveFailedBecauseOfConflicts(originalCalItem.Id), conflictResolutionResult); } } } CalendarAssistantPerformanceCounters.MeetingRequests.Increment(); CalendarProcessing.TracerPfd.TracePfd <int, object, string>((long)mtgMessage.GetHashCode(), "PFD IWC {0} {1}:completed Processing Meeting Request for {2}", 24727, TraceContext.Get(), internetMessageId); } catch (ObjectNotFoundException innerException) { throw new TransientException(Strings.descTransientErrorInRequest, innerException); } }