/// <summary> /// Loads from json. /// </summary> /// <param name="jsonProperty">The json property.</param> /// <param name="service"></param> internal override void LoadFromJson(JsonObject jsonProperty, ExchangeService service) { foreach (string key in jsonProperty.Keys) { switch (key) { case XmlElementNames.UserId: this.UserId = new UserId(); this.UserId.LoadFromJson(jsonProperty.ReadAsJsonObject(key), service); break; case XmlElementNames.CanCreateItems: this.canCreateItems = jsonProperty.ReadAsBool(key); break; case XmlElementNames.CanCreateSubFolders: this.canCreateSubFolders = jsonProperty.ReadAsBool(key); break; case XmlElementNames.IsFolderOwner: this.isFolderOwner = jsonProperty.ReadAsBool(key); break; case XmlElementNames.IsFolderVisible: this.isFolderVisible = jsonProperty.ReadAsBool(key); break; case XmlElementNames.IsFolderContact: this.isFolderContact = jsonProperty.ReadAsBool(key); break; case XmlElementNames.EditItems: this.editItems = jsonProperty.ReadEnumValue <PermissionScope>(key); break; case XmlElementNames.DeleteItems: this.deleteItems = jsonProperty.ReadEnumValue <PermissionScope>(key); break; case XmlElementNames.ReadItems: this.readItems = jsonProperty.ReadEnumValue <FolderPermissionReadAccess>(key); break; case XmlElementNames.PermissionLevel: case XmlElementNames.CalendarPermissionLevel: this.permissionLevel = jsonProperty.ReadEnumValue <FolderPermissionLevel>(key); break; default: break; } } this.AdjustPermissionLevel(); }
/// <summary> /// Copies the values of the individual permissions of the specified folder permission /// to this folder permissions. /// </summary> /// <param name="permission">The folder permission to copy the values from.</param> private void AssignIndividualPermissions(FolderPermission permission) { this.canCreateItems = permission.CanCreateItems; this.canCreateSubFolders = permission.CanCreateSubFolders; this.isFolderContact = permission.IsFolderContact; this.isFolderOwner = permission.IsFolderOwner; this.isFolderVisible = permission.IsFolderVisible; this.editItems = permission.EditItems; this.deleteItems = permission.DeleteItems; this.readItems = permission.ReadItems; }
/// <summary> /// Tries to read element from XML. /// </summary> /// <param name="reader">The reader.</param> /// <returns>True if element was read.</returns> internal override bool TryReadElementFromXml(EwsServiceXmlReader reader) { switch (reader.LocalName) { case XmlElementNames.UserId: this.UserId = new UserId(); this.UserId.LoadFromXml(reader, reader.LocalName); return(true); case XmlElementNames.CanCreateItems: this.canCreateItems = reader.ReadValue <bool>(); return(true); case XmlElementNames.CanCreateSubFolders: this.canCreateSubFolders = reader.ReadValue <bool>(); return(true); case XmlElementNames.IsFolderOwner: this.isFolderOwner = reader.ReadValue <bool>(); return(true); case XmlElementNames.IsFolderVisible: this.isFolderVisible = reader.ReadValue <bool>(); return(true); case XmlElementNames.IsFolderContact: this.isFolderContact = reader.ReadValue <bool>(); return(true); case XmlElementNames.EditItems: this.editItems = reader.ReadValue <PermissionScope>(); return(true); case XmlElementNames.DeleteItems: this.deleteItems = reader.ReadValue <PermissionScope>(); return(true); case XmlElementNames.ReadItems: this.readItems = reader.ReadValue <FolderPermissionReadAccess>(); return(true); case XmlElementNames.PermissionLevel: case XmlElementNames.CalendarPermissionLevel: this.permissionLevel = reader.ReadValue <FolderPermissionLevel>(); return(true); default: return(false); } }
/// <summary> /// Tries to read element from XML. /// </summary> /// <param name="reader">The reader.</param> /// <returns>True if element was read.</returns> internal override bool TryReadElementFromXml(EwsServiceXmlReader reader) { switch (reader.LocalName) { case XmlElementNames.UserId: this.UserId = new UserId(); this.UserId.LoadFromXml(reader, reader.LocalName); return true; case XmlElementNames.CanCreateItems: this.canCreateItems = reader.ReadValue<bool>(); return true; case XmlElementNames.CanCreateSubFolders: this.canCreateSubFolders = reader.ReadValue<bool>(); return true; case XmlElementNames.IsFolderOwner: this.isFolderOwner = reader.ReadValue<bool>(); return true; case XmlElementNames.IsFolderVisible: this.isFolderVisible = reader.ReadValue<bool>(); return true; case XmlElementNames.IsFolderContact: this.isFolderContact = reader.ReadValue<bool>(); return true; case XmlElementNames.EditItems: this.editItems = reader.ReadValue<PermissionScope>(); return true; case XmlElementNames.DeleteItems: this.deleteItems = reader.ReadValue<PermissionScope>(); return true; case XmlElementNames.ReadItems: this.readItems = reader.ReadValue<FolderPermissionReadAccess>(); return true; case XmlElementNames.PermissionLevel: case XmlElementNames.CalendarPermissionLevel: this.permissionLevel = reader.ReadValue<FolderPermissionLevel>(); return true; default: return false; } }