void tc_OnPersonLeft(object sender, PersonPresenceChangedEventArgs e) { ShowTip(e, false); }
private void ShowTip(PersonPresenceChangedEventArgs e, bool arrived) { string action = arrived ? "Arrived" : "Left"; ShowTip(string.Format("{0} has {1} at {2}", e.Name, action, e.ChangeTimeUtc.ToLocalTime().ToShortTimeString())); }
void tc_OnPersonArrived(object sender, PersonPresenceChangedEventArgs e) { ShowTip(e, true); }
protected override void HandlePersonLeft(object sender, PersonPresenceChangedEventArgs e) { if (e.Name == "Oron") NotifyOronLeftHome(); else if (e.Name == "Galia") NotifyGaliaLeftHome(); }
void Notify(EventHandler<PersonPresenceChangedEventArgs> handler, PersonPresenceChangedEventArgs e) { var tmp = handler; if (tmp != null) tmp(this, e); }
private void homeController_OnPersonLeft(object sender, PersonPresenceChangedEventArgs e) { HandlePersonLeft(sender, e); Notify(this.OnPersonLeft, e); }
protected virtual void HandlePersonLeft(object sender, PersonPresenceChangedEventArgs e) { }
private void Notify(EventHandler<Contracts.PersonPresenceChangedEventArgs> handler, HomeControl.PersonPresenceChangedEventArgs e) { var tmp = handler; var eventArgs = new Contracts.PersonPresenceChangedEventArgs(e); if (tmp != null) tmp(this, eventArgs); var personState = this.State.FirstOrDefault(ps => ps.name == e.Name); if (personState != null) { Parallel.ForEach(reporters, reporter => { try { log.DebugFormat("Reporting person state for {0} with {1}", personState.name, reporter); reporter.ReportPersonState(personState); } catch (Exception ex) { log.Error(string.Format("Error reporting presence for {0} with reporter {1}", personState.name, reporter.ToString()), ex); } }); } }