示例#1
0
 /// <summary>
 /// 后台管理员审核
 /// </summary>
 /// <param name="content"></param>
 /// <param name="user"></param>
 public void VerifyByUser(string content, User user, VerifyType verifyType)
 {
     if (CanVerifyByUser)
     {
         if (user == null)
         {
             throw new ArgumentNullException("user");
         }
         this.VerifyStatus = (AccountVerifyStatus)Enum.Parse(typeof(AccountVerifyStatus), verifyType.ToString());
         this.AccountVerifies.Add(new AccountVerify()
         {
             AccountId       = this.ID,
             Content         = content,
             CreateTime      = DateTime.Now,
             IsAdmin         = true,
             Status          = this.VerifyStatus,
             VerifyAccountId = user.ID,
             VerifyAccount   = user.UserName,
         });
         if (verifyType == VerifyType.Verified)
         {
             this.Status = AccountStatus.Initiation;
         }
     }
 }
        private void ChangeYoutubeState(VerifyType verifyType)
        {
            Brush  brush;
            string text;

            switch (verifyType)
            {
            case VerifyType.Verified:
                brush = Brushes.Green;
                text  = "인증됨";
                break;

            case VerifyType.NotChecked:
                brush = Brushes.DarkOrange;
                text  = "확인되지 않음";
                break;

            case VerifyType.Invalid:
            default:
                brush = Brushes.Red;
                text  = "유효하지 않음";
                break;
            }

            tbYoutubeAPIKey.Foreground = brush;
            runYoutubeAPIKey.Text      = _hiddenText;
            runYoutubeAPIVert.Text     = text;
            IsYoutubeEncrypt           = true;

            YoutubeVerifyType = verifyType;
        }
示例#3
0
    public static void GetVerifyMessage(VerifyType verifyType, out string messageCaption, out string messageText)
    {
        if (ms_VerifyMessagesCaption == null || ms_VerifyMessagesText == null)
        {
            ms_VerifyMessagesCaption = new string[(int)VerifyType.End];
            ms_VerifyMessagesText    = new string[(int)VerifyType.End];

            Type resourcesType = typeof(CSVEditor.Properties.Resources);

            for (int iMessage = 0; iMessage < ms_VerifyMessagesCaption.Length; iMessage++)
            {
                string iterCaptionPropertyName = "VerifyMessageCaption_" + Enum.GetName(typeof(VerifyType), iMessage);
                ms_VerifyMessagesCaption[iMessage] = CSVEditor.Properties.Resources.ResourceManager.GetString(iterCaptionPropertyName);

                if (string.IsNullOrEmpty(ms_VerifyMessagesCaption[iMessage]))
                {
                    MessageBox.Show(string.Format("是不是添加了新校验规则({0})后没在Resources.resx填写VerifyMessageCaption", (VerifyType)iMessage), "提示");
                }

                string iterTextPropertyName = "VerifyMessageText_" + Enum.GetName(typeof(VerifyType), iMessage);
                ms_VerifyMessagesText[iMessage] = CSVEditor.Properties.Resources.ResourceManager.GetString(iterTextPropertyName);

                if (string.IsNullOrEmpty(ms_VerifyMessagesText[iMessage]))
                {
                    MessageBox.Show(string.Format("是不是添加了新校验规则({0})后没在Resources.resx填写VerifyMessageText", (VerifyType)iMessage), "提示");
                }
            }
        }

        messageCaption = ms_VerifyMessagesCaption[(int)verifyType];
        messageText    = ms_VerifyMessagesText[(int)verifyType];
    }
        /// <summary>
        /// 数据验证
        /// </summary>
        /// <param name="entity">实体</param>
        /// <param name="repeatVerify">委托</param>
        /// <returns></returns>
        public bool Verification(T entity, VerifyType type)
        {
            if (entity.ConfigName.Length == 0)
            {
                Messages = "请填写参数名称!";
                return(false);
            }

            switch (type)
            {
            case VerifyType.Add:
                if (!Add(entity))
                {
                    return(false);
                }
                break;

            case VerifyType.Update:
                if (!Update(entity))
                {
                    return(false);
                }
                break;

            default:
                break;
            }
            return(true);
        }
