Exemple #1
0
        void Client_GetAllStoneStackDailyRecordInfoCompleted(object sender, WebInvokeEventArgs <StoneStackDailyRecordInfo[]> e)
        {
            try
            {
                if (e.Error != null)
                {
                    LogHelper.Instance.AddErrorLog("Client_GetAllStoneStackDailyRecordInfoCompleted Server Exception", e.Error);
                    return;
                }

                if (GetAllStoneStackDailyRecordInfoCompleted != null)
                {
                    GetAllStoneStackDailyRecordInfoCompleted(e.Result);
                }
                //this.ListAllHistoryDailyTradeRecords.Clear();
                //foreach (var item in e.Result)
                //{
                //    this.ListAllHistoryDailyTradeRecords.Add(item);
                //}
            }
            catch (Exception exc)
            {
                LogHelper.Instance.AddErrorLog("Client_GetAllStoneStackDailyRecordInfoCompleted Exception", exc);
            }
        }
Exemple #2
0
        /// <summary>
        /// 2015-08-21,jiang,
        /// add userState
        /// </summary>
        /// <typeparam name="T1"></typeparam>
        /// <param name="context"></param>
        /// <param name="methodName"></param>
        /// <param name="resultHandler"></param>
        /// <param name="userState"></param>
        /// <param name="paras"></param>
        public void InvokeUserState <T1>(SynchronizationContext context, string methodName, EventHandler <WebInvokeEventArgs <T1> > resultHandler, object userState, params object[] paras)
        {
            if (String.IsNullOrEmpty(this._baseUrl))
            {
                return;
            }

            MethodData method = GetMethodData(methodName, typeof(T1), paras);

            byte[] paraData = GetParaData(paras, method);

            RestClient.Do(context, this._baseUrl + method.Url, method.Method, paraData, userState, new Func <Exception, byte[], bool, object, bool>((ex, result, cancel, state) =>
            {
                if (null != ex)
                {
                    if (ex is WebException)
                    {
                        if (((WebException)ex).Status == WebExceptionStatus.UnknownError)
                        {
                            if (null != this.Error)
                            {
                                this.Error(this, EventArgs.Empty);
                            }
                            return(false);
                        }
                    }
                }

                if ((resultHandler != null))
                {
                    T1 resultData = default(T1);
                    if (result != null && result.Length != 0)
                    {
                        if (ex == null)
                        {
                            try
                            {
                                DataContractJsonSerializer s = new DataContractJsonSerializer(method.ReturnType, method.ReturnKnownTypes);
                                using (MemoryStream ms = new MemoryStream(result))
                                {
                                    resultData = (T1)s.ReadObject(ms);
                                }
                            }
                            catch (Exception ex1)
                            {
                                ex = ex1;
                            }
                        }
                    }

                    WebInvokeEventArgs <T1> arg = new WebInvokeEventArgs <T1>(resultData, ex, cancel, state);
                    resultHandler(this, arg);
                    return(arg.Continue);
                }

                return(false);
            }));
        }
Exemple #3
0
 void Client_GetTodayRealTimeTradeRecordsCompleted(object sender, WebInvokeEventArgs <StoneStackDailyRecordInfo[]> e)
 {
     try
     {
         if (e.Error != null)
         {
             LogHelper.Instance.AddErrorLog("Client_GetTodayRealTimeTradeRecordsCompleted Server Exception", e.Error);
             return;
         }
         this.ListTodayRealTimeTradeRecords.Clear();
         foreach (var item in e.Result)
         {
             this.ListTodayRealTimeTradeRecords.Add(item);
         }
     }
     catch (Exception exc)
     {
         LogHelper.Instance.AddErrorLog("Client_GetTodayRealTimeTradeRecordsCompleted Exception", exc);
     }
 }
Exemple #4
0
        /// <summary>
        /// 2015-08-21,jiang,
        /// add userState
        /// </summary>
        /// <param name="context"></param>
        /// <param name="methodName"></param>
        /// <param name="resultHandler"></param>
        /// <param name="userState"></param>
        /// <param name="paras"></param>
        public void InvokeUserState(SynchronizationContext context, string methodName, EventHandler <WebInvokeEventArgs> resultHandler, object userState, params object[] paras)
        {
            if (String.IsNullOrEmpty(this._baseUrl))
            {
                return;
            }

            MethodData method = GetMethodData(methodName, typeof(void), paras);

            byte[] paraData = GetParaData(paras, method);

            RestClient.Do(context, this._baseUrl + method.Url, method.Method, paraData, userState, new Func <Exception, byte[], bool, object, bool>((ex, result, cancel, state) =>
            {
                if (null != ex)
                {
                    if (ex is WebException)
                    {
                        if (((WebException)ex).Status == WebExceptionStatus.UnknownError)
                        {
                            if (null != this.Error)
                            {
                                this.Error(this, EventArgs.Empty);
                            }
                            return(false);
                        }
                    }
                }

                if ((resultHandler != null))
                {
                    WebInvokeEventArgs arg = new WebInvokeEventArgs(ex, cancel, state);
                    resultHandler(this, arg);
                    return(arg.Continue);
                }

                return(false);
            }));
        }