Example #1
0
        public UserAccount UpdateUser(IRegistrationModel model)
        {
            string guid = Guid.NewGuid().ToString();

            var curUser = GetCurrentUser();

            model.Id = curUser.Id;

            DateTime date = DateTime.UtcNow;

            if (!string.IsNullOrEmpty(model.Password))
            {
                if (!string.IsNullOrEmpty(model.Old_Password))
                {
                    if (!ConfirmationPassword(curUser, model.Old_Password))
                    {
                        return(curUser);
                    }
                }
                string salt = Md5Manager.EncryptToString(string.Concat(guid, date), Encoding.UTF8);
                string hash = AccountFacade.GenerateHash(model.Password, salt);
                Repository.UpdateUser(date, salt, hash, model);
            }
            else
            {
                Repository.UpdateUser(date, curUser.PasswordSalt, curUser.PasswordHash, model);
            }
            return(Repository.GetUserBy(model.Id));
        }
        /// <summary>
        /// Registration of a new user
        /// </summary>
        private void RegistrationOption()
        {
            Console.WriteLine(StringLiterals.Registration + StringLiterals.EmailId);
            string emailId = Console.ReadLine();

            Console.WriteLine(StringLiterals.ValidPassword);
            string password = Console.ReadLine();

            Console.WriteLine(StringLiterals.ConfirmPassword);
            string confirmPassword = Console.ReadLine();

            Console.WriteLine(StringLiterals.FirstName);
            string firstName = Console.ReadLine();

            Console.WriteLine(StringLiterals.LastName);
            string lastName = Console.ReadLine();

            Console.WriteLine(StringLiterals.IsStudent);
            string isStudent = Console.ReadLine();

            if (Validations.ValidateEmail(emailId) &&
                Validations.ValidatePassword(password) &&
                Validations.VerifyPassword(password, confirmPassword) &&
                Validations.ValidateName(firstName) && Validations.ValidateName(lastName))
            {
                _portalFactory       = new AuthenticationFactory(emailId, password, confirmPassword, firstName, lastName, isStudent);
                _authenticationModel = _portalFactory.GetModel(UserOptionEnum.Registration);
                Console.WriteLine(_authenticationModel.Register());
            }
            else
            {
                Console.WriteLine(StringLiterals.InvalidDetails);
            }
        }
Example #3
0
        public void UpdateUser(DateTime date, string salt, string hash, IRegistrationModel model)
        {
            var entity = new UserAccount();

            entity.Id = model.Id;
            entity.RegistrationDate = date;
            entity.PasswordSalt     = salt;
            entity.PasswordHash     = hash;
            entity.Avatar           = model.Avatar;
            entity.Description      = model.Description;
            entity.Email            = model.Email;
            entity.NickName         = model.NickName;
            var queryBuilder = new StringBuilder();

            queryBuilder.Append("UPDATE UserAccount SET ");
            queryBuilder.Append("RegistrationDate = @RegistrationDate, ");
            queryBuilder.Append("Email = @Email, ");
            queryBuilder.Append("NickName = @NickName, ");
            queryBuilder.Append("PasswordSalt = @PasswordSalt, ");
            queryBuilder.Append("PasswordHash = @PasswordHash, ");
            queryBuilder.Append("Avatar = @Avatar, ");
            queryBuilder.Append("Description = @Description ");
            queryBuilder.Append("WHERE Id = @Id");
            using (var db = new ProfileDbManager(_conn))
            {
                db.SetCommand(queryBuilder.ToString(), db.CreateParameters(entity)).
                ExecuteNonQuery();
            }
        }
Example #4
0
        public UserAccount SaveUser(DateTime date, string salt, string hash, IRegistrationModel model, string facebookId = null, string googleId = null, string twitterId = null)
        {
            var user = new UserAccount();

            user.Id               = model.Id;
            user.NickName         = model.NickName;
            user.Culture          = model.Culture;
            user.Description      = model.Description;
            user.Avatar           = model.Avatar;
            user.SessionId        = string.Empty;
            user.PasswordSalt     = salt;
            user.PasswordHash     = hash;
            user.LoginDate        = date;
            user.RegistrationDate = date;
            user.Hash             = Guid.NewGuid().ToString("N");
            user.Email            = model.Email;
            //if (!string.IsNullOrEmpty(facebookId))
            //    user.FacebookProfile = facebookId;
            //user.Provider = OAuthProvider.FaceBook.ToString();
            //if (!string.IsNullOrEmpty(googleId))
            //    user.GoogleProfile = googleId;
            //if (!string.IsNullOrEmpty(twitterId))
            //    user.TwitterProfile = twitterId;
            SaveUser(user);
            return(user);
        }
