Пример #1
0
 public IHttpActionResult UpdateUser(FrontendUserModel model)
 {
     if (ModelState.IsValid)
     {
         bool passwordOk      = true;
         bool passwordPresent = false;
         if (model.Password != null && model.Password != "")
         {
             passwordOk      = Task.Run(async() => { return(await UserManager.PasswordValidator.ValidateAsync(model.Password)); }).Result.Succeeded;
             passwordPresent = true;
         }
         if (passwordOk)
         {
             ApplicationUser user = UserManager.FindByName(model.Username);
             if (user != null)
             {
                 string newPasswordHash = UserManager.PasswordHasher.HashPassword(model.Password);
                 if (passwordPresent)
                 {
                     user.PasswordHash = newPasswordHash;
                 }
                 if (UserManager.Update(user).Succeeded)
                 {
                     UserManager.RemoveFromRoles(user.Id, ApplicationRoleManager.DefinedRoles.ToArray());
                     foreach (string roleName in model.Roles)
                     {
                         UserManager.AddToRole(user.Id, roleName);
                     }
                     return(Ok());
                 }
             }
         }
     }
     return(BadRequest());
 }
Пример #2
0
        private void DeleteUser(object sender, EventArgs eventArgs)
        {
            FrontendUserModel user = _accountForm.GetSelectedUser() as FrontendUserModel;

            if (user != null)
            {
                if (MessageBox.Show("Czy na pewno chcesz usunąć użytkownika " + user.Username + "?", "Potwierdzenie usunięcia", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    _httpConnector.DeleteUser(user);
                    string errorMessage = _httpConnector.LastErrorMessage;
                    if (errorMessage != null)
                    {
                        MessageBox.Show(errorMessage);
                    }
                    else
                    {
                        _accountForm.DataSource = null;
                        _accountForm.DataSource = _httpConnector.GetUsers();
                        errorMessage            = _httpConnector.LastErrorMessage;
                        if (errorMessage != null)
                        {
                            MessageBox.Show(errorMessage);
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Nie wybrano użytkownika");
            }
        }
Пример #3
0
 public IHttpActionResult AddUser(FrontendUserModel model)
 {
     if (ModelState.IsValid)
     {
         IdentityResult result = Task.Run(async() => { return(await UserManager.PasswordValidator.ValidateAsync(model.Password)); }).Result;
         if (result.Succeeded)
         {
             ApplicationUser user = UserManager.FindByName(model.Username);
             if (user == null)
             {
                 string newPasswordHash = UserManager.PasswordHasher.HashPassword(model.Password);
                 user = new ApplicationUser {
                     Id = Guid.NewGuid().ToString(), UserName = model.Username, PasswordHash = newPasswordHash
                 };
                 if (UserManager.Create(user).Succeeded)
                 {
                     foreach (string roleName in model.Roles)
                     {
                         UserManager.AddToRole(user.Id, roleName);
                     }
                     return(Ok());
                 }
             }
         }
     }
     return(BadRequest());
 }
Пример #4
0
        /// <summary>
        /// Obsługa zdarzenia dodania użytkonwika. Otwiera formularz dodawania.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="eventArgs"></param>
        private void AddUser(object sender, EventArgs eventArgs)
        {
            FrontendUserModel user = new FrontendUserModel();

            while (true)
            {
                _userForm.OpenForAddition(user);
                if (_userForm.ShowDialog() == DialogResult.OK)
                {
                    _httpConnector.AddUser(user);
                    string errorMessage = _httpConnector.LastErrorMessage;
                    if (errorMessage != null)
                    {
                        MessageBox.Show("Niepowodzenie dodawania użytkownika. Sprawdź czy hasło ma co najmniej 6 liter, zawiera jedną cyfrę, jeden znak specjalny i jedną wielką literę.");
                    }
                    else
                    {
                        _accountForm.DataSource = null;
                        _accountForm.DataSource = _httpConnector.GetUsers();
                        errorMessage            = _httpConnector.LastErrorMessage;
                        if (errorMessage != null)
                        {
                            MessageBox.Show(errorMessage);
                        }
                        break;
                    }
                }
                break;
            }
        }
 public EntrancePage(FrontendUserModel user)
 {
     InitializeComponent();
     this.user   = user;
     Detail      = new NavigationPage(new UserPets(this.user));
     IsPresented = false;
 }
Пример #6
0
 /// <summary>
 /// Otwiera fomularz i wypełnia aktualnymi danymi użytkownika
 /// </summary>
 /// <param name="user"></param>
 public void OpenForEdit(FrontendUserModel user)
 {
     _openedForEdit       = true;
     _user                = user;
     usernameTextBox.Text = user.Username ?? "";
     passwordEdit.Clear();
     foreach (CheckBox roleCheckBox in _roleCheckBoxes)
     {
         roleCheckBox.Checked = user.Roles != null && user.Roles.Exists((string roleName) => { return(roleName == roleCheckBox.Name); });
     }
 }
Пример #7
0
 public IHttpActionResult DeleteUser(FrontendUserModel model)
 {
     if (ModelState.IsValid && model.Username != null)
     {
         ApplicationUser foundUser = UserManager.FindByName(model.Username);
         if (foundUser != null)
         {
             if (UserManager.Delete(foundUser).Succeeded)
             {
                 return(Ok());
             }
         }
     }
     return(BadRequest());
 }
Пример #8
0
 public IHttpActionResult Update(FrontendUserModel model)
 {
     if (ModelState.IsValid)
     {
         ApplicationUser user = UserManager.FindByName(model.Login);
         if (user != null)
         {
             UserManager.RemoveFromRoles(user.Id, ApplicationRoleManager.DefinedRoles.ToArray());
             if (model.Roles != null)
             {
                 foreach (string roleName in model.Roles)
                 {
                     UserManager.AddToRoles(user.Id, model.Roles.ToArray());
                 }
                 return(Ok());
             }
         }
     }
     return(BadRequest(ModelState));
 }
Пример #9
0
        /// <summary>
        /// Obsługa zdarzenia edycji użytkownika.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="eventArgs"></param>
        private void UpdateUser(object sender, EventArgs eventArgs)
        {
            FrontendUserModel user = _accountForm.GetSelectedUser() as FrontendUserModel;

            if (user != null)
            {
                user = user.Clone();
                while (true)
                {
                    _userForm.OpenForEdit(user);
                    if (_userForm.ShowDialog() == DialogResult.OK)
                    {
                        _httpConnector.UpdateUser(user);
                        string errorMessage = _httpConnector.LastErrorMessage;
                        if (errorMessage != null)
                        {
                            MessageBox.Show("Niepowodzenie edycji użytkownika. Sprawdź czy hasło ma co najmniej 6 liter, zawiera jedną cyfrę, jeden znak specjalny i jedną wielką literę.");
                        }
                        else
                        {
                            _accountForm.DataSource = null;
                            _accountForm.DataSource = _httpConnector.GetUsers();
                            errorMessage            = _httpConnector.LastErrorMessage;
                            if (errorMessage != null)
                            {
                                MessageBox.Show(errorMessage);
                            }
                            break;
                        }
                    }
                    else
                    {
                        break;
                    }
                }
            }
            else
            {
                MessageBox.Show("Nie wybrano użytkownika");
            }
        }
Пример #10
0
        private async void LogInProcedure(object sender, EventArgs e)
        {
            if (ConnectionCheck.CheckForInternetConnection())
            {
                //LOGIN REQUEST
                FrontendUserModel user = await LogUserInAsync(Entry_email.Text, Entry_Password.Text);

                if (user != null)
                {
                    Navigation.RemovePage(this);
                    await Navigation.PushModalAsync(new EntrancePage(user));
                }
                else
                {
                    await DisplayAlert("Login", "Such user is not found", "Ok");
                }
            }
            else
            {
                await DisplayAlert("Login", "Check your internet connection", "Ok");
            }
        }
        /// <summary>
        /// Gets user personal data if he entered email and password correctly.
        /// </summary>
        /// <param name="email"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static FrontendUserModel GetUserByLoginInfo(string email, string password)
        {
            SqlConnection connection = new SqlConnection(DataConnections.OwnerUAconnectionString);

            connection.Open();

            // user data to return
            FrontendUserModel user = null;


            SqlCommand getUserByLoginInfoCommand = new SqlCommand("dbo.Users_GetUserByEmail", connection);

            getUserByLoginInfoCommand.CommandType = System.Data.CommandType.StoredProcedure;
            getUserByLoginInfoCommand.Parameters.AddWithValue("@Email", email);


            SqlDataReader userDataReader = getUserByLoginInfoCommand.ExecuteReader();

            // if there is user with such email and his password correct then creating new user entity
            while (userDataReader.Read() && BCryptHashing.IsPasswordValid(password, (string)userDataReader[5]))
            {
                user = new FrontendUserModel
                {
                    FirstName = (string)userDataReader[1],
                    LastName  = (string)userDataReader[2],
                    Phone     = (string)userDataReader[3],
                    Email     = (string)userDataReader[4]
                };
            }

            userDataReader.Close();

            connection.Close();


            return(user);
        }
        private async void StartFindingUser(object sender, EventArgs e)
        {
            var keyword = UserSearchBar.Text;

            if (Int32.TryParse(keyword, out var petId))
            {
                FrameOwner.IsVisible = true;
                _frontendUser        = await GetUserByPetIDAsync(petId);

                if (_frontendUser != null)
                {
                    InitializeLables();
                    CreateFrame_user();
                }
                else
                {
                    CreateFrame_user(true);
                }
            }
            else
            {
                await DisplayAlert("Find User", "Input an integer into search field", "Ok");
            }
        }
Пример #13
0
 /// <summary>
 /// Usuwanie użytkownika
 /// </summary>
 /// <param name="model"></param>
 public void DeleteUser(FrontendUserModel model)
 {
     try
     {
         using (HttpResponseMessage responseMessage = Task.Run(async() => { return(await _httpClient.PostAsJsonAsync("api/Account/DeleteUser", model)); }).Result)
         {
             if (responseMessage.StatusCode == HttpStatusCode.OK)
             {
             }
             else if (responseMessage.StatusCode == HttpStatusCode.Unauthorized)
             {
                 _lastErrorMessage = "Odmowa dostępu";
             }
             else
             {
                 _lastErrorMessage = "Błąd połączenia z serwerem";
             }
         }
     }
     catch (Exception exc)
     {
         _lastErrorMessage = "Błąd połączenia z serwerem";
     }
 }
        /// <summary>
        /// Gets user info by his own pet id.
        /// </summary>
        /// <param name="petUniqueID"></param>
        /// <returns></returns>
        public static FrontendUserModel GetUserByPetID(int petUniqueID)
        {
            SqlConnection connection = new SqlConnection(DataConnections.OwnerUAconnectionString);

            connection.Open();


            // user data to return
            FrontendUserModel user = null;

            SqlCommand getUserByPetIdCommand = new SqlCommand("dbo.Users_GetUserByPetID", connection);

            getUserByPetIdCommand.CommandType = System.Data.CommandType.StoredProcedure;
            getUserByPetIdCommand.Parameters.AddWithValue("@PetUniqueID", petUniqueID);

            SqlDataReader userDataReader = getUserByPetIdCommand.ExecuteReader();

            // if there is user that have pet with such pet id then create new user entity
            while (userDataReader.Read())
            {
                user = new FrontendUserModel
                {
                    FirstName = (string)userDataReader[0],
                    LastName  = (string)userDataReader[1],
                    Phone     = (string)userDataReader[2],
                    Email     = (string)userDataReader[3]
                };
            }

            userDataReader.Close();

            connection.Close();


            return(user);
        }
Пример #15
0
 public UserPets(FrontendUserModel userModel)
 {
     InitializeComponent();
     this._userModel = userModel;
     GetPets();
 }