예제 #1
0
        private string GenerateToken(ActivationCodeReq activationCode)
        {
            var clearText     = activationCode.Code + activationCode.Tel + DateTime.Now.Ticks;
            var encryptedText = Encrypt(clearText);

            return(encryptedText);
        }
예제 #2
0
 public HttpResponseMessage Post(ActivationCodeReq activationCode)
 {
     if (ModelState.IsValid)
     {
         var result = BL.Business.Account.CheckActivationCode.CheckActivation(activationCode);
         if (!result.IsOk)
         {
             Response = Request.CreateResponse(HttpStatusCode.InternalServerError, result.Error.ErrorMessage);
         }
         else
         {
             Response = Request.CreateResponse(HttpStatusCode.OK, result);
         }
     }
     else
     {
         Response = Request.CreateResponse(HttpStatusCode.BadRequest);
     }
     return(Response);
 }
예제 #3
0
 public static bool ExistActivationByUser(ActivationCodeReq activationCode)
 {
     try
     {
         using (var dbCtx = new MSDbContext())
         {
             var userActiovation = (from a in dbCtx.Activations
                                    join u in dbCtx.Users on a.UserId equals u.Id
                                    where a.ActivationCode == activationCode.Code &&
                                    u.Tel == activationCode.Tel &&
                                    a.IsActive
                                    select new { a, u }).FirstOrDefault();
             return(userActiovation != null);
         }
     }
     catch (Exception e)
     {
         var ex = new SelectFromDataBaseException(ExceptionMessage.ExistActivationByUser, e);
         Logger.Log.Error(ex.Message, ex);
         throw ex;
     }
 }
예제 #4
0
        private Result <DMLResultResp> IsActivationCodeValid(ActivationCodeReq activationCode)
        {
            Result <DMLResultResp> result;

            try
            {
                var checkValidity = DA.Queries.UserAccounts.ExistActivationByUser(activationCode);
                if (checkValidity)
                {
                    result = new Result <DMLResultResp>(null, null, true);
                }
                else
                {
                    result = new Result <DMLResultResp>(null, new Error(ErrorMessage.ActivationCodeIsNotValid), false);
                }
            }
            catch (Exception e)
            {
                Logger.Log.Error(e.Message, e);
                result = new Result <DMLResultResp>(null, new Error(ErrorMessage.LoadActivationByUserError), false);
            }

            return(result);
        }
예제 #5
0
 private CheckActivationCode(ActivationCodeReq activationCode)
 {
     _activationCode = activationCode;
 }
예제 #6
0
        public static Result <TokenResp> CheckActivation(ActivationCodeReq activationCode)
        {
            var checkActivationCode = new CheckActivationCode(activationCode);

            return(checkActivationCode.CheckActivationCodeOperation());
        }
예제 #7
0
 private TokenUtils(ActivationCodeReq activationCode)
 {
     _activationCode = activationCode;
 }
예제 #8
0
        public static Result <TokenResp> GetNewToken(ActivationCodeReq activationCode)
        {
            var tokenOperation = new TokenUtils(activationCode);

            return(tokenOperation.GenerateTokenOperation());
        }