示例#5
0
        public obj SelectByProperty(string property, object value)
        {
            value = VerifyType.ConvertProperty(property, value, typeof(obj));
            var result = Session.CreateCriteria(typeof(obj)).Add(Expression.Eq(property, value)).UniqueResult <obj>();

            Clear();
            return(result);
        }
示例#6
0
        public IEnumerable <obj> SelectAllByProperty(string property, object value)
        {
            value = VerifyType.ConvertProperty(property, value, typeof(obj));
            var result = Session.CreateCriteria(typeof(obj)).Add(Expression.Eq(property, value)).List <obj>();

            Clear();
            return(result);
        }
示例#7
0
        /// <summary>
        /// 挂牌人审核
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="content"></param>
        /// <param name="verifyType"></param>
        public void VerifyByUser(int userId, string content, VerifyType verifyType)
        {
            var account = this.FindById(userId);

            if (account == null)
            {
                throw new ServiceException("不存在此用户");
            }
            account.VerifyByUser(userId, content, verifyType);
        }
示例#8
0
        public void SendVerifyCode(string mobile, VerifyType verifyType)
        {
            ExceptionHelper.ThrowIfNullOrWhiteSpace(mobile, "mobile");
            ExceptionHelper.ThrowIfTrue(!StringRule.VerifyMobile(mobile), "mobile", "手机号码格式不正确");
            switch (verifyType)
            {
            case VerifyType.Common:
            case VerifyType.FormatPwd:
                if (!_UserRepository.Entities.Any(u => u.mobile == mobile.Trim()))
                {
                    throw new Flh.FlhException(ErrorCode.NotExists, "该手机未注册");
                }
                break;

            case VerifyType.ChangeMobile:
            case VerifyType.Register:
                if (_UserRepository.Entities.Any(u => u.mobile == mobile.Trim()))
                {
                    throw new Flh.FlhException(ErrorCode.Exists, "该手机已被注册");
                }
                break;
            }
            var entity = GetValidityCode(mobile);

            var message = String.Empty;

            if (entity == null || entity.createDate.AddMinutes(10) < DateTime.Now)
            {
                var code = CreateCode();

                using (var scope = new TransactionScope())
                {
                    _VerifyCodeRepository.Delete(vc => vc.mobile == mobile);
                    _VerifyCodeRepository.Add(entity = new Data.VerifyCode
                    {
                        code       = code,
                        createDate = DateTime.Now,
                        mobile     = mobile,
                        endDate    = DateTime.Now.AddMinutes(30)
                    });

                    _VerifyCodeRepository.SaveChanges();

                    SendSmsMessage(mobile, verifyType, code);

                    scope.Complete();
                }
            }
            else
            {
                SendSmsMessage(mobile, verifyType, entity.code);
            }
        }
示例#9
0
        public void SimpleDelegateMembersTest()
        {
            const string libSrc =
                @"namespace Test
{
  public delegate void voidDelegate();
}";
            Func <string[], Action <ModuleSymbol> > getValidator = expectedMembers =>
                                                                   m =>
            {
                {
                    var actualMembers = m.GlobalNamespace
                                        .GetMember <NamespaceSymbol>("Test")
                                        .GetMember <NamedTypeSymbol>("voidDelegate")
                                        .GetMembers()
                                        .ToArray();

                    AssertEx.SetEqual(actualMembers.Select(s => s.Name), expectedMembers);
                }
                ;
            };

            VerifyType verify = (winmd, expected) =>
            {
                var validator = getValidator(expected);

                // We should see the same members from both source and metadata
                var verifier = CompileAndVerify(
                    libSrc,
                    sourceSymbolValidator: validator,
                    symbolValidator: validator,
                    options: winmd ? TestOptions.ReleaseWinMD : TestOptions.ReleaseDll
                    );
                verifier.VerifyDiagnostics();
            };

            // Test winmd
            verify(
                true,
                WellKnownMemberNames.InstanceConstructorName,
                WellKnownMemberNames.DelegateInvokeName
                );

            // Test normal
            verify(
                false,
                WellKnownMemberNames.InstanceConstructorName,
                WellKnownMemberNames.DelegateInvokeName,
                WellKnownMemberNames.DelegateBeginInvokeName,
                WellKnownMemberNames.DelegateEndInvokeName
                );
        }
