Example #1
0
 /// <summary>
 /// If we get an ActionStatusEvent from a service layer, just relay it along
 /// so the UI can act on it
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void relayActionStatusEvent(object sender, ActionStatusEventArgs e)
 {
     if (ActionStatusEvent != null)
         ActionStatusEvent(sender, e);
     if (e.State == RequestState.Error || e.State == RequestState.FatalError)
         throw new ApplicationException(string.Format("{0} halting on serious {1}: {2}", sender.ToString(), e.State, e.Message));
     else
         sendActionStatus(this, e.State, e.Message, false);
 }
Example #2
0
 private void handleActionStatus(object sender, ActionStatusEventArgs e)
 {
     // Use Dispatcher.Invoke so UI responds and shows message immediately
     Dispatcher.Invoke(new Action(() =>
     {
         // If a message regarding data validity, act accordingly. Otherwise just show it to user
         switch (e.State)
         {
             case RequestState.DataInvalid:
                 allowReports(false);
                 break;
             case RequestState.DataValid:
                 allowReports(true);
                 break;
             case RequestState.Succeeded:
             case RequestState.Information:
                 updateStatus(e.Message);
                 break;
             default:
                 updateStatus(string.Format("{0} Status: {1}", e.State.ToString(), e.Message));
                 break;
         }
     }));
 }