/// <summary>
        /// Complete Registration for the user
        /// </summary>
        /// <returns>IResult the result of whole registration process</returns>
        public IResult RegisterUser()
        {
            string message = "";

            string   email    = registrationRequest.Email;
            string   fname    = registrationRequest.Firstname;
            string   lname    = registrationRequest.Lastname;
            DateTime dob      = registrationRequest.Dob;
            string   password = registrationRequest.Password;

            // Generate salt and hash password
            Hasher     hasher     = new Hasher(algorithm);
            HashObject hash       = hasher.GenerateSaltedHash(password);
            string     hashedPw   = hash.HashedValue;
            string     salt       = hash.Salt;
            Account    newAccount = new Account(email, hashedPw, salt);

            ICreateAccountDAO newAccountDAO = new SqlCreateAccountDAO(Environment.GetEnvironmentVariable("sqlConnectionAccount", EnvironmentVariableTarget.User));
            ICreateAccountDAO newMappingDAO = new SqlCreateAccountDAO(Environment.GetEnvironmentVariable("sqlConnectionMapping", EnvironmentVariableTarget.User));
            IMapperDAO        mapperDAO     = new SqlMapperDAO(Environment.GetEnvironmentVariable("sqlConnectionMapping", EnvironmentVariableTarget.User));
            ICreateAccountDAO newUserDAO    = new SqlCreateAccountDAO(Environment.GetEnvironmentVariable("sqlConnectionSystem", EnvironmentVariableTarget.User));

            CreateAccountDAOs     daos = new CreateAccountDAOs(newAccountDAO, newMappingDAO, newUserDAO, mapperDAO);
            ICreateAccountService cas  = new SqlCreateAccountService(newAccount, daos);
            IResult checkResult        = cas.Create();

            message = message + checkResult.Message;
            bool ifSuccess = checkResult.IsSuccess;

            if (ifSuccess)
            {
                int sysID = mapperDAO.GetSysID(email);
                if (sysID != -1)
                {
                    ISqlDAO DAO     = new SqlDAO(Environment.GetEnvironmentVariable("sqlConnectionSystem", EnvironmentVariableTarget.User));
                    User    newUser = new User(sysID, email, fname, lname, "Enable", dob, "male");
                    UpdateAccountSqlService updateAccount = new UpdateAccountSqlService(newUser, DAO);
                    checkResult = updateAccount.Update();
                    message     = message + checkResult.Message;
                    ifSuccess   = checkResult.IsSuccess;
                }
                else
                {
                    ifSuccess = false;
                    message   = message + "failed to Retrieve sysID";
                }
            }

            return(new CheckResult(message, ifSuccess));
        }
 /// <summary>
 /// Creates a user associated with an account for testing
 /// </summary>
 /// <param name="rcvid">SystemID of the user to be created</param>
 /// <param name="userEmail">Email of the user to be created</param>
 /// <param name="firstname">First name of user to be created</param>
 /// <param name="lastname">Last name of user to be created</param>
 /// <returns></returns>
 private User CreateUser(int rcvid, string userEmail, string firstname, string lastname)
 {
     try
     {
         var user   = new User(rcvid, userEmail, firstname, lastname, "Enable", GetDateTime.GetUTCNow(), "Female");
         var update = new UpdateAccountSqlService(user, _dao);
         update.Update();
         return(user);
     }
     catch (Exception e)
     {
         Trace.WriteLine(e);
         return(null);
     }
 }
 public UserManagementManager(JWTService authService, AuthenticationService authenticationService, SqlCreateAccountService createAccountService, DeleteAccountSQLService deleteAccountService, UpdateAccountSqlService updateAccountService, PermissionUpdateSqlService updatePermissionService)
 {
     //_newAccountDAO = new SqlCreateAccountDAO(Environment.GetEnvironmentVariable("sqlConnectionAccount", EnvironmentVariableTarget.User));
     //_newMappingDAO = new SqlCreateAccountDAO(Environment.GetEnvironmentVariable("sqlConnectionMapping", EnvironmentVariableTarget.User));
     //_newUserDAO = new SqlCreateAccountDAO(Environment.GetEnvironmentVariable("sqlConnectionSystem", EnvironmentVariableTarget.User));
     //_mapperDAO = new SqlMapperDAO(Environment.GetEnvironmentVariable("sqlConnectionMapping", EnvironmentVariableTarget.User));
     //_systemDB = new SqlDAO(Environment.GetEnvironmentVariable("sqlConnectionSystem", EnvironmentVariableTarget.User));
     //_mappingDB = new SqlDAO(Environment.GetEnvironmentVariable("sqlConnectionMapping", EnvironmentVariableTarget.User));
     //_accountDB = new SqlDAO(Environment.GetEnvironmentVariable("sqlConnectionAccount", EnvironmentVariableTarget.User));
     _updatePermissionService = updatePermissionService;
     _updateAccountService    = updateAccountService;
     _createAccountService    = createAccountService;
     _deleteAccountService    = deleteAccountService;
     _authNService            = authenticationService;
     _authService             = authService;
 }
        public UserManagementManager()
        {
            var sqlDao           = new SqlDAO(Environment.GetEnvironmentVariable("sqlConnectionSystem", EnvironmentVariableTarget.User));
            var createAccountDAO = new SqlCreateAccountDAO(Environment.GetEnvironmentVariable("sqlConnectionAccount", EnvironmentVariableTarget.User));
            var newMappingDAO    = new SqlCreateAccountDAO(Environment.GetEnvironmentVariable("sqlConnectionMapping", EnvironmentVariableTarget.User));
            var newUserDAO       = new SqlCreateAccountDAO(Environment.GetEnvironmentVariable("sqlConnectionSystem", EnvironmentVariableTarget.User));
            var mapperDAO        = new SqlMapperDAO(Environment.GetEnvironmentVariable("sqlConnectionMapping", EnvironmentVariableTarget.User));
            var bunchedDaos      = new CreateAccountDAOs(createAccountDAO, newMappingDAO, newUserDAO, mapperDAO);

            _updatePermissionService = new PermissionUpdateSqlService(new SqlDAO(Environment.GetEnvironmentVariable("sqlConnectionSystem", EnvironmentVariableTarget.User)), new SqlMapperDAO(Environment.GetEnvironmentVariable("sqlConnectionMapping", EnvironmentVariableTarget.User)));
            _updateAccountService    = new UpdateAccountSqlService(new SqlDAO(Environment.GetEnvironmentVariable("sqlConnectionSystem", EnvironmentVariableTarget.User)));
            _createAccountService    = new SqlCreateAccountService(bunchedDaos);
            _deleteAccountService    = new DeleteAccountSQLService(new SqlDAO(Environment.GetEnvironmentVariable("sqlConnectionSystem", EnvironmentVariableTarget.User)), new SqlDAO(Environment.GetEnvironmentVariable("sqlConnectionMapping", EnvironmentVariableTarget.User)), new SqlDAO(Environment.GetEnvironmentVariable("sqlConnectionAccount", EnvironmentVariableTarget.User)));
            _authNService            = new AuthenticationService(new GetUserDao(Environment.GetEnvironmentVariable("sqlConnectionSystem", EnvironmentVariableTarget.User)));
            _authService             = new JWTService();
        }
