partial void cbPresence_SelectionChanged(NSObject sender) { int index = (int)cbPresence.IndexOfSelectedItem; if (index > -1) { Presence presence = Util.UnserializePresence(cbPresence.SelectedItem.Title); if (presence == null) { string logLine = String.Format("Impossible to unserialize presence: [{0}]", cbPresence.SelectedItem.Title); AddStateLine(logLine); log.Warn(logLine); return; } rainbowContacts.SetPresenceLevel(presence, 5, callback => { if (callback.Result.Success) { AddStateLine($"Presence set to [{cbPresence.SelectedItem.Title}]"); } else { string logLine = String.Format("Impossible to set presence:\r\n[{0}]", Util.SerializeSdkError(callback.Result)); AddStateLine(logLine); log.Warn(logLine); } }); } }