示例#10
0
        public EmailVerifier Get(User user, VerifyType type)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }
            DetachedCriteria cri = CreateDetachedCriteria()
                                   .Add(Restrictions.Eq(Projections.Property <EmailVerifier>(s => s.Status), SecretTokenStatus.Effective))
                                   .Add(Restrictions.Eq(Projections.Property <EmailVerifier>(s => s.Account), user))
                                   .Add(Restrictions.Eq(Projections.Property <EmailVerifier>(s => s.Type), type));

            return(cri.GetExecutableCriteria(CurrentSession).UniqueResult <EmailVerifier>());
        }
示例#11
0
 public void SetConfig(Config config)
 {
     CleanWhite();
     CleanBlack();
     mType = config.Type;
     if (config.WhiteList != null)
     {
         AddWhite(config.WhiteList);
     }
     if (config.BlackList != null)
     {
         AddBlack(config.BlackList);
     }
 }
示例#12
0
        public IEnumerable <obj> SelectAllByProperties(IEnumerable <CriteriaConditions> conditions)
        {
            var criteria = Session.CreateCriteria(typeof(obj));

            foreach (var item in conditions)
            {
                item.Value = VerifyType.ConvertProperty(item.Property, item.Value, typeof(obj));
                criteria.Add(Restrictions.Eq(item.Property, item.Value));
            }
            var result = criteria.List <obj>();

            Clear();
            return(result);
        }
示例#13
0
        /// <summary>
        /// 功能描述:生成一个多行文本框
        /// </summary>
        /// <param name="htmlHelper">HtmlHelper</param>
        /// <param name="strName">绑定名称</param>
        /// <param name="verifyType">验证规则</param>
        /// <param name="strValue">值</param>
        /// <param name="strplaceholder">水印文字</param>
        /// <param name="blnReadOnly">是否只读</param>
        /// <param name="blnDisabled">是否禁用</param>
        /// <returns>返回值</returns>
        public static MvcHtmlString TextBoxAreaEx(
            this HtmlHelper htmlHelper,
            string strName,
            VerifyType verifyType,
            string strValue       = "",
            string strPlaceholder = "",
            bool blnReadOnly      = false,
            bool blnDisabled      = false)
        {
            string strHtml = string.Format(" <textarea name=\"{0}\" id=\"{0}\" lay-verify=\"{1}\" class=\"layui-textarea\" {2} {3} {4} value=\"{5}\"/>",
                                           strName, (verifyType == VerifyType.none ? "" : verifyType.ToEnumString()), (!strPlaceholder.IsEmpty() ? "placeholder=\"" + strPlaceholder + "\"" : ""),
                                           blnReadOnly ? "readonly" : "", blnDisabled ? "disabled" : "", strValue);

            return(new MvcHtmlString(strHtml));
        }
示例#14
0
 private static int FtypeKind(Class ftype)
 {
     if (ftype.Primitive)
     {
         return(Wrapper.forPrimitiveType(ftype).ordinal());
     }
     else if (VerifyType.isNullReferenceConversion(typeof(Object), ftype))
     {
         return(FT_UNCHECKED_REF);
     }
     else
     {
         return(FT_CHECKED_REF);
     }
 }
示例#15
0
        public static VerifyItem CreateVerifyItem(VerifyType type, XElement node, VerifyGroup group)
        {
            try
            {
                switch (type)
                {
                    case VerifyType.Registry:
                        return new RegistryItem(node, group);

                    case VerifyType.File:
                        return new FileItem(node, group);

                    case VerifyType.Version:
                        return new VersionItem(node, group);

                    case VerifyType.Uninstall:
                        return new UnintallItem(node, group);

                    case VerifyType.Database:
                        return new DatabaseItem(node, group);

                    case VerifyType.COM:
                        return new COMItem(node, group);

                    case VerifyType.WinService:
                        return new WinServiceItem(node, group);

                    case VerifyType.EventLog:
                        return new EventLogItem(node, group);

                    case VerifyType.GACAssembly:
                        return new GACAssemblyItem(node, group);

                    default:
                        node.Add(new XAttribute("information", string.Format("{0} not defined to verify", type)));
                        return new ErrorItem(node, group);
                }

            }
            catch(Exception ex)
            {
                var errorNode = new XElement("item");
                errorNode.Add(new XAttribute("name", "Create item error"));
                errorNode.Add(new XAttribute("information", ex.Message));

                return new ErrorItem(errorNode, group);
            }
        }