Example #5
0
        public UserAccount UpdateUserPassword(IRegistrationModel regmodel)
        {
            var curUser = Repository.GetUsersBy(regmodel.Email);

            if (curUser != null)
            {
                DateTime date = DateTime.UtcNow;
                string   guid = Guid.NewGuid().ToString();
                string   salt = Md5Manager.EncryptToString(string.Concat(guid, date), Encoding.UTF8);
                string   hash = AccountFacade.GenerateHash(regmodel.Password, salt);
                Repository.UpdateUser(salt, hash, curUser);
                curUser.PasswordHash = hash;
                curUser.PasswordSalt = salt;
                return(curUser);
            }
            return(null);
        }
Example #6
0
        public UserAccount RegistrateUser(IRegistrationModel model)
        {
            string guid = Guid.NewGuid().ToString();

            model.Id = Guid.NewGuid().ToString();

            DateTime date = DateTime.UtcNow;

            string salt = Md5Manager.EncryptToString(string.Concat(guid, date), Encoding.UTF8);

            string hash = AccountFacade.GenerateHash(model.Password, salt);

            UserAccount userEntity = Repository.SaveUser(date, salt, hash, model);

            if (userEntity == null)
            {
                throw new Exception("Unable  to registrate user");
            }

            return(userEntity);
        }
        /// <summary>
        /// Login Credintals
        /// </summary>
        private void LoginOption()
        {
            Console.WriteLine(StringLiterals.Login + StringLiterals.EmailId);
            string emailId = Console.ReadLine();

            Console.WriteLine(StringLiterals.Password);
            string password = Console.ReadLine();

            _portalFactory       = new AuthenticationFactory(emailId, password);
            _authenticationModel = _portalFactory.GetModel(UserOptionEnum.Login);
            string access = _authenticationModel.ValidateLogin();

            if (access == StringLiterals.LoginSuccessful)
            {
                Console.WriteLine(access);
                DisplayControl();
            }
            else
            {
                Console.WriteLine(access);
            }
        }
        public static IUserModel CreateNewUser(IRegistrationModel dataModel)
        {
            IUserModel userModel;

            using (var connection = new SqlConnection(Database.ConnectionString))
            {
                connection.Open();

                using (var command = new SqlCommand("Security.CreateNewUser"))
                {
                    command.Connection  = connection;
                    command.CommandType = CommandType.StoredProcedure;

                    var sqlParams = new List <SqlParameter>
                    {
                        new SqlParameter("@AuthenticationTypeId", dataModel.AuthenticationTypeId),
                        new SqlParameter("@FirstName", dataModel.FirstName),
                        new SqlParameter("@LastName", dataModel.LastName),
                        new SqlParameter("@EmailAddress", dataModel.EmailAddress),
                        new SqlParameter("@UserId", dataModel.UserId),
                        new SqlParameter("@HashedPassword", dataModel.HashedPassword),
                        new SqlParameter("@PasswordSalt", dataModel.PasswordSalt),
                        new SqlParameter("@IsTemporaryPassword", dataModel.IsTemporaryPassword)
                    };

                    command.Parameters.AddRange(sqlParams.ToArray());

                    using (DbDataReader reader = command.ExecuteReader())
                    {
                        // 1.) RESULT SET: TENANT META DATA
                        userModel = reader.Materialize <UserModel>().FirstOrDefault() ?? new UserModel();
                    }
                }
            }

            return(userModel);
        }
Example #9
0
        public RegistrationPresenter(IRegistrationView iRegistrationView, IRegistrationModel iRegistrationModel, IMedicalCardManager iMedicalCardManager)
        {
            if (iRegistrationView is null)
            {
                throw new ArgumentNullException(String.Format("{0} is null", nameof(iRegistrationView)));
            }

            if (iRegistrationModel is null)
            {
                throw new ArgumentNullException(String.Format("{0} is null", nameof(iRegistrationModel)));
            }

            if (iMedicalCardManager is null)
            {
                throw new ArgumentNullException(String.Format("{0} is null", nameof(iMedicalCardManager)));
            }

            this.iRegistrationView   = iRegistrationView;
            this.iRegistrationModel  = iRegistrationModel;
            this.iMedicalCardManager = iMedicalCardManager;

            iRegistrationView.RegistrationFormLoad += IRegistrationView_RegistrationFormLoad;
            iRegistrationView.SaveChanges          += IRegistrationView_SaveChanges;
        }