bool GetTestCaseFilterExpression(IRunContext runContext, LoggerHelper logger, string assemblyFileName, out ITestCaseFilterExpression filter)
        {
            filter = null;

            try
            {
                // In Microsoft.VisualStudio.TestPlatform.ObjectModel V11 IRunContext provides a TestCaseFilter property
                // GetTestCaseFilter only exists in V12+
#if PLATFORM_DOTNET
                var getTestCaseFilterMethod = runContext.GetType().GetRuntimeMethod("GetTestCaseFilter", new[] { typeof(IEnumerable<string>), typeof(Func<string, TestProperty>) });
#else
                var getTestCaseFilterMethod = runContext.GetType().GetMethod("GetTestCaseFilter");
#endif
                if (getTestCaseFilterMethod != null)
                    filter = (ITestCaseFilterExpression)getTestCaseFilterMethod.Invoke(runContext, new object[] { supportedPropertyNames, null });

                return true;
            }
            catch (TargetInvocationException e)
            {
                var innerExceptionType = e.InnerException.GetType();
                if (innerExceptionType.FullName.EndsWith("TestPlatformFormatException", StringComparison.OrdinalIgnoreCase))
                {
                    logger.LogError("{0}: Exception discovering tests: {1}", Path.GetFileNameWithoutExtension(assemblyFileName), e.InnerException.Message);
                    return false;
                }

                throw;
            }
        }
        public IEnumerable<TestCase> GetFilteredTestList(IEnumerable<TestCase> testCases, IRunContext runContext, LoggerHelper logger, string assemblyFileName)
        {
            ITestCaseFilterExpression filter = null;

            if (GetTestCaseFilterExpression(runContext, logger, assemblyFileName, out filter))
            {
                if (filter != null)
                    return testCases.Where(testCase => filter.MatchTestCase(testCase, (p) => PropertyProvider(testCase, p)));
            }
            else
            {
                // Error while filtering, ensure discovered test list is empty
                return Enumerable.Empty<TestCase>();
            }

            // No filter is specified return the original list
            return testCases;
        }
        public static string ExceptionMessageFormat(Exception ex, bool log = false)
        {
            string message = "Error: There was a problem while processing your request: " + ex.Message;

            if (ex.InnerException != null)
            {
                Exception inner = ex.InnerException;
                if (inner is System.Data.Common.DbException)
                    message = "Database is currently experiencing problems. " + inner.Message;
                else if (inner is System.Data.UpdateException)
                    message = "Datebase is currently updating problem.";
                else if (inner is System.Data.DeletedRowInaccessibleException)
                    message = "Datebase is currently deleting problem.";
                else if (inner is System.Data.EntityException)
                    message = "Entity is problem.";
                else if (inner is NullReferenceException)
                    message = "There are one or more required fields that are missing.";
                else if (inner is ArgumentException)
                {
                    string paramName = ((ArgumentException)inner).ParamName;
                    message = string.Concat("The ", paramName, " value is illegal.");
                }
                else if (inner is ApplicationException)
                    message = "Exception in application" + inner.Message;
                else
                    message = inner.Message;

            }

            if (log)
            {
                LoggerHelper loggerHelper = new LoggerHelper();
                loggerHelper.LoggerError(ex);
            }

            return message;
        }
Example #4
0
 /// <summary>
 /// 打开竞技场
 /// </summary>
 private void EnterArena()
 {
     LoggerHelper.Debug("EnterArena");
     m_myself.RpcCall("EnterArenaReq");
 }
Example #5
0
 /// <summary>
 /// 仇敌Buff
 /// </summary>
 private void RefreshRevenge()
 {
     LoggerHelper.Debug("RevengeBuff");
     m_myself.RpcCall("RevengeBuffReq");
 }
Example #6
0
 /// <summary>
 /// 刷新弱敌
 /// </summary>
 private void RefreshWeak()
 {
     LoggerHelper.Debug("RefreshWeak");
     m_myself.RpcCall("RefreshWeakReq");
 }
Example #7
0
        ///// <summary>
        ///// 获取绑定手机号验证码短信接口--解志辉
        ///// </summary>
        ///// <param name="reqst">The reqst.</param>
        ///// <returns>ResultInfo&lt;System.String&gt;.</returns>
        /////  创 建 者:解志辉
        /////  创建日期:2016-05-25 16:25:37
        //[HttpPost]
        //public ResultInfo<string> GetBindMobileCode(RequestParam<SmsEntity> reqst)
        //{
        //    var ri = new ResultInfo<string>("99999");
        //    try
        //    {
        //        var mobile = reqst.body.mobile;

        //        if (string.IsNullOrEmpty(mobile))
        //        {
        //            ri.code = "1000000000";
        //        }
        //        else if (!ValidateHelper.IsHandset(mobile))
        //        {
        //            ri.code = "1000000001";
        //        }
        //        else if (!_logic.CheckMobile(mobile))
        //        {
        //            ri.code = "1000000010"; //未找到相关记录
        //        }
        //        else
        //        {
        //            #region 发送修改密码短信

        //            var res = SendSms(mobile, 1, 25);
        //            return res;

        //            #endregion
        //        }
        //        ri.message = Settings.Instance.GetErrorMsg(ri.code);
        //        return ri;
        //    }
        //    catch (Exception ex)
        //    {
        //        LoggerHelper.Error(ex.ToString());
        //        LoggerHelper.Error(JsonHelper.Entity2Json(reqst)); ri.code = "500";
        //        ri.message = Settings.Instance.GetErrorMsg(ri.code);
        //        return ri;
        //    }
        //}
        ///// <summary>
        ///// 获取修改手机号验证码短信接口--解志辉
        ///// </summary>
        ///// <param name="reqst">The reqst.</param>
        ///// <returns>ResultInfo&lt;System.String&gt;.</returns>
        /////  创 建 者:解志辉
        /////  创建日期:2016-05-25 16:20:03
        //[HttpPost]
        //public ResultInfo<string> GetModifyMobileCode(RequestParam<RequestBindMobileEntity> reqst)
        //{
        //    var ri = new ResultInfo<string>("99999");
        //    try
        //    {
        //        var userId = ConvertHelper.ParseValue(reqst.body.userId, 0);
        //        var mobile = _logic.SelectUserMobileByUserId(userId);//当前用户手机号

        //        if (string.IsNullOrEmpty(reqst.body.mobile))
        //        {
        //            ri.code = "1000000000";
        //        }
        //        else if (!ValidateHelper.IsHandset(reqst.body.mobile))
        //        {
        //            ri.code = "1000000001";
        //        }
        //        else if (mobile != reqst.body.mobile)
        //        {
        //            ri.code = "1000000013";
        //        }
        //        else
        //        {
        //            #region 发送短信

        //            var res = SendSms(mobile, 1,35);
        //            return res;

        //            #endregion
        //        }
        //        ri.message = Settings.Instance.GetErrorMsg(ri.code);
        //        return ri;
        //    }
        //    catch (Exception ex)
        //    {
        //        LoggerHelper.Error(ex.ToString());
        //        LoggerHelper.Error(JsonHelper.Entity2Json(reqst)); ri.code = "500";
        //        ri.message = Settings.Instance.GetErrorMsg(ri.code);
        //        return ri;
        //    }
        //}


        /// <summary>
        ///  发送短信--解志辉
        /// </summary>
        /// <param name="mobile"></param>
        /// <param name="type"></param>
        /// <param name="messageId"></param>
        /// <returns></returns>
        protected ResultInfo <string> SendSms(string mobile, int type, int messageId)
        {
            var ri = new ResultInfo <string>("99999");

            try
            {
                #region 防止短信过度频繁发送

                #region First 60之内不能再次发送短信

                var cacheKey = "reg_member_get_code_time_" + mobile;
                var cv       = CacheHelper.GetSystemCache(cacheKey);

                if (cv == null)
                {
                    CacheHelper.SetCache(cacheKey, DateTime.Now, 1);
                }
                else
                {
                    var dte = ConvertHelper.ParseValue(cv, DateTime.MinValue);
                    if (dte != DateTime.MinValue)
                    {
                        var sec = Settings.Instance.DateDiff("Second", dte, DateTime.Now);
                        if (sec > 60)
                        {
                            CacheHelper.ClearCache(cacheKey);
                        }
                        else
                        {
                            ri.code = "1000000005"; //短信发送太频繁!请稍后再试
                        }
                    }
                }

                #endregion

                #region Second 同IP间隔60S之后才能再次发送 同时一个IP最多发送8条注册短信

                var t1 = (int)Enum.Parse(typeof(SmsType), SmsType.短信验证码.ToString());

                var t2 = (int)Enum.Parse(typeof(SmsType), SmsType.语音短信验证码.ToString());
                if (!_recordLogic.CheckInOneMinute(Settings.Instance.ClientIp, t1, t2))
                {
                    ri.code = "1000000005"; //短信发送太频繁!请稍后再试
                }

                #endregion

                #region Third 同一IP最多发送8条同类型短信

                if (_recordLogic.CheckIpSendTimes(Settings.Instance.ClientIp, t1, t2) >= 8)
                {
                    ri.code = "1000000006"; //短信发送太频繁!请与客服联系
                }

                #endregion

                #endregion

                #region 验证3分钟之内有没有验证码记录,有则发送

                var ent = _recordLogic.SelectHistory(mobile, t1, t2);
                if (ent != null)
                {
                    if (ent.hits < 4)
                    {
                        ent.orderid = SendSMS.Send(mobile, ent.smscontext);
                        _recordLogic.UpdateRecord(ent);
                    }
                    else
                    {
                        ri.code = "1000000006"; //短信发送太频繁!请与客服联系
                    }
                }
                else //不存在记录,生成新验证码
                {
                    #region 生成验证码 发送短信并记录发送日志

                    var vcode = Utils.RndNum(6);
                    var ebt   = _logic.GetSmsEmailEntity(type, messageId); // 获取验证码邮件内容
                    var sbsms = new StringBuilder(ebt.SEContext);

                    sbsms = sbsms.Replace("#CODE#", vcode);

                    var pm = new SmsRecordEntity
                    {
                        phone_number = mobile,
                        sendtime     = DateTime.Now,
                        senduserid   = 0,
                        smstype      = t1,
                        smscontext   = sbsms.ToString(),
                        orderid      = SendSMS.Send(mobile, sbsms.ToString()),
                        vcode        = vcode,
                        ip           = Settings.Instance.ClientIp
                    };
                    _recordLogic.AddRecord(pm);

                    #endregion

                    ri.code = "1000000099";
                    ri.body = vcode;
                }

                #endregion

                ri.message = Settings.Instance.GetErrorMsg(ri.code);
                return(ri);
            }
            catch (Exception ex)
            {
                LoggerHelper.Error(ex.ToString());
                LoggerHelper.Error("send phone:" + mobile + "type:" + type + " messageId:" + messageId); ri.code = "500";
                ri.message = Settings.Instance.GetErrorMsg(ri.code);
                return(ri);
            }
        }
