예제 #1
0
        public VoidResult SendCustomerWalletActivationCode()
        {
            try
            {
                var userId = ClaimPrincipalFactory.GetUserId(User);
                var user   = _repository.Users.FindByCondition(c => c.Id == userId).FirstOrDefault();

                var now = DateTime.Now.Ticks;
                if (_repository.UserActivation
                    .FindByCondition(c => c.UserId == userId && c.EndDateTime > now && c.LoginType == 3).Any())
                {
                    var ress = VoidResult.GetFailResult("کد فعالسازی قبلا برای شما ارسال گردیده است.");
                    _logger.LogData(MethodBase.GetCurrentMethod(), ress, null);
                    return(ress);
                }

                var random = new Random();
                var code   = random.Next(1000, 9999);

                user.UserActivation.Add(new UserActivation
                {
                    SendedCode  = code,
                    EndDateTime = DateTime.Now.AddMinutes(2).Ticks,
                    Cdate       = DateTime.Now.Ticks,
                    LoginType   = 3,
                    UserId      = userId
                });

                var sms      = new SendSMS();
                var bb       = sms.SendWalletActivationSms(user.Mobile.Value, code, user.FullName);
                var finalres = VoidResult.GetSuccessResult("کد فعال سازی برای کیف پول ، با موفقیت ارسال شد");
                _logger.LogData(MethodBase.GetCurrentMethod(), finalres, null);
                return(finalres);
            }
            catch (Exception e)
            {
                _logger.LogError(e, MethodBase.GetCurrentMethod());
                return(VoidResult.GetFailResult(e.Message));
            }
        }