コード例 #1
0
 public static int InsertActivation(NewActivationReq newActivation)
 {
     try
     {
         var activation = new Activation()
         {
             UserId         = newActivation.UserId,
             ActivationCode = newActivation.ActicationCode.ToString(),
             IsActive       = true
         };
         using (var dbCtx = new MSDbContext())
         {
             dbCtx.Activations.Add(activation);
             int result = dbCtx.SaveChanges();
             if (result == 1)
             {
                 return(activation.Id);
             }
             else
             {
                 throw new Exception();
             }
         }
     }
     catch (Exception e)
     {
         var ex = new InsertIntoDataBaseException(ExceptionMessage.InsertIntoActivationsException, e);
         Logger.Log.Error(ex.Message, ex);
         throw ex;
     }
 }
コード例 #2
0
        private Result <NewUserResp> AddNewUserOperation()
        {
            Result <DMLResultResp> validationResult = IsNewUserValid(_newUser);
            Result <NewUserResp>   result;

            if (!validationResult.IsOk)
            {
                result = new Result <NewUserResp>(null, validationResult.Error, false);
            }
            else
            {
                bool             smsSentResult;
                int              activationCodeId;
                DA.Entities.User user = null;
                try
                {
                    user = DA.Queries.UserAccounts.SelectUserByTel(_newUser.Tel);
                }
                catch (Exception e)
                {
                    Logger.Log.Error(e.Message, e);
                    result = new Result <NewUserResp>(null, new Error(ErrorMessage.LoadUserByTelError), false);
                    return(result);
                }

                if (user == null)
                {
                    int userId;
                    try
                    {
                        userId = DA.Queries.UserAccounts.InsertUser(_newUser);
                    }
                    catch (Exception e)
                    {
                        Logger.Log.Error(e.Message, e);
                        result = new Result <NewUserResp>(null, new Error(ErrorMessage.AddNewUserError), false);
                        return(result);
                    }

                    NewActivationReq newActivation = new NewActivationReq(userId, Utility.Random.GetRandomNumber());
                    try
                    {
                        activationCodeId = DA.Queries.UserAccounts.InsertActivation(newActivation);
                    }
                    catch (InsertIntoDataBaseException e)
                    {
                        DA.Queries.UserAccounts.DeleteUser(userId);
                        Logger.Log.Error(e.Message, e);
                        result = new Result <NewUserResp>(null, new Error(ErrorMessage.AddNewActivationError), false);
                        return(result);
                    }
                    smsSentResult = Message.SendSms(_newUser.Tel, String.Format(Message.ActivationCodeMessage, newActivation.ActicationCode, _newUser.Name));
                }
                else
                {
                    NewActivationReq newActivation = new NewActivationReq(user.Id, Utility.Random.GetRandomNumber());
                    activationCodeId = DA.Queries.UserAccounts.InsertActivation(newActivation);
                    smsSentResult    = Message.SendSms(_newUser.Tel, String.Format(Message.ActivationCodeMessage, newActivation.ActicationCode, _newUser.Name));
                }
                result = new Result <NewUserResp>(new NewUserResp(activationCodeId, smsSentResult), null, true);
            }
            return(result);
        }