/// <summary> /// Transfer MessageEntity object. /// </summary> /// <param name="transferMsg">the MessageEntity.</param> public void Call(ITransferMessage transferMsg) { var messageEntity = transferMsg as MessageEntity; #region records the logcontent entity var logger = loggerPoolFactory.GetLoggerPool(messageEntity.ServiceType.ServiceType); logger.Log(messageEntity.User, new LogContentEntity() { Class = messageEntity.ClassName, Method = messageEntity.MethodName, Message = messageEntity.MsgContent, Level = messageEntity.LogLevel }); #endregion //notify the clients Observers.CommonCallbackAction(messageEntity.ServiceType, (clientCallback) => { clientCallback.Notify(messageEntity); }); }
/// <summary> /// Transfer ProgressInfoMessage object. /// </summary> /// <param name="transferMsg">the ProgressInfoMessage.</param> public void Call(ITransferMessage transferMsg) { var msg = transferMsg as ProgressInfoMessage; var serviceType = msg.ServiceType; var total = msg.Total; var totalType = msg.TotalType; var sellerAccount = msg.User; var value = msg.Value; switch (msg.CallbackMethodName) { case "SendTaskProgressTotal": progressInfoManager.SetTotal(serviceType, total, totalType); Observers.CommonCallbackAction(serviceType, (clientCallback) => { clientCallback.NotifyTaskProgressTotal(new ProgressSummary(0, total, totalType)); }); break; case "SendTaskProgressItemTotal": progressInfoManager.SetItemTotal(serviceType, sellerAccount, total); Observers.CommonCallbackAction(serviceType, (clientCallback) => { clientCallback.NotifyTaskProgressItemTotal(sellerAccount, total); }); break; case "SendTaskProgressIncrease": progressInfoManager.SetItemValue(serviceType, sellerAccount, value); var progressInfoItem = progressInfoManager.GetUserProgressInfo(serviceType, sellerAccount); Observers.CommonCallbackAction(serviceType, (clientCallback) => { clientCallback.NotifyTaskProgressItemValueAndTotal(sellerAccount, new ProgressItem(progressInfoItem.Value, progressInfoItem.Total)); }); break; case "ForceFinish": progressInfoManager.SetItemValueFinish(serviceType, sellerAccount); Observers.CommonCallbackAction(serviceType, (clientCallback) => { clientCallback.NotifyTaskProgressForceFinish(sellerAccount); }); break; case "FinishAll": progressInfoManager.Clear(serviceType); Observers.CommonCallbackAction(serviceType, (clientCallback) => { clientCallback.NotifyTaskProgressFinishAll(); }); break; default: break; } }