Example #8
0
        /// <summary>
        /// Execute a transaction of all operations specified in the entities param.
        /// </summary>
        /// <param name="request">The request</param>
        /// <returns>a JSON response</returns>
        public virtual string ExecuteTransaction(HttpRequest request)
        {
            LoggerHelper.Info("Start");
            try
            {
                string json = request.Params["entities"];
                LoggerHelper.Debug("entities = " + json);
                List <Dictionary <string, string> > entities = new List <Dictionary <string, string> >();
                if (!String.IsNullOrEmpty(json))
                {
                    entities = new JavaScriptSerializer().Deserialize <List <Dictionary <string, string> > >(json);
                    if (entities.Count <= 0)
                    {
                        throw new ArgumentNullException("No entities found in request.");
                    }

                    List <TransOperation> operations = new List <TransOperation>();

                    string connName = "";
                    for (int i = 0; i < entities.Count; i++)
                    {
                        Dictionary <string, string> props = entities[i];

                        Entity entity = new Entity();
                        entity.SetProperties(props);
                        string pageName = entity.GetProperty("PageName");
                        string operType = entity.GetProperty("OperationType");

                        if (string.IsNullOrEmpty(pageName))
                        {
                            throw new ArgumentNullException("PageName must be specified in all entities.");
                        }

                        if (string.IsNullOrEmpty(operType))
                        {
                            throw new ArgumentNullException("OperationType must be specified in all entities.");
                        }

                        entity.GetProperties().Remove("PageName");
                        entity.GetProperties().Remove("OperationType");

                        Page page = GetPageInfoDAO().GetPageConfig("", pageName);
                        entity.SetTableName(page.TableName);
                        EntityUtils.SetEntityFields(page, entity, false);

                        TransOperation operation = new TransOperation(operType, entity);
                        operations.Add(operation);

                        //validate if all entities use the same connection name
                        if (i == 0) //First entity
                        {
                            connName = page.ConnName == "DBConnString" ? "" : page.ConnName;
                        }
                        else
                        {
                            string _connName = page.ConnName == "DBConnString" ? "" : page.ConnName;
                            if (connName != _connName)
                            {
                                throw new ArgumentNullException("All Entities must use the same connection name.");
                            }
                        }
                    }

                    GetCatalogDAO(connName).ExecuteTransaction(operations);
                }
                else
                {
                    throw new ArgumentNullException("No operations found in request.");
                }
            }
            catch (Exception e)
            {
                LoggerHelper.Error(e);
                return(ErrorResponse(e));
            }
            finally
            {
                LoggerHelper.Info("End");
            }

            return(SuccessResponse());
        }
Example #9
0
 public static void WriteToFile(this Exception ex, string message, string dir = "")
 {
     LoggerHelper.WriteToFile(message, ex, dir);
 }
Example #10
0
        public ActionResult RealNameAuth(RequestParam <RequestValidate> reqst)
        {
            LoggerHelper.Info(JsonHelper.Entity2Json(reqst));
            MemberLogic _logic = new MemberLogic();
            var         uid    = ConvertHelper.ParseValue(reqst.body.userId, 0);
            var         p      = _logic.SelectMemberByUserId(uid);

            var        ckd = Settings.Instance.SiteDomain;
            UserEntity m   = new UserEntity
            {
                MerId     = Settings.Instance.MerId,
                Version   = "10",
                CmdId     = "UserRegister",
                MerCustId = Settings.Instance.MerCustId,
                BgRetUrl  = ckd + ("/UserAuthentication/Index/BgRetUrlForUserRegister"),
                RetUrl    = ckd + ("/UserAuthentication/Index/CallbackForUserRegister"),
                UsrMp     = p.mobile,
                UsrEmail  = p.email,
                UsrId     = p.username,
                IdNo      = reqst.body.userIdNo,
                IdType    = "00"
            };

            LoggerHelper.Info("身份证:" + m.IdNo);
#pragma warning disable 1587
            /// 签名规则
            /// Version
            /// CmdId
            /// MerCustId
            /// BgRetUrl
            /// RetUrl
            /// UsrId
            /// UsrName
            /// IdType
            /// IdNo
            /// UsrMp
            /// UsrEmail
            /// MerPriv
            /// Version + CmdId + MerCustId + BgRetUrl + RetUrl + UsrId + UsrName + IdType + IdNo + UsrMp + UsrEmail + MerPriv
#pragma warning restore 1587
            StringBuilder chkVal = new StringBuilder();
            string        temp   = m.MerPriv;
            AppendDeviceFlag(reqst.header.appId.ToString(), ref temp);
            m.MerPriv = temp;
            chkVal.Append(m.Version);
            chkVal.Append(m.CmdId);
            chkVal.Append(m.MerCustId);
            chkVal.Append(m.BgRetUrl);
            chkVal.Append(m.RetUrl);
            chkVal.Append(m.UsrId);
            chkVal.Append(m.IdType);
            chkVal.Append(m.IdNo);
            chkVal.Append(m.UsrMp);
            chkVal.Append(m.UsrEmail);
            chkVal.Append(m.MerPriv);
            string chkv = chkVal.ToString();
            //私钥文件的位置(这里是放在了站点的根目录下)
            string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Settings.Instance.MerPr;
            //需要指定提交字符串的长度
            int           len        = Encoding.UTF8.GetBytes(chkv).Length;
            StringBuilder sbChkValue = new StringBuilder(256);            //加签
            DllInterop.SignMsg(m.MerId, merKeyFile, chkv, len, sbChkValue);
            m.ChkValue = sbChkValue.ToString();
            LoggerHelper.Info(chkVal.ToString());
            LoggerHelper.Info("加签结果:" + m.ChkValue);
            return(View(m));
        }