示例#16
0
        public void SendVerifyCode(string mobile, VerifyType verifyType)
        {
            ExceptionHelper.ThrowIfNullOrWhiteSpace(mobile, "mobile");
            ExceptionHelper.ThrowIfTrue(!StringRule.VerifyMobile(mobile), "mobile", "手机号码格式不正确");
            switch (verifyType)
            {
                case VerifyType.Common:
                case VerifyType.FormatPwd:
                    if (!_UserRepository.Entities.Any(u => u.mobile == mobile.Trim()))
                        throw new Flh.FlhException(ErrorCode.NotExists, "该手机未注册");
                    break;
                case VerifyType.ChangeMobile:
                case VerifyType.Register:
                    if (_UserRepository.Entities.Any(u => u.mobile == mobile.Trim()))
                        throw new Flh.FlhException(ErrorCode.Exists, "该手机已被注册");
                    break;
            }
            var entity = GetValidityCode(mobile);

            var message = String.Empty;
            if (entity == null || entity.createDate.AddMinutes(10) < DateTime.Now)
            {
                var code = CreateCode();

                using (var scope = new TransactionScope())
                {
                    _VerifyCodeRepository.Delete(vc => vc.mobile == mobile);
                    _VerifyCodeRepository.Add(entity = new Data.VerifyCode
                    {
                        code = code,
                        createDate = DateTime.Now,
                        mobile = mobile,
                        endDate = DateTime.Now.AddMinutes(30)
                    });

                    _VerifyCodeRepository.SaveChanges();

                    SendSmsMessage(mobile, verifyType, code);

                    scope.Complete();
                }
            }
            else
            {
                SendSmsMessage(mobile, verifyType, entity.code);
            }
        }
示例#17
0
        /// <summary>
        /// 功能描述:生成一个TextBox
        /// </summary>
        /// <param name="htmlHelper">HtmlHelper</param>
        /// <param name="strName">绑定名称</param>
        /// <param name="verifyType">验证规则</param>
        /// <param name="strValue">值</param>
        /// <param name="strplaceholder">水印文字</param>
        /// <param name="blnReadOnly">是否只读</param>
        /// <param name="blnDisabled">是否禁用</param>
        /// <returns>返回值</returns>
        public static MvcHtmlString TextBoxEx(
            this HtmlHelper htmlHelper,
            string strName,
            VerifyType verifyType,
            string strValue             = "",
            string strPlaceholder       = "",
            bool blnReadOnly            = false,
            bool blnDisabled            = false,
            string strVerificationRegex = "",
            string strVerificationMsg   = "")
        {
            string strHtml = string.Format(" <input type=\"text\" name=\"{0}\" id=\"{0}\" lay-verify=\"{1}\" autocomplete=\"off\" class=\"layui-input\" {2} {3} {4} value=\"{5}\" verify-custom=\"{6}\" verify-custom-msg=\"{7}\"/>",
                                           strName, (verifyType == VerifyType.none ? "" : verifyType.ToEnumString()), (!strPlaceholder.IsEmpty() ? "placeholder=\"" + strPlaceholder + "\"" : ""),
                                           blnReadOnly ? "readonly" : "", blnDisabled ? "disabled" : "", strValue, strVerificationRegex, strVerificationMsg);

            return(new MvcHtmlString(strHtml));
        }
        /// <summary>
        /// </summary>
        /// <param name="account"></param>
        /// <param name="expireTimeMinutes"></param>
        /// <param name="verifyType"></param>
        public EmailVerifier(User account, int expireTimeMinutes, VerifyType verifyType)
        {
            if (account == null)
            {
                throw new ArgumentNullException("account");
            }

            if (expireTimeMinutes <= 0)
            {
                throw new ArgumentOutOfRangeException("expireTimeMinut should be larger than 0.");
            }
            CreateTime = DateTime.Now;
            PrivateKey = Guid.NewGuid().ToString("N");
            Account    = account;
            ExpireTime = expireTimeMinutes;
            Type       = verifyType;
        }
