public bool SendEmailCode(int userId, ActivationCodeModel codeModel)
        {
            SmtpClient client = GetSmtpClient();
            var        user   = _unitOfWork.UserRepository.FindSingleBy(u => u.Id == userId);

            string emailFrom = BusinessSettings.SmtpUserName;
            string emailTo   = user.Email;
            string subject   = "Classified Activation";
            string body      = codeModel.Code;

            using (MailMessage mail = new MailMessage())
            {
                mail.From = new MailAddress(emailFrom);
                mail.To.Add(emailTo);
                mail.Subject    = subject;
                mail.Body       = body;
                mail.IsBodyHtml = true;
                try
                {
                    client.Send(mail);
                    return(true);
                }
                catch (Exception)
                {
                    return(false);
                }
            }
        }
        public ActivationCodeModel GenerateCode(int userId, string reason)
        {
            _unitOfWork.ActivationCodeRepository.Delete(x => x.UserId == userId && x.Reason == reason);
            _unitOfWork.Save();
            string   code     = RandomString(6);
            DateTime issuedOn = BusinessSettings.ServerNow;

            DateTime expiredOn      = BusinessSettings.ServerNow.AddDays(1);
            var      activationCode = new ActivationCode
            {
                UserId    = userId,
                Code      = code,
                IssuedOn  = issuedOn,
                ExpiresOn = expiredOn,
                Reason    = reason
            };

            Mapper.CreateMap <User, UserModel>();
            var userModel = Mapper.Map <User, UserModel>(_unitOfWork.UserRepository.FindSingleBy(u => u.Id == userId));

            _unitOfWork.ActivationCodeRepository.Add(activationCode);
            _unitOfWork.Save();
            var activatopnCodeModel = new ActivationCodeModel()
            {
                UserId    = userId,
                IssuedOn  = issuedOn,
                Code      = code,
                ExpiresOn = expiredOn,
                Reason    = reason,
                User      = userModel
            };

            return(activatopnCodeModel);
        }
        public async Task <SyriatelWebService.SendSMSResponse> SendCode(int userId, ActivationCodeModel codeModel)
        {
            SyriatelWebService.APISoapClient   client   = new SyriatelWebService.APISoapClient();
            SyriatelWebService.SendSMSResponse response = await client.SendSMSAsync(BusinessSettings.SyriatelJobName,
                                                                                    BusinessSettings.SyriatelUserName,
                                                                                    BusinessSettings.SyriatelPassword,
                                                                                    codeModel.Code,
                                                                                    BusinessSettings.SyriatelSender,
                                                                                    _unitOfWork.UserRepository.FindSingleBy(u => u.Id == userId).GSM,
                                                                                    //"041111",
                                                                                    null,
                                                                                    null,
                                                                                    null);

            return(response);
        }
Esempio n. 4
0
        public void AddActivationCode(string actCode)
        {
            using (_repository)
            {
                var code = new ActivationCodeModel
                {
                    ActivationCode   = actCode,
                    ActivationCodeId = Guid.NewGuid().ToString()
                }.SerializeAndEncrypt();


                if (_repository.GetCallCenterId() <= 0)
                {
                    _repository.AddActivationCode(code);
                }
                else
                {
                    _repository.UpdateActivationCode(code);
                }
            }
        }