Example #11
0
        /// <summary>
        /// 实名注册回调地址
        /// </summary>
        /// <returns></returns>
        public ActionResult CallbackForUserRegister(bool isSyncCallback = false)
        {
            var        mEntity   = new MemberEntity();
            string     username  = "";
            string     useremail = "";
            string     merp      = "";
            UserEntity m         = new UserEntity();

            m.CmdId     = DNTRequest.GetString("CmdId");
            m.RespCode  = DNTRequest.GetString("RespCode");
            m.RespDesc  = DNTRequest.GetString("RespDesc");
            m.MerCustId = DNTRequest.GetString("MerCustId");
            m.UsrId     = DNTRequest.GetString("UsrId");
            m.UsrCustId = DNTRequest.GetString("UsrCustId");
            m.BgRetUrl  = DNTRequest.GetString("BgRetUrl");
            m.TrxId     = DNTRequest.GetString("TrxId");
            m.RetUrl    = DNTRequest.GetString("RetUrl");
            merp        = m.MerPriv = DNTRequest.GetString("MerPriv");
            m.IdType    = DNTRequest.GetString("IdType");
            m.IdNo      = DNTRequest.GetString("IdNo");
            m.UsrMp     = DNTRequest.GetString("UsrMp");
            useremail   = DNTRequest.GetString("UsrEmail");
            m.UsrEmail  = useremail;
            username    = HttpUtility.UrlDecode(DNTRequest.GetString("UsrName"));
            m.UsrName   = username;
            m.ChkValue  = DNTRequest.GetString("ChkValue");
            LoggerHelper.Info("注册开户返回报文:" + JsonHelper.Entity2Json(m));
            StringBuilder chkVal = new StringBuilder();

            chkVal.Append(m.CmdId);
            chkVal.Append(m.RespCode);
            chkVal.Append(m.MerCustId);
            chkVal.Append(m.UsrId);
            chkVal.Append(m.UsrCustId);
            chkVal.Append(m.BgRetUrl);
            chkVal.Append(m.TrxId);
            chkVal.Append(m.RetUrl);
            chkVal.Append(m.MerPriv);
            string chkv = chkVal.ToString();
            //私钥文件的位置(这里是放在了站点的根目录下)
            string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Settings.Instance.PgPubk;
            int    ret        = DllInterop.VeriSignMsg(merKeyFile, chkv, chkv.Length, m.ChkValue);

            string deviceKey = PickoutDeviceFlag(ref merp);//pick out device code from comment field

            m.MerPriv = merp;
            if (ret == 0)
            {
                if (m.RespCode == "000")
                {
                    string cachename = m.UsrId + "Register" + m.MerCustId;
                    LoggerHelper.Info("开户验签成功");
                    object lockObj = new object();
                    lock (lockObj)
                    {
                        lock (this)
                        {
                            if (Settings.Instance.GeTThirdCache(cachename) == 0)
                            {
                                Utils.SetThirdCache(cachename);
                                MemberLogic mLogic = new MemberLogic();
                                mEntity.realname  = m.UsrName;
                                mEntity.UsrCustId = m.UsrCustId;
                                mEntity.UsrId     = m.UsrId;
                                mEntity.iD_number = m.IdNo;
                                if (mLogic.UpdateUserRealAuth(mEntity))
                                {
                                    LoggerHelper.Info("数据库操作成功");
                                    var tempUsername = PageHelper.GetUserSplit(m.UsrId);
                                    var tempEntity   = mLogic.SelectMemberEntityByName(tempUsername);
                                    //TODO: 以后添加实名奖励
                                    if (tempEntity != null)
                                    {
                                        using (ActFacade actFacade = new ActFacade())
                                        {
                                            actFacade.SendBonusAfterRegister(tempEntity.registerid.Value, Utils.GetDevicePlatformCode(deviceKey));
                                        }
                                    }
                                    else
                                    {
                                        LoggerHelper.Info("Line to 276:查找不到用户,无法写入注册奖励!");
                                    }
                                    LoggerHelper.Info("开户成功,数据库操作成功,开户返回报文:" + JsonHelper.Entity2Json(m));
                                }
                                else
                                {
                                    /*第三方成功,本地服务器操作失败*/
                                    LoggerHelper.Info("开户成功,数据库操作失败,开户返回报文:" + JsonHelper.Entity2Json(m));
                                }
                            }
                        }
                    }
                }
                if (isSyncCallback)
                {
                    return(Content("RECV_ORD_ID_" + m.TrxId));
                }
            }
            else
            {
                /*验签不成功*/
                LoggerHelper.Info("开户验签失败");
                if (isSyncCallback)
                {
                    return(Content("-1"));
                }
            }
            return(View(m));
        }
Example #12
0
        /// <summary>
        /// Executes a transaction in a SQL database.
        /// </summary>
        /// <param name="operations">The list of operations to be executed.</param>
        public virtual void ExecuteTransaction(List <TransOperation> operations)
        {
            LoggerHelper.Info("Start");
            try
            {
                StringBuilder   query       = new StringBuilder();
                IList <DBParam> queryParams = new List <DBParam>();

                StringBuilder variables         = new StringBuilder();
                StringBuilder statementsQueries = new StringBuilder();

                IDictionary <string, string> defaultVals = new Dictionary <string, string>();

                IQueryBuilder queryBuilder = GetQueryBuilder();

                foreach (TransOperation operation in operations)
                {
                    Entity entity = operation.Entity;
                    if (operation.OperationType == TransOperation.OperType.Save)
                    {
                        if (string.IsNullOrEmpty(operation.Entity.GetEntityId())) // New entity Insert
                        {
                            if (operation.BindIds)
                            {
                                queryBuilder.BuildInsertStatement(entity, statementsQueries, queryParams, defaultVals);
                            }
                            else
                            {
                                queryBuilder.BuildInsertStatement(entity, statementsQueries, queryParams);
                            }

                            Field  id      = entity.GetFieldId();
                            string varName = GetVariableName(id);

                            if (!defaultVals.ContainsKey(id.Name))
                            {
                                defaultVals[id.Name] = varName;
                                variables.Append("DECLARE ").Append(varName).Append(" AS INT\n");
                            }

                            statementsQueries.Append("\nSET ").Append(varName).Append(" = scope_identity()\n");
                        }
                        else //update
                        {
                            queryBuilder.BuildUpdateStatement(entity, statementsQueries, queryParams);
                        }
                    }
                    else if (operation.OperationType == TransOperation.OperType.Update)
                    {
                        queryBuilder.BuildUpdateEntityStatement(entity, statementsQueries, queryParams);
                    }
                    else if (operation.OperationType == TransOperation.OperType.Delete)
                    {
                        queryBuilder.BuildDeleteStatement(entity, statementsQueries, queryParams);
                    }
                    else if (operation.OperationType == TransOperation.OperType.DeleteEntities)
                    {
                        queryBuilder.BuildDeleteEntitiesStatement(entity, statementsQueries, queryParams);
                    }

                    statementsQueries.Append("\n");
                }

                query.Append(variables).Append("\n");
                query.Append(statementsQueries);
                LoggerHelper.Debug(query.ToString());

                StatementWrapper stmtWrapper = new StatementWrapper(query, queryParams);

                IList <StatementWrapper> statements = new List <StatementWrapper>();
                statements.Add(stmtWrapper);

                GetQueryRunner().ExecuteTransaction(GetConnection(), statements);
            }
            catch (Exception e)
            {
                LoggerHelper.Error(e.Message);
                if (e.Message.Contains("FK") || e.Message.Contains("REFERENCE"))
                {
                    throw new Exception("Entity cannot be deleted, because is being used.");
                }
                else if (e.Message.Contains("UNIQUE KEY"))
                {
                    throw new Exception("Entity already exists.");
                }
                else
                {
                    throw new Exception("Unable to execute transactions.", e);
                }
            }
            finally
            {
                LoggerHelper.Info("End");
            }
        }
