// Token: 0x0600313B RID: 12603 RVA: 0x001229A8 File Offset: 0x00120BA8 private static void ProcessFreeBusyStatus(PersonalAutoAttendant pAA, ref bool isFirst, StringBuilder builder) { if (!isFirst) { builder.Append("\r\n"); builder.Append(LocalizedStrings.GetHtmlEncoded(-56156833)); } else { isFirst = false; } List <string> list = new List <string>(); if ((pAA.FreeBusy & FreeBusyStatusEnum.Busy) != FreeBusyStatusEnum.None) { list.Add(LocalizedStrings.GetNonEncoded(1864090954)); } if ((pAA.FreeBusy & FreeBusyStatusEnum.Free) != FreeBusyStatusEnum.None) { list.Add(LocalizedStrings.GetNonEncoded(-575819061)); } if ((pAA.FreeBusy & FreeBusyStatusEnum.Tentative) != FreeBusyStatusEnum.None) { list.Add(LocalizedStrings.GetNonEncoded(-559850781)); } if ((pAA.FreeBusy & FreeBusyStatusEnum.OutOfOffice) != FreeBusyStatusEnum.None) { list.Add(LocalizedStrings.GetNonEncoded(-856091954)); } builder.Append(Utilities.HtmlEncode(string.Format(CultureInfo.CurrentCulture, LocalizedStrings.GetNonEncoded(1058580864), new object[] { string.Join(LocalizedStrings.GetNonEncoded(53305273), list.ToArray()) }))); }
// Token: 0x0600313A RID: 12602 RVA: 0x00122920 File Offset: 0x00120B20 private static void ProcessTimeOfDay(PersonalAutoAttendant pAA, ref bool isFirst, StringBuilder builder, UserContext userContext) { if (!isFirst) { builder.Append("\r\n"); builder.Append(LocalizedStrings.GetHtmlEncoded(-56156833)); } else { isFirst = false; } string s = string.Empty; switch (pAA.TimeOfDay) { case TimeOfDayEnum.WorkingHours: s = LocalizedStrings.GetNonEncoded(1604545240); break; case TimeOfDayEnum.NonWorkingHours: s = LocalizedStrings.GetNonEncoded(955250317); break; case TimeOfDayEnum.Custom: s = UnifiedMessagingUtilities.GetCustomWorkingHours(pAA, userContext); break; } builder.Append(Utilities.HtmlEncode(s)); }
// Token: 0x0600313F RID: 12607 RVA: 0x00122BFC File Offset: 0x00120DFC private static string GetCustomWorkingHours(PersonalAutoAttendant pAA, UserContext userContext) { if (DateTimeUtilities.GetHoursFormat(userContext.UserOptions.TimeFormat) == null) { } string timeDisplayValue = UnifiedMessagingUtilities.GetTimeDisplayValue(pAA.WorkingPeriod.StartTimeInMinutes, userContext); string timeDisplayValue2 = UnifiedMessagingUtilities.GetTimeDisplayValue(pAA.WorkingPeriod.EndTimeInMinutes, userContext); string days = UnifiedMessagingUtilities.GetDays(pAA.WorkingPeriod.DayOfWeek); return(string.Format(CultureInfo.CurrentCulture, LocalizedStrings.GetNonEncoded(-250514213), new object[] { timeDisplayValue, timeDisplayValue2, days })); }
public void Delete() { using (IPAAStore ipaastore = PAAStore.Create(base.UserContext.ExchangePrincipal)) { Guid identity = new Guid(Convert.FromBase64String((string)base.GetParameter("Id"))); PersonalAutoAttendant personalAutoAttendant = null; ipaastore.TryGetAutoAttendant(identity, PAAValidationMode.None, out personalAutoAttendant); if (personalAutoAttendant != null) { ipaastore.DeleteAutoAttendant(identity); } IList <PersonalAutoAttendant> personalAutoAttendants = null; ipaastore.TryGetAutoAttendants(PAAValidationMode.StopOnFirstError, out personalAutoAttendants); this.RefreshList(personalAutoAttendants); } }
private void AddFindMe(PersonalAutoAttendant paa) { PAAFindMeInfo[] array = (PAAFindMeInfo[])base.GetParameter("FndMe"); if (array == null) { return; } foreach (PAAFindMeInfo paafindMeInfo in array) { if (!string.IsNullOrEmpty(paafindMeInfo.Ph1)) { paa.KeyMappingList.AddFindMe(paafindMeInfo.Key, paafindMeInfo.Desc, paafindMeInfo.Ph1, paafindMeInfo.Tm1); } if (!string.IsNullOrEmpty(paafindMeInfo.Ph2)) { paa.KeyMappingList.AddFindMe(paafindMeInfo.Key, paafindMeInfo.Desc, paafindMeInfo.Ph2, paafindMeInfo.Tm2); } } }
// Token: 0x06002EDD RID: 11997 RVA: 0x0010D9C0 File Offset: 0x0010BBC0 private static PersonalAutoAttendant FindAutoAttendantByGuid(IList <PersonalAutoAttendant> autoattendants, Guid identity, out int index) { index = -1; PersonalAutoAttendant result = null; if (autoattendants != null) { for (int i = 0; i < autoattendants.Count; i++) { if (autoattendants[i].Identity == identity) { index = i; result = autoattendants[i]; break; } } } return(result); }
public void Move() { using (IPAAStore ipaastore = PAAStore.Create(base.UserContext.ExchangePrincipal)) { IList <PersonalAutoAttendant> list = null; ipaastore.TryGetAutoAttendants(PAAValidationMode.StopOnFirstError, out list); Guid identity = new Guid(Convert.FromBase64String((string)base.GetParameter("Id"))); int num; PersonalAutoAttendant personalAutoAttendant = PersonalAutoAttendantOptionsEventHandler.FindAutoAttendantByGuid(list, identity, out num); if (personalAutoAttendant != null) { if (this.IsOrderChanged(list)) { base.RenderPartialFailure(-846213614, OwaEventHandlerErrorCode.UnexpectedError); } else { int num2 = (int)base.GetParameter("op"); if ((num2 != 1 || num == 0) && (num2 != 2 || num >= list.Count - 1)) { throw new OwaInvalidRequestException("Event name and parameter doesn't match"); } list.RemoveAt(num); if (num2 == 1) { list.Insert(num - 1, personalAutoAttendant); } else { list.Insert(num + 1, personalAutoAttendant); } ipaastore.Save(list); ipaastore.TryGetAutoAttendants(PAAValidationMode.StopOnFirstError, out list); } } else { base.RenderPartialFailure(-289549140, OwaEventHandlerErrorCode.ItemNotFound); } this.RefreshList(list); } }
private void AddDuration(PersonalAutoAttendant paa) { PAADurationInfo paadurationInfo = (PAADurationInfo)base.GetParameter("Dur"); if (paadurationInfo == null) { return; } if (paadurationInfo.IsCustomDuration) { paa.TimeOfDay = TimeOfDayEnum.Custom; paa.WorkingPeriod = new WorkingPeriod((DaysOfWeek)paadurationInfo.DaysOfWeek, paadurationInfo.StartTimeMinutes, paadurationInfo.EndTimeMinutes); return; } if (paadurationInfo.IsWorkingHours) { paa.TimeOfDay = TimeOfDayEnum.WorkingHours; return; } paa.TimeOfDay = TimeOfDayEnum.NonWorkingHours; }
// Token: 0x0600313C RID: 12604 RVA: 0x00122A8C File Offset: 0x00120C8C private static void ProcessOutofOfficeStatus(PersonalAutoAttendant pAA, ref bool isFirst, StringBuilder builder) { if (!isFirst) { builder.Append("\r\n"); builder.Append(LocalizedStrings.GetHtmlEncoded(-56156833)); } else { isFirst = false; } builder.Append(LocalizedStrings.GetHtmlEncoded(-2042562863)); if (pAA.OutOfOffice == OutOfOfficeStatusEnum.Oof) { builder.Append(LocalizedStrings.GetHtmlEncoded(-856091954)); return; } if (pAA.OutOfOffice == OutOfOfficeStatusEnum.NotOof) { builder.Append(LocalizedStrings.GetHtmlEncoded(727321927)); } }
private void AddCallerId(PersonalAutoAttendant paa) { PAACallerIdInfo paacallerIdInfo = (PAACallerIdInfo)base.GetParameter("CllrId"); if (paacallerIdInfo == null) { return; } if (paacallerIdInfo.HasPhoneNumbers) { string[] array = (string[])base.GetParameter("CPh"); foreach (string phoneNumber in array) { paa.CallerIdList.Add(CallerIdBase.CreatePhoneNumber(phoneNumber)); } } if (paacallerIdInfo.HasContacts) { RecipientInfo[] array3 = (RecipientInfo[])base.GetParameter("CRcps"); foreach (RecipientInfo recipientInfo in array3) { CallerIdBase item = null; if (recipientInfo.AddressOrigin == AddressOrigin.Store) { item = CallerIdBase.CreateContactItem(recipientInfo.StoreObjectId); } else if (recipientInfo.AddressOrigin == AddressOrigin.Directory) { item = new ADContactCallerId(recipientInfo.RoutingAddress); } paa.CallerIdList.Add(item); } } if (paacallerIdInfo.IsInContactFolder) { paa.CallerIdList.Add(new ContactFolderCallerId()); } }
public void Enable() { using (IPAAStore ipaastore = PAAStore.Create(base.UserContext.ExchangePrincipal)) { IList <PersonalAutoAttendant> list = null; ipaastore.TryGetAutoAttendants(PAAValidationMode.StopOnFirstError, out list); Guid identity = new Guid(Convert.FromBase64String((string)base.GetParameter("Id"))); int index; PersonalAutoAttendant personalAutoAttendant = PersonalAutoAttendantOptionsEventHandler.FindAutoAttendantByGuid(list, identity, out index); if (personalAutoAttendant != null) { int num = (int)base.GetParameter("op"); if (num == 3) { personalAutoAttendant.Enabled = true; } else { if (num != 4) { throw new OwaInvalidRequestException("Event name and parameter doesn't match"); } personalAutoAttendant.Enabled = false; } ipaastore.Save(list); ipaastore.TryGetAutoAttendants(PAAValidationMode.StopOnFirstError, out list); personalAutoAttendant = list[index]; this.Writer.Write("<div id=\"ret\" enbl="); this.Writer.Write(personalAutoAttendant.Enabled ? 1 : 0); this.Writer.Write("></div>"); } else { base.RenderPartialFailure(-289549140, OwaEventHandlerErrorCode.ItemNotFound); this.RefreshList(list); } } }
private void AddTransferTo(PersonalAutoAttendant paa) { PAATransferToInfo[] array = (PAATransferToInfo[])base.GetParameter("XfrTo"); if (array == null) { return; } foreach (PAATransferToInfo paatransferToInfo in array) { if (!string.IsNullOrEmpty(paatransferToInfo.Ph)) { paa.KeyMappingList.AddTransferToNumber(paatransferToInfo.Key, paatransferToInfo.Desc, paatransferToInfo.Ph); } else { if (string.IsNullOrEmpty(paatransferToInfo.Contact)) { throw new OwaInvalidRequestException("Required field 'Contact' legacy distinguished name is null or empty string"); } if (!Utilities.IsValidLegacyDN(paatransferToInfo.Contact)) { throw new OwaInvalidRequestException(string.Format(CultureInfo.InvariantCulture, "Required field 'Contact' legacy distinguished name is invalid {0}", new object[] { paatransferToInfo.Contact })); } if (paatransferToInfo.VM) { paa.KeyMappingList.AddTransferToADContactMailbox(paatransferToInfo.Key, paatransferToInfo.Desc, paatransferToInfo.Contact); } else { paa.KeyMappingList.AddTransferToADContactPhone(paatransferToInfo.Key, paatransferToInfo.Desc, paatransferToInfo.Contact); } } } }
// Token: 0x06003137 RID: 12599 RVA: 0x00122510 File Offset: 0x00120710 internal static string CreatePAAPreviewString(PersonalAutoAttendant pAA, UserContext userContext) { StringBuilder stringBuilder = new StringBuilder(); bool flag = true; stringBuilder.Append(LocalizedStrings.GetHtmlEncoded(-1942641301)); if (pAA.ExtensionList != null && pAA.ExtensionList.Count > 0) { stringBuilder.Append(LocalizedStrings.GetHtmlEncoded(-1452720339)); flag = false; } if (pAA.CallerIdList != null && pAA.CallerIdList.Count > 0) { UnifiedMessagingUtilities.ProcessCallerIdList(pAA, ref flag, stringBuilder, userContext); } if (pAA.TimeOfDay != TimeOfDayEnum.None) { UnifiedMessagingUtilities.ProcessTimeOfDay(pAA, ref flag, stringBuilder, userContext); } if (pAA.FreeBusy != FreeBusyStatusEnum.None) { UnifiedMessagingUtilities.ProcessFreeBusyStatus(pAA, ref flag, stringBuilder); } if (pAA.OutOfOffice != OutOfOfficeStatusEnum.None) { UnifiedMessagingUtilities.ProcessOutofOfficeStatus(pAA, ref flag, stringBuilder); } if (string.CompareOrdinal(stringBuilder.ToString(), LocalizedStrings.GetHtmlEncoded(-1942641301)) == 0) { stringBuilder.Length = 0; stringBuilder.Append(LocalizedStrings.GetHtmlEncoded(-194809129)); } stringBuilder.Append("\r\n"); stringBuilder.Append(UnifiedMessagingUtilities.CreatePAAPreviewActionString(pAA, userContext)); return(stringBuilder.ToString()); }
// Token: 0x06003139 RID: 12601 RVA: 0x00122678 File Offset: 0x00120878 private static void ProcessCallerIdList(PersonalAutoAttendant pAA, ref bool isFirst, StringBuilder builder, UserContext userContext) { if (!isFirst) { builder.Append("\r\n"); builder.Append(LocalizedStrings.GetHtmlEncoded(-56156833)); } else { isFirst = false; } bool flag = false; List <string> list = new List <string>(); List <string> list2 = new List <string>(); List <string> list3 = new List <string>(); List <string> list4 = new List <string>(); foreach (CallerIdBase callerIdBase in pAA.CallerIdList) { switch (callerIdBase.CallerIdType) { case CallerIdTypeEnum.Number: { string phoneNumberString = ((PhoneNumberCallerId)callerIdBase).PhoneNumberString; if (!string.IsNullOrEmpty(phoneNumberString)) { list.Add(phoneNumberString); continue; } continue; } case CallerIdTypeEnum.ContactItem: using (Contact contact = UnifiedMessagingUtilities.GetContact(((ContactItemCallerId)callerIdBase).StoreObjectId, userContext)) { string item = (contact != null && !string.IsNullOrEmpty(contact.DisplayName)) ? contact.DisplayName : LocalizedStrings.GetNonEncoded(-1626952556); list2.Add(item); continue; } break; case CallerIdTypeEnum.DefaultContactFolder: flag = true; continue; case CallerIdTypeEnum.ADContact: break; default: continue; } list3.Add(((ADContactCallerId)callerIdBase).LegacyExchangeDN); } builder.Append(LocalizedStrings.GetHtmlEncoded(235538885)); bool flag2 = false; bool flag3 = false; if (list.Count > 0) { builder.Append(Utilities.HtmlEncode(string.Format(CultureInfo.CurrentCulture, LocalizedStrings.GetNonEncoded(1695555698), new object[] { string.Join(", ", list.ToArray()) }))); flag2 = true; } if (list3.Count > 0) { list4 = UnifiedMessagingUtilities.GetContactNamesFromLegacyDN(list3, userContext); flag3 = true; } if (list2.Count > 0 || flag3) { string[] array = new string[list2.Count + list3.Count]; if (flag3) { Array.Copy(list4.ToArray(), array, list4.Count); } if (list2.Count > 0) { Array.Copy(list2.ToArray(), 0, array, list4.Count, list2.Count); } if (flag2) { builder.Append(LocalizedStrings.GetHtmlEncoded(53305273)); } builder.Append(Utilities.HtmlEncode(string.Format(CultureInfo.CurrentCulture, LocalizedStrings.GetNonEncoded(435094942), new object[] { string.Join(", ", array) }))); flag3 = true; } if (flag) { if (flag2 || flag3) { builder.Append(LocalizedStrings.GetHtmlEncoded(53305273)); } builder.Append(LocalizedStrings.GetHtmlEncoded(623331318)); } }
public void Save() { string text = (string)base.GetParameter("Name"); if (!string.IsNullOrEmpty(text)) { text = text.Trim(); } if (string.IsNullOrEmpty(text)) { base.RenderPartialFailure(-1816947001); return; } if (text.Length > 256) { text = text.Substring(0, 256); } string text2 = (string)base.GetParameter("Id"); using (IPAAStore ipaastore = PAAStore.Create(base.UserContext.ExchangePrincipal)) { IList <PersonalAutoAttendant> list = null; ipaastore.TryGetAutoAttendants(PAAValidationMode.None, out list); if (list.Count >= 9 && string.IsNullOrEmpty(text2)) { base.RenderPartialFailure(1125061902); } else { PersonalAutoAttendant personalAutoAttendant = PersonalAutoAttendant.CreateNew(); personalAutoAttendant.Name = text; string[] array = (string[])base.GetParameter("Ext"); if (array != null) { foreach (string item in array) { personalAutoAttendant.ExtensionList.Add(item); } } if (base.IsParameterSet("SchS")) { int freeBusy = (int)base.GetParameter("SchS"); personalAutoAttendant.FreeBusy = (FreeBusyStatusEnum)freeBusy; } this.AddDuration(personalAutoAttendant); this.AddCallerId(personalAutoAttendant); if (base.GetParameter("OOF") != null) { personalAutoAttendant.OutOfOffice = OutOfOfficeStatusEnum.Oof; } this.AddFindMe(personalAutoAttendant); this.AddTransferTo(personalAutoAttendant); if (base.GetParameter("RecVM") == null) { personalAutoAttendant.KeyMappingList.Remove(10); } personalAutoAttendant.EnableBargeIn = (bool)base.GetParameter("Intrpt"); personalAutoAttendant.Enabled = true; if (string.IsNullOrEmpty(text2)) { list.Add(personalAutoAttendant); } else { Guid identity = new Guid(Convert.FromBase64String(text2)); personalAutoAttendant.Identity = identity; PersonalAutoAttendant autoAttendant = ipaastore.GetAutoAttendant(identity, PAAValidationMode.None); int index = list.Count; if (autoAttendant != null) { index = list.IndexOf(autoAttendant); list.RemoveAt(index); } list.Insert(index, personalAutoAttendant); } if (base.IsParameterSet("SvO")) { this.Writer.Write("<div id=paaId>"); Utilities.HtmlEncode(Convert.ToBase64String(personalAutoAttendant.Identity.ToByteArray()), this.Writer); this.Writer.Write("</div>"); } ipaastore.Save(list); } } }
// Token: 0x06003142 RID: 12610 RVA: 0x00122D80 File Offset: 0x00120F80 private static string CreatePAAPreviewActionString(PersonalAutoAttendant pAA, UserContext userContext) { StringBuilder stringBuilder = new StringBuilder(); bool flag = false; stringBuilder.Append("\r\n"); stringBuilder.Append(LocalizedStrings.GetHtmlEncoded(1230987283)); if (pAA.KeyMappingList.Count == 0) { return(LocalizedStrings.GetHtmlEncoded(-1306184482)); } foreach (KeyMappingBase keyMappingBase in pAA.KeyMappingList.SortedMenu) { switch (keyMappingBase.KeyMappingType) { case KeyMappingTypeEnum.TransferToNumber: UnifiedMessagingUtilities.TransferToPhoneNumber(keyMappingBase, stringBuilder, flag); if (!flag) { flag = true; } break; case KeyMappingTypeEnum.TransferToADContactMailbox: UnifiedMessagingUtilities.TransferToContact(keyMappingBase, userContext, stringBuilder, KeyMappingTypeEnum.TransferToADContactMailbox, flag); if (!flag) { flag = true; } break; case KeyMappingTypeEnum.TransferToADContactPhone: UnifiedMessagingUtilities.TransferToContact(keyMappingBase, userContext, stringBuilder, KeyMappingTypeEnum.TransferToADContactPhone, flag); if (!flag) { flag = true; } break; case KeyMappingTypeEnum.TransferToVoicemail: if (flag) { stringBuilder.Append("\r\n"); } stringBuilder.Append(LocalizedStrings.GetHtmlEncoded(-246907567)); if (!flag) { flag = true; } break; case KeyMappingTypeEnum.FindMe: { if (flag) { stringBuilder.Append("\r\n"); } string text = UnifiedMessagingUtilities.AddContext(keyMappingBase); stringBuilder.Append(Utilities.HtmlEncode(string.Format(CultureInfo.CurrentCulture, LocalizedStrings.GetNonEncoded(-578565389), new object[] { text, keyMappingBase.Key }))); if (!flag) { flag = true; } break; } } } return(stringBuilder.ToString()); }
protected void RenderPersonalAutoAttendantPreviewString(TextWriter writer, PersonalAutoAttendant personalAutoAttendant) { writer.Write(UnifiedMessagingUtilities.CreatePAAPreviewString(personalAutoAttendant, this.userContext)); }