public void ResetPassword(int id)
        {
            IRepository<Mst_Credential> repo = _unitOfWork.GetRepository<Mst_Credential>();

            Mst_Credential credential = repo.GetQueryable(o => o.UserId == id).FirstOrDefault();
            if (credential != null)
            {
                credential.Password = Helper.GetHash(Helper.DefaultPassword);
                repo.Update(credential);
            }

            _unitOfWork.Execute();
        }
Beispiel #2
0
        public void ChangePassword(int id, string oldPassword, string newPassword)
        {
            IRepository <Mst_Credential> repo = _unitOfWork.GetRepository <Mst_Credential>();

            oldPassword = Helper.GetHash(oldPassword);

            Mst_Credential credential = repo.GetQueryable(o => o.UserId == id && o.Password == oldPassword).FirstOrDefault();

            credential.Password = Helper.GetHash(newPassword);
            repo.Update(credential);

            _unitOfWork.Execute();
        }
        public LoginModel Authenticate(string username, string password)
        {
            string         hashedPassword = Helper.GetHash(password);
            Mst_Credential credential     = _unitOfWork.GetRepository <Mst_Credential>()
                                            .GetQueryable().FirstOrDefault(o => o.Username == username && o.Password == hashedPassword && o.Status == 1);

            return(credential == null ? null : new LoginModel
            {
                UserId = credential.UserId,
                Username = credential.Username,
                Role = credential.Role,
                Password = credential.Password,
            });
        }
        public void UpdateUser(UserDetailViewModel model)
        {
            bool isChangeUsername = false;

            // Check username
            Mst_Credential cred = _unitOfWork.GetRepository<Mst_Credential>()
                .GetQueryable(o => o.Username == model.Username && o.UserId != model.UserId).FirstOrDefault();
            if (cred != null) throw new ArgumentException("Username already exists");

            // Update Credential
            IRepository<Mst_Credential> repoCredential = _unitOfWork.GetRepository<Mst_Credential>();
            Mst_Credential credential = repoCredential.GetQueryable(o => o.UserId == model.UserId).FirstOrDefault();
            if (credential != null)
            {
                if (credential.Username != model.Username)
                {
                    credential.Username = model.Username;
                    isChangeUsername = true;
                }
                credential.UserCode = model.UserCode;
                credential.Role = model.Role;
                credential.Status = model.Status;
                repoCredential.Update(credential);
            }

            // Update Profile
            IRepository<Mst_Profile> repoProfile = _unitOfWork.GetRepository<Mst_Profile>();
            Mst_Profile profile = repoProfile.GetQueryable(o => o.UserId == model.UserId).FirstOrDefault();
            if (profile != null)
            {
                profile.FirstName = model.FirstName;
                profile.LastName = model.LastName;
                profile.Position = model.Position;
                profile.Devision = model.Devision;
                profile.Status = model.Status;
                if (isChangeUsername) profile.Photo = string.Format("..{0}{1}.jpg", FILE_PATH, model.Username);
                repoProfile.Update(profile);
            }

            _unitOfWork.Execute();

            // Create default image
            if (isChangeUsername) CopyNoImageFile(model.Username);
        }
        public void CreateUser(UserDetailViewModel model)
        {
            // Check username
            Mst_Credential cred = _unitOfWork.GetRepository<Mst_Credential>().GetQueryable(o => o.Username == model.Username).FirstOrDefault();
            if (cred != null) throw new ArgumentException("Username already exists");

            // Insert Credential
            Mst_Credential credential = MappingUserDetailViewModelToCredential(model);
            _unitOfWork.GetRepository<Mst_Credential>().Insert(credential);
            _unitOfWork.Execute();

            // Insert Profile
            model.UserId = credential.UserId;
            Mst_Profile profile = MappingUserDetailViewModelToProfile(model);
            _unitOfWork.GetRepository<Mst_Profile>().Insert(profile);
            _unitOfWork.Execute();

            // Create default image
            CopyNoImageFile(model.Username);
        }
        public void UpdateUserStatus(int id, int status)
        {
            IRepository<Mst_Credential> repoCred = _unitOfWork.GetRepository<Mst_Credential>();
            IRepository<Mst_Profile> repoProfile = _unitOfWork.GetRepository<Mst_Profile>();

            Mst_Credential credential = repoCred.GetQueryable(o => o.UserId == id).FirstOrDefault();
            if (credential != null)
            {
                credential.Status = status;
                repoCred.Update(credential);

                Mst_Profile profile = repoProfile.GetQueryable(o => o.UserId == id).FirstOrDefault();
                if (profile != null)
                {
                    profile.Status = status;
                    repoProfile.Update(profile);
                }
            }

            _unitOfWork.Execute();
        }