Example #13
0
        public override void Consume(CacheMessage message)
        {
            var result = ProcessCache(message);

            LoggerHelper.Log(result);
        }
        /// <summary>
        ///     The initialize.
        /// </summary>
        /// <param name="target">
        ///     The target.
        /// </param>
        /// <param name="context">
        ///     The context.
        /// </param>
        /// <param name="contextName">
        ///     The context name.
        /// </param>
        protected internal override void Initialize(object target, ObjectContext context, string contextName)
        {
            base.Initialize(target, context, contextName);

            bool logParameterName = LogOptions.HasFlag(TraceAspectOptions.ParameterName);
            bool logParameterType = LogOptions.HasFlag(TraceAspectOptions.ParameterType);
            bool logparameterValue = LogOptions.HasFlag(TraceAspectOptions.ParameterValue);

            _logReturn = LogOptions.HasFlag(TraceAspectOptions.ReturnValue);

            if (logParameterName || logParameterType || logparameterValue) _helper = new LoggerHelper(logparameterValue, logParameterType);
        }
 public DiagnosticMessageVisitor(LoggerHelper logger, string assemblyDisplayName, bool showDiagnostics)
 {
     this.logger = logger;
     this.assemblyDisplayName = assemblyDisplayName;
     this.showDiagnostics = showDiagnostics;
 }
 public void OnCompleted() => LoggerHelper.RunWithLogging(_logger, () => _innerProcessor.OnCompleted(), nameof(OnCompleted));
 public void OnNext(T value) => LoggerHelper.RunWithLogging(_logger, () => _innerProcessor.OnNext(value), nameof(OnNext));
Example #18
0
        /// <summary>
        /// 同步临床接口数据
        /// </summary>
        /// <returns></returns>
        public void SyncGuid()
        {
            int pagesize = 50;

            LoggerHelper.WarnInTimeTest("[SyncGuid]:开始执行!");
            string BeforeDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
            long   startTime  = ConvertDateTimeToInt(Convert.ToDateTime(BeforeDate + " 00:00:00"));
            long   endTime    = ConvertDateTimeToInt(Convert.ToDateTime(BeforeDate + " 23:59:59"));

            string guidurl = GuidUrl + "projectId=" + GuidProjectId + "&startTime=" + startTime + "&endTime=" + endTime + "&start=1&num=50";

            LoggerHelper.WarnInTimeTest("[SyncGuid]====guidurl:" + guidurl);
            //获取临床指南返回的数据
            string guidback = HttpService.Get(guidurl);

            guidback = HttpUtility.UrlDecode(guidback);

            string KeyWord = AESGuidKeyCode;
            string iv      = guidback.Substring(0, 16);
            //解密数据
            string guiddata = EncryptHelper.DecodeAES(guidback, KeyWord, iv);

            guiddata = guiddata.Substring(guiddata.IndexOf('{'), guiddata.LastIndexOf('}') - guiddata.IndexOf('{') + 1);
            //序列化数据
            GuidResult model = JsonConvert.DeserializeObject <GuidResult>(guiddata);

            if (model.success && model.data.count > 0)
            {
                int allpagesize = (model.data.count % pagesize == 0)
                    ? (model.data.count / pagesize)
                    : (model.data.count / pagesize + 1);
                LoggerHelper.WarnInTimeTest("[SyncGuid]====allpagesize:" + allpagesize);
                //只有一页
                if (allpagesize == 1)
                {
                    AddGuid(model.data.items);
                }
                //不止一页
                else
                {
                    //轮询数据 并写入
                    for (int i = 1; i <= allpagesize; i++)
                    {
                        try
                        {
                            guidurl  = GuidUrl + "projectId=" + GuidProjectId + "&startTime=" + startTime + "&endTime=" + endTime + "&start=" + i + "&num=" + pagesize + "";
                            guidback = HttpService.Get(guidurl);
                            guidback = HttpUtility.UrlDecode(guidback);
                            iv       = guidback.Substring(0, 16);
                            guiddata = EncryptHelper.DecodeAES(guidback, KeyWord, iv);
                            guiddata = guiddata.Substring(guiddata.IndexOf("data") - 2, guiddata.LastIndexOf('}') - guiddata.IndexOf('{') + 1);

                            LoggerHelper.WarnInTimeTest("[SyncGuid]====current page:" + i);

                            GuidResult newmodel = JsonConvert.DeserializeObject <GuidResult>(guiddata);
                            AddGuid(newmodel.data.items);
                        }
                        catch (Exception e)
                        {
                            LoggerHelper.WarnInTimeTest("[写入GuidVisit Error]:" + e.Message);
                        }
                    }
                }
            }
        }
        protected override ShoppingCartRuleResult PerformRules(MyHLShoppingCart cart,
                                                               ShoppingCartRuleReason reason,
                                                               ShoppingCartRuleResult Result)
        {
            Result.Result = RulesResult.Success;

            if (cart == null)
            {
                return(Result);
            }

            base.PerformRules(cart, reason, Result);

            var currentlimits = GetCurrentPurchasingLimits(cart.DistributorID, GetCurrentOrderMonth());

            if (currentlimits.PurchaseLimitType == PurchaseLimitType.None || currentlimits.LimitsRestrictionType != LimitsRestrictionType.PurchasingLimits)
            {
                return(Result);
            }

            if (cart.ItemsBeingAdded != null && cart.ItemsBeingAdded.Count > 0)
            {
                var calcTheseItems = new List <ShoppingCartItem_V01>();
                calcTheseItems.AddRange(from i in cart.CartItems
                                        where !APFDueProvider.IsAPFSku(i.SKU)
                                        select
                                        new ShoppingCartItem_V01(i.ID, i.SKU, i.Quantity, i.Updated,
                                                                 i.MinQuantity));
                bool          bExceed  = false;
                List <string> skuToAdd = new List <string>();

                foreach (var item in cart.ItemsBeingAdded)
                {
                    if (bExceed == true)
                    {
                        Result = reportError(cart, item, Result);
                        continue;
                    }
                    var existingItem =
                        calcTheseItems.Find(ci => ci.SKU == item.SKU);
                    if (null != existingItem)
                    {
                        existingItem.Quantity += item.Quantity;
                    }
                    else
                    {
                        calcTheseItems.Add(new ShoppingCartItem_V01(0, item.SKU, item.Quantity, DateTime.Now));
                    }

                    // remove A and L type
                    var allItems =
                        CatalogProvider.GetCatalogItems(
                            (from s in calcTheseItems where s.SKU != null select s.SKU).ToList(), Country);
                    if (null != allItems && allItems.Count > 0)
                    {
                        var skuExcluded = (from c in allItems.Values
                                           where (c as CatalogItem_V01).ProductType != ServiceProvider.CatalogSvc.ProductType.Product
                                           select c.SKU);
                        calcTheseItems.RemoveAll(s => skuExcluded.Contains(s.SKU));
                    }

                    var totals = cart.Calculate(calcTheseItems, false);
                    if (null == totals)
                    {
                        var message =
                            string.Format(
                                "Purchasing Limits DiscountedRetail calculation failed due to Order Totals returning a null for Distributor {0}",
                                cart.DistributorID);
                        LoggerHelper.Error(message);
                        throw new ApplicationException(message);
                    }

                    if (currentlimits.RemainingVolume - (totals as OrderTotals_V01).AmountDue < 0)
                    {
                        bExceed = true;
                        Result  = reportError(cart, item, Result);
                    }
                    else
                    {
                        skuToAdd.Add(item.SKU);
                    }
                }

                cart.ItemsBeingAdded.RemoveAll(s => !skuToAdd.Contains(s.SKU));
            }
            return(Result);
        }
        private async Task ProvideCredentialAsync(bool userInteraction = true)
        {
            try
            {
                var cipherService = ServiceContainer.Resolve<ICipherService>("cipherService", true);
                Bit.Core.Models.Domain.Cipher cipher = null;
                var cancel = cipherService == null || _context.CredentialIdentity?.RecordIdentifier == null;
                if (!cancel)
                {
                    cipher = await cipherService.GetAsync(_context.CredentialIdentity.RecordIdentifier);
                    cancel = cipher == null || cipher.Type != Bit.Core.Enums.CipherType.Login || cipher.Login == null;
                }
                if (cancel)
                {
                    var err = new NSError(new NSString("ASExtensionErrorDomain"),
                        Convert.ToInt32(ASExtensionErrorCode.CredentialIdentityNotFound), null);
                    ExtensionContext?.CancelRequest(err);
                    return;
                }

                var decCipher = await cipher.DecryptAsync();
                if (decCipher.Reprompt != Bit.Core.Enums.CipherRepromptType.None)
                {
                    // Prompt for password using either the lock screen or dialog unless
                    // already verified the password.
                    if (!userInteraction)
                    {
                        await _stateService.Value.SetPasswordRepromptAutofillAsync(true);
                        var err = new NSError(new NSString("ASExtensionErrorDomain"),
                        Convert.ToInt32(ASExtensionErrorCode.UserInteractionRequired), null);
                        ExtensionContext?.CancelRequest(err);
                        return;
                    }
                    else if (!await _stateService.Value.GetPasswordVerifiedAutofillAsync())
                    {
                        // Add a timeout to resolve keyboard not always showing up.
                        await Task.Delay(250);
                        var passwordRepromptService = ServiceContainer.Resolve<IPasswordRepromptService>("passwordRepromptService");
                        if (!await passwordRepromptService.ShowPasswordPromptAsync())
                        {
                            var err = new NSError(new NSString("ASExtensionErrorDomain"),
                                Convert.ToInt32(ASExtensionErrorCode.UserCanceled), null);
                            ExtensionContext?.CancelRequest(err);
                            return;
                        }
                    }
                }
                string totpCode = null;
                var disableTotpCopy = await _stateService.Value.GetDisableAutoTotpCopyAsync();
                if (!disableTotpCopy.GetValueOrDefault(false))
                {
                    var canAccessPremiumAsync = await _stateService.Value.CanAccessPremiumAsync();
                    if (!string.IsNullOrWhiteSpace(decCipher.Login.Totp) &&
                        (canAccessPremiumAsync || cipher.OrganizationUseTotp))
                    {
                        var totpService = ServiceContainer.Resolve<ITotpService>("totpService");
                        totpCode = await totpService.GetCodeAsync(decCipher.Login.Totp);
                    }
                }

                CompleteRequest(decCipher.Id, decCipher.Login.Username, decCipher.Login.Password, totpCode);
            }
            catch (Exception ex)
            {
                LoggerHelper.LogEvenIfCantBeResolved(ex);
                throw;
            }
        }