예제 #5
0
        public void UpdateTestSuccessful()
        {
            DeleteDummyAccount();
            CreateDummyAccount();

            var result = new CheckResult("All targeted rows have been updated successfully!", true);
            var date   = new DateTime(1998, 11, 13);
            var user   = new User(1, "*****@*****.**", "daniel", "gione", "Enable", date, "Male"); //separate service for enable/disable bc frequent use
            var update = new UpdateAccountSqlService(user, _dao);

            var compare = update.Update();

            DeleteDummyAccount();

            //Assert.IsNotNull(compare)
            Assert.IsTrue(compare.IsSuccess);
            Assert.AreEqual(compare.Message, result.Message);
        }
예제 #6
0
        public void UpdateTestFailure()
        {
            DeleteDummyAccount();
            //CreateDummyAccount();

            var result = new CheckResult("All targeted rows have been updated successfully!", true);
            var date   = new DateTime(1998, 11, 13);
            var user   = new User(1, "*****@*****.**", "daniel", "gione", "Disable", date, "Male");
            //var dao = new UpdateAccountSqlDAO("fakeConnect");

            var update = new UpdateAccountSqlService(user, _dao);

            var compare = update.Update();

            //DeleteDummyAccount();

            Assert.AreNotEqual(compare.IsSuccess, result.IsSuccess);
            Assert.AreNotEqual(compare.Message, result.Message);
        }