示例#19
0
        //simple switch on enum to direct reporting.
        private static void Verify(VerifyType t)
        {
            switch (t)
            {
            case VerifyType.String:
                UnorderedLinkedList <string> listString = new UnorderedLinkedList <string>();
                foreach (string z in TestStrings())
                {
                    string y = z;
                    listString.insert(ref y);
                }


                PrintStringTest(listString);

                break;

            case VerifyType.Int:
                UnorderedLinkedList <int> listInt = new UnorderedLinkedList <int>();
                foreach (int z in TestInts())     //Load list with int
                {
                    int y = z;
                    listInt.insert(ref y);
                }

                PrintIntTest(listInt);
                break;

            case VerifyType.Double:
                UnorderedLinkedList <double> listDouble = new UnorderedLinkedList <double>();
                foreach (double z in TestDoubles())
                {
                    double y = z;
                    listDouble.insert(ref y);
                }
                PrintDoubleTest(listDouble);
                break;

            default:
                break;
            }

            Console.Write("\n\nPress <ENTER> to Continue");
            Console.ReadKey();
        }
示例#20
0
 private void SendSmsMessage(string mobile, VerifyType verifyType, string code)
 {
     ExceptionHelper.ThrowIfNullOrEmpty(mobile, "mobile");
     ExceptionHelper.ThrowIfNullOrEmpty(code, "code");
     using (var scope = new System.Transactions.TransactionScope())
     {
         var history = new Data.SmsHistory
         {
             content = String.Format("发送手机验证码:{0}", code),
             created = DateTime.Now,
             mobile  = mobile.Trim(),
         };
         _SmsHistoryRepository.Add(history);
         _SmsHistoryRepository.SaveChanges();
         //TODO:发送信息
         scope.Complete();
     }
 }
        public void ChangeGoogleState(VerifyType verifyType, bool isAPIKey)
        {
            Brush  brush;
            string text;

            switch (verifyType)
            {
            case VerifyType.Verified:
                brush = Brushes.Green;
                text  = "인증됨";
                break;

            case VerifyType.NotChecked:
                brush = Brushes.DarkOrange;
                text  = "확인되지 않음";
                break;

            case VerifyType.Invalid:
            default:
                brush = Brushes.Red;
                text  = "유효하지 않음";
                break;
            }

            if (isAPIKey)
            {
                // API Key
                tbGoogleAPIKey.Foreground = brush;
                runGoogleAPIKey.Text      = _hiddenText;
                runGoogleAPIVert.Text     = text;
                IsGoogleEncrypt           = true;

                GoogleAPIVerifyType = verifyType;
            }
            else
            {
                // Engine ID
                tbGoogleEngineID.Foreground = brush;
                runGoogleEngineID.Text      = GoogleEngineID;
                runGoogleEngineIDVert.Text  = text;

                GoogleEngineIDVerifyType = verifyType;
            }
        }
示例#22
0
        /// <summary>
        /// 功能描述:生成一个日期时间范围控件
        /// </summary>
        /// <param name="htmlHelper">HtmlHelper</param>
        /// <param name="strName">绑定名称</param>
        /// <param name="verifyType">验证规则</param>
        /// <param name="strPlaceholder">水印文字</param>
        /// <param name="strFormat">日期时间格式</param>
        /// <param name="blnReadOnly">是否只读</param>
        /// <returns>返回值</returns>
        public static MvcHtmlString DateTimeRangeBox(
            this HtmlHelper htmlHelper,
            string strName,
            VerifyType verifyType,
            string strPlaceholder = "",
            string strFormat      = "yyyy-MM-dd HH:mm:ss",
            bool blnReadOnly      = true)
        {
            StringBuilder strHtml = new StringBuilder();

            strHtml.AppendLine(string.Format(" <input type=\"text\" name=\"{0}\" id=\"{0}\" lay-verify=\"{1}\" autocomplete=\"off\" class=\"layui-input\" {2} {3}/>",
                                             strName, (verifyType == VerifyType.none ? "" : verifyType.ToString()), (!strPlaceholder.IsEmpty() ? "placeholder=\"" + strPlaceholder + "\"" : ""),
                                             blnReadOnly ? "readonly=\"\"" : ""));
            strHtml.AppendLine("<script>");
            strHtml.AppendLine("$(document).ready(function () {");
            strHtml.AppendLine("    tool.Date.setDateTimeRangeBox('" + strName + "','" + strFormat + "');");
            strHtml.AppendLine("});");
            strHtml.AppendLine("</script>");
            return(new MvcHtmlString(strHtml.ToString()));
        }