Example #21
0
    override public bool MoveToByNav(Vector3 _v, float _stopDistance = 0f, bool needToAdjustPosY = true)
    {
        if (!canMove)
        {
            return(false);
        }
        if (needToAdjustPosY)
        {
            bool hasHit = MogoUtils.GetPointInTerrain(_v.x, _v.z, out _v);

            if (!hasHit)
            {
                EventDispatcher.TriggerEvent(ON_MOVE_TO_FALSE, transform.gameObject, targetToMoveTo, 0f);
                LoggerHelper.Warning("!hasHit:" + _v);
                return(false);
            }
        }

        //计算路线
        if (!isNaving || needToAdjustPosY)//|| (targetToMoveTo - v).magnitude < 0.05f
        {
            if (m_navHelper != null)
            {
                //Debug.LogError("targetToMoveTO:" + _v);
                path           = m_navHelper.GetPathByTarget(_v);
                targetToMoveTo = _v;
                m_cornersIdx   = 1;
                m_stopDistance = _stopDistance;
            }
            else
            {
                EventDispatcher.TriggerEvent(ON_MOVE_TO_FALSE, transform.gameObject, targetToMoveTo, 0f);
                return(false);
            }
        }

        //Mogo.Util.LoggerHelper.Debug("path.corners.Length:" + path.corners.Length);
        if (path == null)
        {
            StopNav();
            EventDispatcher.TriggerEvent(ON_MOVE_TO_FALSE, transform.gameObject, targetToMoveTo, 0f);
            return(false);
        }
        if (path.corners.Length < 2)
        {
            EventDispatcher.TriggerEvent(ON_MOVE_TO_FALSE, transform.gameObject, targetToMoveTo, 0f);
            LoggerHelper.Warning("path.corners.Length < 2:" + targetToMoveTo);
            StopNav();
            //EventDispatcher.TriggerEvent(ON_MOVE_TO, transform.gameObject, targetToMoveTo);
            return(false);
        }

        isNaving      = true;
        moveDirection = (path.corners[m_cornersIdx] - transform.position).normalized;
        RotateTo(path.corners[m_cornersIdx]);
        //transform.LookAt(new Vector3(path.corners[m_cornersIdx].x, transform.position.y, path.corners[m_cornersIdx].z));
        float dis  = Vector3.Distance(transform.position, path.corners[m_cornersIdx]);
        float step = extraSpeed * Time.deltaTime;

        if (step + 0.1f > dis && m_cornersIdx < path.corners.Length - 1)
        {
            collisionFlags = characterController.Move(path.corners[m_cornersIdx] - transform.position);
            if ((path.corners[m_cornersIdx] - transform.position).magnitude > 0.3f)
            {
                path         = m_navHelper.GetPathByTarget(targetToMoveTo);
                m_cornersIdx = 1;
            }
            else
            {
                m_cornersIdx++;
            }

            moveDirection = Vector3.zero;
            //transform.LookAt(new Vector3(path.corners[m_cornersIdx].x, transform.position.y, path.corners[m_cornersIdx].z));
            //collisionFlags = characterController.Move(moveDirection * dis);

            //transform.position = new Vector3(path.corners[m_cornersIdx].x, transform.position.y, path.corners[m_cornersIdx].z);
            //m_cornersIdx++;
        }
        else if (m_cornersIdx == path.corners.Length - 1 && step + 0.1f + m_stopDistance > dis)
        {
            //Debug.LogError("StopNav");
            float tempDis;
            //for (int i = 0; i < 5 && tempDis > 0.1; i++, dis = Vector3.Distance(transform.position, targetToMoveTo))
            //{
            tempDis        = dis - m_stopDistance;
            tempDis        = tempDis > 0 ? tempDis : 0;
            collisionFlags = characterController.Move((path.corners[m_cornersIdx] - transform.position).normalized * tempDis);
            //}
            StopNav();
            tempDis = Vector2.Distance(new Vector2(transform.position.x, transform.position.z), new Vector2(targetToMoveTo.x, targetToMoveTo.z));
            if (tempDis > 0.2 + m_stopDistance)
            {
                //MogoWorld.thePlayer.Idle();
                EventDispatcher.TriggerEvent(ON_MOVE_TO_FALSE, transform.gameObject, targetToMoveTo, tempDis);
            }
            else
            {
                EventDispatcher.TriggerEvent(ON_MOVE_TO, transform.gameObject, targetToMoveTo);
            }
        }
        return(true);
    }
