示例#1
0
        private async Task LoginWorker()
        {
            WorkerLoginVM workerLoginVM = new WorkerLoginVM()
            {
                Username = TbUsername.Text,
                Password = TbPassword.Password
            };

            bool access = await workerApi.AuthenticateWorker(workerLoginVM);

            if (access)
            {
                WorkerMainMenu workerMainMenu = new WorkerMainMenu();
                await workerMainMenu.SetWorkerLoggedIn(workerLoginVM);

                workerMainMenu.Show();
            }
            else
            {
                MessageBox.Show("Unsuccessfull login!\nUnemployed worker cannot login!");

                Login loginWindow = new Login(user);
                loginWindow.TextBlockWelcome.Text       = "Welcome Worker";
                loginWindow.TextBlockLoginRegister.Text = "Login";
                loginWindow.Show();
            }
        }
示例#2
0
        public async Task SetWorkerLoggedIn(WorkerLoginVM workerLoginVM)
        {
            Worker worker = await workerApi.GetWorkerByUidPwd(workerLoginVM);

            LblFirstName.Text = worker.FirstName;
            LblLastName.Text  = worker.LastName;
            LblHairSalon.Text = worker.HairSalon.Name;

            this.worker = worker;
        }
示例#3
0
        public async Task <Worker> GetWorkerByUidPwd(WorkerLoginVM workerLoginVM)
        {
            StringContent       content  = GetStringContent(workerLoginVM);
            HttpClient          request  = new HttpClient();
            HttpResponseMessage response = await request.PostAsync($"{ API_URL }/GetWorkerByUidPwd", content);

            if (response.IsSuccessStatusCode)
            {
                Worker worker = await response.Content.ReadAsAsync <Worker>();

                return(worker);
            }
            return(new Worker());
        }
示例#4
0
        public async Task <bool> AuthenticateWorker(WorkerLoginVM workerLoginVM)
        {
            StringContent       content  = GetStringContent(workerLoginVM);
            HttpClient          request  = new HttpClient();
            HttpResponseMessage response = await request.PostAsync($"{ API_URL }/AuthenticateWorker", content);

            if (response.IsSuccessStatusCode)
            {
                bool result = await response.Content.ReadAsAsync <bool>();

                return(result);
            }
            return(false);
        }
示例#5
0
        public Worker GetWorkerByUidPwd(WorkerLoginVM workerLoginVM)
        {
            IEnumerable <Worker> workers = unitOfWork.Workers.GetWorkers();
            string inputPasswordHash     = string.Empty;

            foreach (Worker worker in workers)
            {
                if (worker.Username == workerLoginVM.Username)
                {
                    inputPasswordHash = CreateHashedPasswordWithSaltFromDb(workerLoginVM.Password, worker.PasswordSalt);
                }
            }

            foreach (Worker worker in workers)
            {
                if (worker.Username == workerLoginVM.Username && worker.PasswordHash == inputPasswordHash)
                {
                    return(worker);
                }
            }
            return(new Worker());
        }
示例#6
0
        public bool AuthenticateWorker(WorkerLoginVM workerLoginVM)
        {
            IEnumerable <Worker> workers = unitOfWork.Workers.GetAll();
            string inputPasswordHash     = string.Empty;

            foreach (Worker worker in workers)
            {
                if (worker.Username == workerLoginVM.Username)
                {
                    inputPasswordHash = CreateHashedPasswordWithSaltFromDb(workerLoginVM.Password, worker.PasswordSalt);
                }
            }

            foreach (Worker worker in workers)
            {
                if (worker.Username == workerLoginVM.Username && worker.PasswordHash == inputPasswordHash && worker.HairSalonId != null)
                {
                    return(true);
                }
            }
            return(false);
        }