示例#1
0
 static void ProcessAnswer(Answer answer)
 {
     switch (answer.msgtype)
     {
         case Answer.MsgType.Error:
             Console.WriteLine("Session error in answer {0}: #{1} {2}", answer.id, answer.number, (string)answer.obj);
             break;
         case Answer.MsgType.Failure:
             Console.WriteLine("Request error in answer {0}: #{1} {2}", answer.id, answer.number, (string)answer.obj);
             break;
         case Answer.MsgType.Result:
             switch ((AnswerId)answer.id)
             {
                 case AnswerId.CustomerInsertedObj:
                     {
                         if (answer.obj == null)
                         {
                             Console.WriteLine("Got unexpected empty answer. Expected InsertedCustomer object not null");
                         }
                         else
                         {
                             CustomerInserted customer = (CustomerInserted)answer.obj;
                             Console.WriteLine("Answer {0}: #{2} Id {1} Name {3} Address {4}", answer.id, answer.number, customer.Id, customer.Name, customer.Address);
                         }
                     }
                     break;
                 default:
                     Console.WriteLine("Request error: unknown aswer type: {0} #{1}", answer.id, answer.number);
                     break;
             }
             break;
     }
 }
示例#2
0
 /* Fake method for change password session */
 private static void FakeProcessAnswer(Answer answer)
 {
 }
示例#3
0
 /* Fake method for change password session */
 private static void FakeProcessAnswer(Answer answer) { }
示例#4
0
 private void ClearRequestQueue(string errstr)
 {
     bool empty = false;
     while (!empty)
     {
         try
         {
             Request request = m_requestqueue.Dequeue();
             Answer answer = new Answer { msgtype = Answer.MsgType.Error, id = m_request.id, content = errstr };
             m_processAnswer(answer);
         }
         catch (InvalidOperationException)
         {
             //... done
             empty = true;
         }
     }
 }