示例#23
0
    public static string GetVerifyMessage(VerifyType verifyType)
    {
        if (ms_VerifyMessages == null)
        {
            ms_VerifyMessages = new string[(int)VerifyType.End];

            ms_VerifyMessages[(int)VerifyType.TabOrLineBreak]        = string.Format("包含非法字符(\"\\t\", \"\\r\\n\")\n请在保存前运行(移除所有制表符并转换所有换行符)工具");
            ms_VerifyMessages[(int)VerifyType.HeadAndTailWhiteSpace] = string.Format("头尾有空白字符");
            ms_VerifyMessages[(int)VerifyType.RepeatCellInRow]       = string.Format("有内容重复的单元格");

            for (int iMessage = 0; iMessage < ms_VerifyMessages.Length; iMessage++)
            {
                if (string.IsNullOrEmpty(ms_VerifyMessages[iMessage]))
                {
                    MessageBox.Show(string.Format("是不是添加了新校验规则({0})后没填写校验提示消息", (VerifyType)iMessage), "提示");
                }
            }
        }
        return(ms_VerifyMessages[(int)verifyType]);
    }
示例#24
0
        public async Task <IActionResult> SendSMS(string phoneNumber, VerifyType type)
        {
            string random     = (new Random().Next() % 900000L + 100000L).ToString();
            string exp        = _configuration.GetSection("SMSSettings")["Exp"] ?? "30";
            int    templateId = Convert.ToInt32(_configuration.GetSection("SMSSettings")["VerifyTemplateId"]);
            var    result     = await _smsSender.SendVerifySMSAsync(phoneNumber, templateId, new[] { random, exp }, type);

            if (result.result == 0)
            {
                return(Ok(new ApiResult()
                {
                    Data = null, Error_Code = 0, Msg = "验证短信发送成功", Request = "Post /api/verify/sms"
                }));
            }
            else if (result.result == 1016)
            {
                _logger.LogError(result.result.ToString(), result);
                return(BadRequest(new ApiResult()
                {
                    Data = null, Error_Code = 400, Msg = "手机号格式错误", Request = "Post /api/verify/sms"
                }));
            }
            else if ((result.result >= 1022 && result.result <= 1026) || result.result == 1013)
            {
                _logger.LogError(result.result.ToString(), result);
                return(BadRequest(new ApiResult()
                {
                    Data = null, Error_Code = 400, Msg = "单个手机号下发短信条数超过设定的上限,请联系客服", Request = "Post /api/verify/sms"
                }));
            }
            else if (result.result == 1008)
            {
                return(await SendSMS(phoneNumber, type));
            }
            else
            {
                _logger.LogError(result.result.ToString(), result);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
示例#25
0
 /// <summary>
 /// 后台管理员审核
 /// </summary>
 /// <param name="content"></param>
 /// <param name="user"></param>
 public void VerifyByUser(int userId, string content, VerifyType verifyType)
 {
     if (CanVerifyByUser())
     {
         this.VerifyStatus = (AccountVerifyStatus)Enum.Parse(typeof(AccountVerifyStatus), verifyType.ToString());
         this.AccountVerifies.Add(new AccountVerify()
         {
             AccountId  = this.ID,
             Content    = content,
             CreateTime = DateTime.Now,
             Status     = this.VerifyStatus,
             UserId     = userId,
         });
         DomainEvents.Publish(new VerifyByUserEvent()
         {
             Account = this
         });
     }
     else
     {
         throw new VerifyApplyException("当前不允许审核");
     }
 }
示例#26
0
 /// <summary>
 /// 数据验证
 /// </summary>
 /// <param name="entity">实体</param>
 /// <param name="repeatVerify">委托</param>
 /// <returns></returns>
 public bool Verification(T entity, VerifyType type)
 {
     return(false);
 }
示例#27
0
 private static DataGridViewConsoleForm.Message CreateMessage(DataGridViewConsoleForm.Level level, int rowIdx, int colIdx, VerifyType verifyType)
 {
     GetVerifyMessage(verifyType, out string messageCaption, out string messageText);
     DataGridViewConsoleForm.Message message = new DataGridViewConsoleForm.Message
     {
         Level   = level,
         Row     = rowIdx,
         Column  = colIdx,
         Caption = messageCaption,
         Text    = messageText
     };
     return(message);
 }
示例#28
0
        internal List<VerificationItem> GetVerificationItems(XElement element, string attributeName, VerifyType verifyType)
        {
            if (!element.HasAttributes)
                return new List<VerificationItem>();

            var items = new List<KeyValuePair<int, string>>();

            //
            // Take the attributes (e.g. verifypositive1="", verifypositive3="", verifypositive2="") and put them into an ordered list
            //
            IEnumerable<XAttribute> attributes = element.Attributes().Where(x => x.Name.LocalName.ToLower().StartsWith(attributeName));
            foreach (XAttribute attribute in attributes)
            {
                int index = 0;

                string currentAttributeName = attribute.Name.LocalName.ToLower();
                currentAttributeName = currentAttributeName.Replace(attributeName, "");
                if (!string.IsNullOrEmpty(attributeName))
                {
                    int.TryParse(currentAttributeName, out index);
                }

                items.Add(new KeyValuePair<int, string>(index, attribute.Value));
            }

            return items.OrderBy(x => x.Key)
                        .Select(x => new VerificationItem(attributeName + x.Key, x.Value, verifyType))
                        .ToList();
        }
示例#29
0
 private void SendSmsMessage(string mobile, VerifyType verifyType, string code)
 {
     ExceptionHelper.ThrowIfNullOrEmpty(mobile, "mobile");
     ExceptionHelper.ThrowIfNullOrEmpty(code, "code");
     using (var scope = new System.Transactions.TransactionScope())
     {
         var history = new Data.SmsHistory
         {
             content = String.Format("发送手机验证码:{0}", code),
             created = DateTime.Now,
             mobile = mobile.Trim(),
         };
         _SmsHistoryRepository.Add(history);
         _SmsHistoryRepository.SaveChanges();
         //TODO:发送信息
         scope.Complete();
     }
 }
示例#30
0
        public Task <SmsSingleSenderResult> SendVerifySMSAsync(string phoneNumber, int templateId, string[] parameters, VerifyType type)
        {
            return(Task.Run(() =>
            {
                try
                {
                    SmsSingleSender ssender = new SmsSingleSender(_appId, _appKey);
                    var result = ssender.sendWithParam("86", phoneNumber,
                                                       templateId, parameters, _sign, "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信
                    _applicationDbContext.SMSVerifyRecord.Add(new Models.SMSVerifyRecord()
                    {
                        Sid = result.sid,
                        PhoneNumber = phoneNumber,
                        Code = parameters?[0],
                        Deadline = DateTime.Now.AddMinutes(Convert.ToDouble(parameters?[1])),
                        Type = type
                    });
                    _applicationDbContext.SaveChanges();

                    return result;
                }
                catch (Exception ex)
                {
                    return new SmsSingleSenderResult()
                    {
                        result = -1, errMsg = ex.InnerException.Message
                    };
                }
            }));
        }
示例#31
0
        public async Task <ActionResult> EditCompetition(EditOrderViewModel model, VerifyType verifyType = VerifyType.None, string verifystr = "")
        {
            if (SessionManager.UserID == Guid.Empty)
            {
                return(new ContentResult {
                    Content = $"LogOutError"
                });
            }

            //驗證碼
            //if (captchaRequired && (string.IsNullOrWhiteSpace(captcha) || SessionManager.Captcha != captcha))
            //{
            //    var result = new CiResult { Message = SystemMessage.CaptchaError };
            //    return Json(result);
            //}
            //SessionManager.Captcha = null;

            //驗證電話
            if (verifyType == VerifyType.PhoneNumber)
            {
                var checkUser = userService.GetbyPhone(verifystr);
                if (checkUser?.ID != SessionManager.UserID)
                {
                    var result = new CiResult {
                        Message = "電話驗證錯誤"
                    };
                    return(Json(result));
                }
            }

            if (model.OrderViewModel.Order.ID == Guid.Empty)
            {
                //create
                if (model.OrderViewModel.OrderDetails != null)
                {
                    //項目拆開-每個項目一個團隊
                    var newOrderDetails = new List <EditOrderDetail>();
                    foreach (var detail in model.OrderViewModel.OrderDetails)
                    {
                        for (int i = 0; i < detail.Quantity; i++)
                        {
                            newOrderDetails.Add(new EditOrderDetail
                            {
                                ItemID   = detail.ItemID,
                                Quantity = 1
                            });
                        }
                    }
                    model.OrderViewModel.OrderDetails = newOrderDetails;
                }

                if (!model.OrderViewModel.OrderDetails.Any())
                {
                    return(Json(new CiResult {
                        Message = "未選擇隊數"
                    }));                                            //return error
                }

                return(await OrderCreate(model.OrderViewModel));
            }
            else
            {
                //save
                if (model.Block == OrderEditBlock.OrderItem)
                {
                    if (model.OrderViewModel.OrderDetails != null)
                    {
                        foreach (var detail in model.OrderViewModel.OrderDetails)
                        {
                            if (detail.DetailMemberID == null)
                            {
                                return(Json(new CiResult {
                                    Message = "未選擇選手"
                                }));                                            //return error
                            }
                            //數量=選手數量
                            detail.Quantity = detail.DetailMemberID.Count();
                        }
                    }
                }

                return(await OrderUpdate(model, sendMail : false));
            }
        }
示例#32
0
 public ActionResult SendVerifyCode(string mobile, VerifyType kind)
 {
     _MobileManager.SendVerifyCode(mobile, kind);
     return(SuccessJsonResult());
 }
示例#33
0
 /// <summary>
 /// ��̨����Ա���
 /// </summary>
 /// <param name="content"></param>
 /// <param name="user"></param>
 public void VerifyByUser(string content, User user, VerifyType verifyType)
 {
     if (CanVerifyByUser)
     {
         if (user == null) throw new ArgumentNullException("user");
         this.VerifyStatus = (AccountVerifyStatus)Enum.Parse(typeof(AccountVerifyStatus), verifyType.ToString());
         this.AccountVerifies.Add(new AccountVerify()
         {
             AccountId = this.ID,
             Content = content,
             CreateTime = DateTime.Now,
             IsAdmin = true,
             Status = this.VerifyStatus,
             VerifyAccountId = user.ID,
             VerifyAccount = user.UserName,
         });
         if (verifyType == VerifyType.Verified)
         {
             this.Status = AccountStatus.Initiation;
         }
     }
 }
示例#34
0
 public VerifyItem GenerateVerifyItem(VerifyType type, XElement itemNode)
 {
     return VerifyItemFactory.CreateVerifyItem(type, itemNode, this);
 }
示例#35
0
 /// <summary>
 /// ��̨����Ա���
 /// </summary>
 /// <param name="content"></param>
 /// <param name="user"></param>
 public void VerifyByUser(int userId, string content, VerifyType verifyType)
 {
     if (CanVerifyByUser())
     {
         this.VerifyStatus = (AccountVerifyStatus)Enum.Parse(typeof(AccountVerifyStatus), verifyType.ToString());
         this.AccountVerifies.Add(new AccountVerify()
         {
             AccountId = this.ID,
             Content = content,
             CreateTime = DateTime.Now,
             Status = this.VerifyStatus,
             UserId = userId,
         });
         DomainEvents.Publish(new VerifyByUserEvent() { Account = this });
     }
     else
     {
         throw new VerifyApplyException("��ǰ���������");
     }
 }
示例#36
0
 public VerificationItem(string description, string regex, VerifyType verifyType)
 {
     Description = description;
     Regex = regex;
     VerifyType = verifyType;
 }
示例#37
0
 public ActionResult SendVerifyCode(string mobile, VerifyType kind)
 {
     _MobileManager.SendVerifyCode(mobile, kind);
     return SuccessJsonResult();
 }