Example #22
0
        void DiscoverTests <TVisitor>(IEnumerable <string> sources,
                                      LoggerHelper logger,
                                      Func <string, ITestFrameworkDiscoverer,
                                            ITestFrameworkDiscoveryOptions, TVisitor> visitorFactory,
                                      Action <string, ITestFrameworkDiscoverer, ITestFrameworkDiscoveryOptions, TVisitor> visitComplete = null)
            where TVisitor : IVsDiscoverySink, IDisposable
        {
            try
            {
                RemotingUtility.CleanUpRegisteredChannels();

                using (AssemblyHelper.SubscribeResolve())
                {
                    var reporterMessageHandler = GetRunnerReporter(sources).CreateMessageHandler(new VisualStudioRunnerLogger(logger));

                    foreach (var assemblyFileNameCanBeWithoutAbsolutePath in sources)
                    {
                        var assemblyFileName = assemblyFileNameCanBeWithoutAbsolutePath;
#if !WINDOWS_UAP
                        assemblyFileName = Path.GetFullPath(assemblyFileNameCanBeWithoutAbsolutePath);
#endif
                        var assembly = new XunitProjectAssembly {
                            AssemblyFilename = assemblyFileName
                        };
                        var configuration = LoadConfiguration(assemblyFileName);
                        var fileName      = Path.GetFileNameWithoutExtension(assemblyFileName);
                        var shadowCopy    = configuration.ShadowCopyOrDefault;

                        try
                        {
                            if (cancelled)
                            {
                                break;
                            }

                            if (!IsXunitTestAssembly(assemblyFileName))
                            {
                                if (configuration.DiagnosticMessagesOrDefault)
                                {
                                    logger.Log("Skipping: {0} (no reference to xUnit.net)", fileName);
                                }
                            }
                            else
                            {
                                var diagnosticSink = new DiagnosticMessageSink(logger, fileName, configuration.DiagnosticMessagesOrDefault);

                                using (var framework = new XunitFrontController(AppDomainDefaultBehavior, assemblyFileName: assemblyFileName, configFileName: null, shadowCopy: shadowCopy, diagnosticMessageSink: MessageSinkAdapter.Wrap(diagnosticSink)))
                                {
                                    var targetFramework = framework.TargetFramework;
                                    if (targetFramework.StartsWith("MonoTouch", StringComparison.OrdinalIgnoreCase) ||
                                        targetFramework.StartsWith("MonoAndroid", StringComparison.OrdinalIgnoreCase) ||
                                        targetFramework.StartsWith("Xamarin.iOS", StringComparison.OrdinalIgnoreCase))
                                    {
                                        if (configuration.DiagnosticMessagesOrDefault)
                                        {
                                            logger.Log("Skipping: {0} (unsupported target framework '{1}')", fileName, targetFramework);
                                        }
                                    }
                                    else
                                    {
                                        var discoveryOptions = TestFrameworkOptions.ForDiscovery(configuration);

                                        using (var visitor = visitorFactory(assemblyFileName, framework, discoveryOptions))
                                        {
                                            reporterMessageHandler.OnMessage(new TestAssemblyDiscoveryStarting(assembly, framework.CanUseAppDomains && AppDomainDefaultBehavior != AppDomainSupport.Denied, shadowCopy, discoveryOptions));

                                            framework.Find(includeSourceInformation: RunSettingsHelper.DesignMode, discoveryMessageSink: visitor, discoveryOptions: discoveryOptions);
                                            var totalTests = visitor.Finish();

                                            visitComplete?.Invoke(assemblyFileName, framework, discoveryOptions, visitor);

                                            reporterMessageHandler.OnMessage(new TestAssemblyDiscoveryFinished(assembly, discoveryOptions, totalTests, totalTests));
                                        }
                                    }
                                }
                            }
                        }
                        catch (Exception e)
                        {
                            var ex           = e.Unwrap();
                            var fileNotFound = ex as FileNotFoundException;
#if !WINDOWS_UAP
                            var fileLoad = ex as FileLoadException;
#endif
                            if (ex is InvalidOperationException)
                            {
                                logger.LogWarning("Skipping: {0} ({1})", fileName, ex.Message);
                            }
                            else if (fileNotFound != null)
                            {
                                logger.LogWarning("Skipping: {0} (could not find dependent assembly '{1}')", fileName, Path.GetFileNameWithoutExtension(fileNotFound.FileName));
                            }
#if !WINDOWS_UAP
                            else if (fileLoad != null)
                            {
                                logger.LogWarning("Skipping: {0} (could not find dependent assembly '{1}')", fileName, Path.GetFileNameWithoutExtension(fileLoad.FileName));
                            }
#endif
                            else
                            {
                                logger.LogWarning("Exception discovering tests from {0}: {1}", fileName, ex);
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.LogWarning("Exception discovering tests: {0}", e.Unwrap());
            }
        }
Example #23
0
        public async Task Invoke(HttpContext context)
        {
            //context.Features.Get<IEndpointFeature>
            try
            {
                await _nextMiddleware.Invoke(context);
            }
            catch (Exception ex)
            {
                if (ex is UtilityException && ((UtilityException)ex).Level > 0)
                {
                    var utilityException = (UtilityException)ex;


                    object errorMessage = new ErrorMessage()
                    {
                        Code    = utilityException.Code,
                        Message = await utilityException.GetCurrentLcidMessage()
                    };
                    var errorType = typeof(ErrorMessage);

                    if (ExceptionConvert != null)
                    {
                        (errorType, errorMessage) = await ExceptionConvert.Convert(utilityException);
                    }


                    if (!UtilityExceptionTypeStatusCodeMappings.Mappings.TryGetValue(utilityException.Type, out int statusCode))
                    {
                        statusCode = 500;
                    }

                    await context.Response.WriteJson(statusCode, errorType, errorMessage);
                }
                else
                {
                    string message;
                    if (_isDebug)
                    {
                        message = ex.ToStackTraceString();
                    }
                    else
                    {
                        message = string.Format(StringLanguageTranslate.Translate(TextCodes.InnerError, "系统内部错误,请查看系统日志"));
                    }


                    object errorMessage = new ErrorMessage()
                    {
                        Code    = -1,
                        Message = message
                    };
                    var errorType = typeof(ErrorMessage);

                    if (ExceptionConvert != null)
                    {
                        (errorType, errorMessage) = await ExceptionConvert.Convert(ex);
                    }

                    await context.Response.WriteJson(StatusCodes.Status500InternalServerError, errorType, errorMessage);
                }


                //从Http上下文中获取上下文生成结果
                if (context.Items.TryGetValue("AuthorizeResult", out object objResult))
                {
                    try
                    {
                        ((IAppUserAuthorizeResult)objResult).Execute();
                    }
                    catch
                    {
                    }
                }

                //从Http上下文中获取国际化上下文初始化对象
                if (context.Items.TryGetValue("InternationalizationContextInit", out object objInit))
                {
                    try
                    {
                        ((IInternationalizationContextInit)objInit).Execute();
                    }
                    catch
                    {
                    }
                }

                //将异常存储在上下文的Item中
                context.Items.Add("ExecuteException", ex);

                //加到日志中
                var logObj = await _appExceptionHttpContextLogConvert.Convert(context);

                LoggerHelper.LogError(_categoryName, logObj);

                //var logger = _loggerFactory.CreateLogger(_categoryName);
                //logger.LogError($"Unhandle Error,\nmessage:{ex.Message},\nstacktrace:{ex.StackTrace}");
            }
        }
Example #24
0
        void RunTestsInAssembly(IRunContext runContext,
                                IFrameworkHandle frameworkHandle,
                                LoggerHelper logger,
                                IMessageSinkWithTypes reporterMessageHandler,
                                AssemblyRunInfo runInfo)
        {
            if (cancelled)
            {
                return;
            }

            var assembly = new XunitProjectAssembly {
                AssemblyFilename = runInfo.AssemblyFileName
            };
            var assemblyFileName    = runInfo.AssemblyFileName;
            var assemblyDisplayName = Path.GetFileNameWithoutExtension(assemblyFileName);
            var shadowCopy          = assembly.Configuration.ShadowCopyOrDefault;

            var appDomain          = assembly.Configuration.AppDomain ?? AppDomainDefaultBehavior;
            var longRunningSeconds = assembly.Configuration.LongRunningTestSecondsOrDefault;

            if (RunSettingsHelper.DisableAppDomain)
            {
                appDomain = AppDomainSupport.Denied;
            }

            try
            {
#if WINDOWS_UAP
                // For AppX Apps, use the package location
                assemblyFileName = Path.Combine(Windows.ApplicationModel.Package.Current.InstalledLocation.Path, Path.GetFileName(assemblyFileName));
#endif

                var diagnosticSink = new DiagnosticMessageSink(logger, assemblyDisplayName, runInfo.Configuration.DiagnosticMessagesOrDefault);
                using (var controller = new XunitFrontController(appDomain, assemblyFileName: assemblyFileName, configFileName: null, shadowCopy: shadowCopy, diagnosticMessageSink: MessageSinkAdapter.Wrap(diagnosticSink)))
                {
                    var xunitTestCases = runInfo.TestCases.Select(tc => new { vs = tc, xunit = Deserialize(logger, controller, tc) })
                                         .Where(tc => tc.xunit != null)
                                         .ToDictionary(tc => tc.xunit, tc => tc.vs);

                    var executionOptions = TestFrameworkOptions.ForExecution(runInfo.Configuration);
                    if (RunSettingsHelper.DisableParallelization)
                    {
                        executionOptions.SetSynchronousMessageReporting(true);
                        executionOptions.SetDisableParallelization(true);
                    }

                    reporterMessageHandler.OnMessage(new TestAssemblyExecutionStarting(assembly, executionOptions));

                    using (var vsExecutionSink = new VsExecutionSink(reporterMessageHandler, frameworkHandle, logger, xunitTestCases, executionOptions, () => cancelled))
                    {
                        IExecutionSink resultsSink = vsExecutionSink;
                        if (longRunningSeconds > 0)
                        {
                            resultsSink = new DelegatingLongRunningTestDetectionSink(resultsSink, TimeSpan.FromSeconds(longRunningSeconds), diagnosticSink);
                        }

                        controller.RunTests(xunitTestCases.Keys.ToList(), resultsSink, executionOptions);
                        resultsSink.Finished.WaitOne();

                        reporterMessageHandler.OnMessage(new TestAssemblyExecutionFinished(assembly, executionOptions, resultsSink.ExecutionSummary));
                    }
                }
            }
            catch (Exception ex)
            {
                logger.LogError("{0}: Catastrophic failure: {1}", assemblyDisplayName, ex);
            }
        }
Example #25
0
 public void AddWigetToFullNameData(string widgetName, string fullName)
 {
     LoggerHelper.Debug(widgetName + " " + fullName);
     m_widgetToFullName.Add(widgetName, fullName);
 }
Example #26
0
 public DiscoveredTestCase(string source, ITestFrameworkDiscoverer discoverer, ITestCase testCase, LoggerHelper logger, bool designMode)
 {
     Name       = $"{testCase.TestMethod.TestClass.Class.Name}.{testCase.TestMethod.Method.Name}";
     TraitNames = testCase.Traits.Keys;
     VSTestCase = VsDiscoverySink.CreateVsTestCase(source, discoverer, testCase, forceUniqueName: false, logger: logger, designMode: designMode);
     uniqueID   = testCase.UniqueID;
 }
Example #27
0
 /// <summary>
 /// 刷新强敌
 /// </summary>
 private void RefreshStrong()
 {
     LoggerHelper.Debug("RefreshStrong");
     m_myself.RpcCall("RefreshStrongReq");
 }
Example #28
0
        /// <summary>
        /// 会议提醒
        /// </summary>
        /// <returns></returns>
        public void RemindMeet()
        {
            try
            {
                var rep  = ContainerManager.Resolve <IEfRepository>();
                var dt   = DateTime.UtcNow.AddHours(8);
                var list = from a in rep.Where <MeetInfo>(s => s.IsDeleted != 1 && s.MeetStartTime > dt)
                           join b in rep.Where <MyMeetOrder>(s => s.IsDeleted != 1 && s.HasReminded != 1 && s.IsRemind == 1) on a.Id equals b.MeetId
                           join c in rep.Where <WxUserModel>(s => s.IsDeleted != 1 && s.Mobile != null) on b.UnionId equals c.UnionId
                           select new
                {
                    MeetOrderId = b.Id,
                    a.MeetTitle,
                    a.MeetStartTime,
                    c.Mobile,
                    b.RemindOffsetMinutes
                };

                if (list == null || list.Count() == 0)
                {
                    return;
                }

                var list2 = from a in list.ToList()
                            where a.MeetStartTime.Value.AddMinutes(a.RemindOffsetMinutes) <= DateTime.UtcNow.AddHours(8)
                            select a;

                foreach (var item in list2)
                {
                    if (string.IsNullOrEmpty(item.Mobile))
                    {
                        continue;
                    }
                    try
                    {
                        string title = item.MeetTitle;
                        string time  = item.MeetStartTime?.ToString(Time_Format) ?? "";

                        SendSmsModel sm = new SendSmsModel
                        {
                            CompanyCode = "4033",
                            ParamName   = JsonConvert.SerializeObject(new
                            {
                                systemName  = System_Name,
                                meetingTime = time,
                                meetingType = title
                            }).Base64Encoding(),
                            PhoneNumbers = item.Mobile,
                            SystemId     = "3",
                            SignName     = "费卡中国",
                            TemplateId   = "FKSMS0046"
                        };

                        LoggerHelper.WriteLogInfo($"[RemindMeet]:******发送会议提醒短信开始******");
                        LoggerHelper.WriteLogInfo($"[RemindMeet]:PhoneNumbers={sm.PhoneNumbers}");
                        LoggerHelper.WriteLogInfo($"[RemindMeet]:meetingTime={time}");
                        LoggerHelper.WriteLogInfo($"[RemindMeet]:meetingType={title}");
                        var smsResult = SmsUtil.SendMessage(sm);
                        if (smsResult?.ResultFlag ?? false)
                        {
                            LoggerHelper.WriteLogInfo($"[RemindMeet]:smsResult.ResultFlag=true");
                            var meetOrder = rep.FirstOrDefault <MyMeetOrder>(s => s.IsDeleted != 1 && s.Id == item.MeetOrderId);
                            if (meetOrder != null)
                            {
                                meetOrder.HasReminded = 1; //已发送提醒短信
                                rep.Update(meetOrder);
                                rep.SaveChanges();
                                LoggerHelper.WriteLogInfo($"[RemindMeet]:set HasReminded to 1");
                            }
                        }
                        LoggerHelper.WriteLogInfo($"[RemindMeet]:******发送会议提醒短信结束******");
                    }
                    catch (Exception ex)
                    {
                        LoggerHelper.Error($"--------------------------------------------------------------------------------");
                        LoggerHelper.Error($"[MSG]:{ex.Message};\n");
                        LoggerHelper.Error($"[Source]:{ex.Source}\n");
                        LoggerHelper.Error($"[StackTrace]:{ex.StackTrace}\n");
                        LoggerHelper.Error($"[StackTrace]:{ex.TargetSite.Name}\n");
                        LoggerHelper.Error($"[MethodName]:[[SSPC_One_HCP.WebApi.Jobs.RemindJob.RemindMeet]]\n");
                        LoggerHelper.Error($"--------------------------------------------------------------------------------");
                    }
                }
            }
            catch (Exception ex)
            {
                LoggerHelper.Error($"--------------------------------------------------------------------------------");
                LoggerHelper.Error($"[MSG]:{ex.Message};\n");
                LoggerHelper.Error($"[Source]:{ex.Source}\n");
                LoggerHelper.Error($"[StackTrace]:{ex.StackTrace}\n");
                LoggerHelper.Error($"[StackTrace]:{ex.TargetSite.Name}\n");
                LoggerHelper.Error($"[MethodName]:[[SSPC_One_HCP.WebApi.Jobs.RemindJob.RemindMeet]]\n");
                LoggerHelper.Error($"--------------------------------------------------------------------------------");
                //throw ex;
            }
        }
Example #29
0
 /// <summary>
 /// 挑战竞技场
 /// </summary>
 private void Challenge(int level)
 {
     LoggerHelper.Debug(level);
     m_myself.RpcCall("ChallengeReq", level);
 }
Example #30
0
        public IEnumerable <TestCase> GetFilteredTestList(IEnumerable <TestCase> testCases, IRunContext runContext, LoggerHelper logger, string assemblyFileName)
        {
            ITestCaseFilterExpression filter = null;

            if (GetTestCaseFilterExpression(runContext, logger, assemblyFileName, out filter))
            {
                if (filter != null)
                {
                    return(testCases.Where(testCase => filter.MatchTestCase(testCase, (p) => PropertyProvider(testCase, p))));
                }
            }
            else
            {
                // Error while filtering, ensure discovered test list is empty
                return(Enumerable.Empty <TestCase>());
            }

            // No filter is specified return the original list
            return(testCases);
        }
Example #31
0
        private void LogPermition(string controller, string action)
        {
            var user = User.Identity.IsAuthenticated ? User.Identity.Name : Anonymous;

            LoggerHelper.LogException($"BaseController. User does not have access to the functionality.  Controller={controller}, Action={action}, User={user}.");
        }
Example #32
0
 public void SetGray(bool isGray = true)
 {
     LoggerHelper.Debug("It's gray");
     challengeImg.ShowAsWhiteBlack(isGray);
 }
 public void OnError(Exception error) => LoggerHelper.RunWithLogging(_logger, () => _innerProcessor.OnError(error), nameof(OnError));
Example #34
0
        public override bool PrePushToRabbitMq(out string fileSavePath, out string errorMsg)
        {
            fileSavePath = string.Empty;
            errorMsg     = string.Empty;

            try
            {
                if (string.IsNullOrWhiteSpace(customId))
                {
                    errorMsg = "wordreport缺少customID";
                    return(false);
                }

                string sysPrimaryKey = string.Empty;
                if (!dicData.TryGetValue("SYSPRIMARYKEY", out sysPrimaryKey))
                {
                    errorMsg = "wordreport缺少SYSPRIMARYKEY";
                    return(false);
                }

                string suffix = "doc";
                if (!dicData.TryGetValue("REPORTTYPES", out suffix))
                {
                    suffix = "doc";
                }

                if (string.IsNullOrWhiteSpace(suffix))
                {
                    suffix = "doc";
                }

                //附件___blob___

                //bool hasData = false;

                if (cmdAttach != null)
                {
                    #region 附件处理

                    string relativePath = string.Format("{0}\\{1}\\{2}\\{3}.{4}",
                                                        FSSelector.GetSafeFilename(customId),
                                                        DateTime.Now.ToString("yyyy-MM"),
                                                        FSSelector.GetSafeFilename(sysPrimaryKey),
                                                        FSSelector.GetSafeFilename(pk), suffix);

                    string baseFileDir = FSSelector.GetFSWordUrl(customId);
                    string filePath    = Path.Combine(baseFileDir, relativePath);

                    string fileFolder = Path.GetDirectoryName(filePath);
                    if (!Directory.Exists(fileFolder))
                    {
                        Directory.CreateDirectory(fileFolder);
                    }

                    try
                    {
                        File.WriteAllBytes(filePath, cmdAttach);
                        fileSavePath = filePath;

                        //hasData = true;
                        //dicData["WORDREPORTPATH"] = filePath;
                        //dicData["ISLOCALSTORE"] = "0";
                        //if (cmdAttach.Length >= limitedSized * 1024 * 1024)
                        //{
                        //    //标识为大型文件,通过wcf的stream模式传输
                        //    dicData["ISLOCALSTORE"] = "1";
                        //}
                    }
                    catch (Exception ex)
                    {
                        LoggerHelper.WriteErrorLog(logger, ex);
                        errorMsg = string.Format("[ErrorMsg:{0}]-[StackTrace:{1}]-[Source:{2}]",
                                                 ex.Message,
                                                 ex.StackTrace,
                                                 ex.Source);
                        return(false);
                    }

                    #endregion
                }

                #region old code

                //if (dicData.ContainsKey("IMAGE") && cmdAttach != null)
                //{
                //    var binaryIndexs = dicData["IMAGE"];
                //    if (binaryIndexs.Contains("___blob___"))
                //    {
                //        var bData = GetBinaryByIndexs(binaryIndexs);
                //        if (bData != null)
                //        {
                //            //
                //            #region 附件处理

                //            string relativePath = string.Format("{0}\\{1}\\{2}\\{3}.{4}",
                //                FSSelector.GetSafeFilename(customId),
                //                DateTime.Now.ToString("yyyy-MM"),
                //                FSSelector.GetSafeFilename(sysPrimaryKey),
                //                FSSelector.GetSafeFilename(pk),
                //                suffix);
                //            string baseFileDir = FSSelector.GetFSWordUrl(customId);
                //            string filePath = Path.Combine(baseFileDir, relativePath);

                //            string fileFolder = Path.GetDirectoryName(filePath);
                //            if (!Directory.Exists(fileFolder))
                //            {
                //                Directory.CreateDirectory(fileFolder);
                //            }

                //            try
                //            {
                //                File.WriteAllBytes(filePath, bData);
                //                hasData = true;
                //                dicData["WORDREPORTPATH"] = filePath;
                //                dicData["ISLOCALSTORE"] = "0";
                //                if (bData.Length >= limitedSized * 1024 * 1024)
                //                {
                //                    //标识为大型文件,通过wcf的stream模式传输
                //                    dicData["ISLOCALSTORE"] = "1";
                //                }
                //            }
                //            catch (Exception ex)
                //            {
                //                LoggerHelper.WriteErrorLog(logger, ex);
                //                errorMsg = string.Format("[ErrorMsg:{0}]-[StackTrace:{1}]-[Source:{2}]",
                //                    ex.Message,
                //                    ex.StackTrace,
                //                    ex.Source);
                //                return false;
                //            }


                //            #endregion

                //            //Task.Factory.StartNew(() => SaveToRavenDB(filePath, ms));
                //        }

                //    }
                //}

                #endregion

                //if (!hasData)
                //{
                //    dicData["NODATA"] = "1";
                //    LoggerHelper.WriteCustomLog(logger, "无附件 " + cmdData, "CWorkNoReport", false);
                //}

                return(true);
            }
            catch (Exception ex)
            {
                LoggerHelper.WriteErrorLog(logger, ex);
                errorMsg = ex.Message;
                return(false);
            }
        }
 public VisualStudioRunnerLogger(LoggerHelper loggerHelper)
 {
     this.loggerHelper = loggerHelper;
 }
Example #36
0
 public void Show()
 {
     //注册 log4net
     log4net.Config.XmlConfigurator.Configure(new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4config\\log.xml"));
     LoggerHelper.Info("1");
 }