private async void Button_Clicked(object sender, EventArgs e)
        {
            if (model.FirstName == null || model.FirstName == "" || model.LastName == null || model.LastName == "" || model.Email == null || model.Email == "" ||
                model.Phone == null || model.Phone == "" || model.Username == null || model.Username == "")
            {
                await Application.Current.MainPage.DisplayAlert("Error", "All fields are required!", "OK");

                return;
            }

            Model.User user = await _apiService.GetById <Model.User>(BaseAPIService.Id);

            if (user != null)
            {
                UserUpsertRequest request = new UserUpsertRequest()
                {
                    FirstName = model.FirstName,
                    LastName  = model.LastName,
                    Email     = model.Email,
                    Username  = model.Username,
                    Phone     = model.Phone,
                    RoleId    = user.RoleId,
                    Image     = user.Image
                };
                Model.User updatedUser = await _apiService.Update <Model.User>(user.Id, request);

                if (updatedUser != null)
                {
                    await Application.Current.MainPage.DisplayAlert("Success", "Successfuly updated data! Now, just log in.", "OK");

                    await Navigation.PushAsync(new LoginPage());
                }
            }
        }
        private async void btnSave_Click(object sender, EventArgs e)
        {
            var user = await userService.GetById <MUser>(_Id);

            if (ValidateChildren())
            {
                var        roleList       = clbRoles.CheckedItems.Cast <MRole>().Select(x => x.RoleId).ToList();
                List <int> uncheckedRoles = new List <int>();
                for (int i = 0; i < clbRoles.Items.Count; i++)
                {
                    if (!clbRoles.GetItemChecked(i))
                    {
                        int RoleID = clbRoles.Items.Cast <MRole>().ToList()[i].RoleId;
                        uncheckedRoles.Add(RoleID);
                    }
                }

                var request = new UserUpsertRequest
                {
                    FirstName     = txtFirstName.Text,
                    LastName      = txtLastName.Text,
                    Username      = txtUsername.Text,
                    Email         = txtEmail.Text,
                    PhoneNumber   = txtPhoneNumber.Text,
                    Roles         = roleList,
                    RolesToDelete = uncheckedRoles
                };

                await userService.Update <MUser>(_Id, request);

                MessageBox.Show("User has been updated successfully.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
        }
Exemple #3
0
        private async void btnSave_Click(object sender, EventArgs e)
        {
            var user = await userService.GetById <MUser>(_ID);

            if (ValidateChildren())
            {
                var        roleList       = clbRoles.CheckedItems.Cast <MRole>().Select(x => x.RoleID).ToList();
                List <int> uncheckedRoles = new List <int>();
                for (int i = 0; i < clbRoles.Items.Count; i++)
                {
                    if (!clbRoles.GetItemChecked(i))
                    {
                        int RoleID = clbRoles.Items.Cast <MRole>().ToList()[i].RoleID;
                        uncheckedRoles.Add(RoleID);
                    }
                }

                var request = new UserUpsertRequest
                {
                    FirstName                                     = txtFirstName.Text,
                    LastName                                      = txtLastName.Text,
                    Username                                      = txtUsername.Text,
                    Email                                         = txtEmail.Text,
                    PhoneNumber                                   = txtPhone.Text,
                    Image                                         = pbUserPicture.Image != null?ImageHelper.SystemDrawingToByteArray(pbUserPicture.Image) : null,
                                                    Roles         = roleList,
                                                    RolesToDelete = uncheckedRoles
                };

                await userService.Update <MUser>(_ID, request);

                MessageBox.Show("User have been updated successfully", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                PanelHelper.SwapPanels(this.Parent, this, new UserList());
            }
        }
Exemple #4
0
        public Data.Model.User Update(int Id, UserUpsertRequest request)
        {
            var entity = _context.User.Find(Id);

            _context.User.Attach(entity);
            _context.User.Update(entity);

            if (request.Password != request.PasswordConfirm)
            {
                throw new Exception("Password and password confirm not matched");
            }

            if (request.Password != null)
            {
                entity.PasswordSalt = HashGenerator.GenerateSalt();
                entity.PasswordHash = HashGenerator.GenerateHash(entity.PasswordSalt, request.Password);
            }
            else
            {
                _mapper.Map(request, entity);
            }

            _context.SaveChanges();

            return(_mapper.Map <Data.Model.User>(entity));
        }
Exemple #5
0
 public IActionResult Register([FromBody] UserUpsertRequest request)
 {
     request.Roles = new List <int>();
     request.Roles.Add(3);
     _service.Insert(request);
     return(StatusCode(StatusCodes.Status201Created));
 }
        private async void btnSavee_Click(object sender, EventArgs e)
        {
            var user = await userService.GetById <MUser>(_ID);

            if (ValidateChildren())
            {
                var roleList = clbRoles.CheckedItems.Cast <MRole>().Select(x => x.RoleID).ToList();


                var request = new UserUpsertRequest
                {
                    FirstName                     = txtFirstName.Text,
                    LastName                      = txtLastName.Text,
                    Email                         = txtEmail.Text,
                    Username                      = txtUsername.Text,
                    PhoneNumber                   = txtPhone.Text,
                    Image                         = pbUserPicture.Image != null?ImageHelper.SystemDrawingToByteArray(pbUserPicture.Image) : null,
                                            Roles = roleList,
                };

                await userService.Update <MUser>(_ID, request);

                MessageBox.Show("Your information/informations have been updated successfully! Please log in to confirm changes.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                PanelHelper.SwapPanels(this.Parent, this, new Welcome());
            }
        }
Exemple #7
0
        private async void btnSave_Click(object sender, EventArgs e)
        {
            if (ValidateChildren())
            {
                try
                {
                    var roleList = clbRoles.CheckedItems.Cast <MRole>().Select(i => i.RoleID).ToList();

                    var request = new UserUpsertRequest
                    {
                        FirstName                           = txtFirstName.Text,
                        LastName                            = txtLastName.Text,
                        Username                            = txtUsername.Text,
                        Email                               = txtEmail.Text,
                        PhoneNumber                         = txtPhone.Text,
                        Password                            = txtPassword.Text,
                        PasswordConfirmation                = txtPasswordConfirm.Text,
                        Image                               = pbUserImage.Image != null?ImageHelper.SystemDrawingToByteArray(pbUserImage.Image) : null,
                                                   Roles    = roleList,
                                                   FullName = txtFirstName.Text + " " + txtLastName.Text
                    };

                    await userService.Insert <MUser>(request);

                    MessageBox.Show("User added successfully.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    PanelHelper.SwapPanels(this.Parent, this, new UserList());
                }
                catch
                {
                    MessageBox.Show("You don't have permission to do that!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
 public IActionResult Update(int id, [FromBody] UserUpsertRequest request)
 {
     try
     {
         return(Ok(_repository.Update(id, request)));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, ex));
     }
 }
 public IActionResult Insert([FromBody] UserUpsertRequest request)
 {
     try
     {
         return(Ok(_repository.Insert(request)));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, ex));
     }
 }
Exemple #10
0
        public Model.User Update(int id, [FromBody] UserUpsertRequest request)
        {
            var entity = _context.User.Include(x => x.UserRoles).FirstOrDefault(x => x.UserId == id);

            _context.User.Attach(entity);
            _context.User.Update(entity);

            if (!string.IsNullOrWhiteSpace(request.Password))
            {
                if (request.Password != request.PasswordConfirmation)
                {
                    throw new Exception("Passwordi se ne slažu");
                }
                entity.PasswordSalt = GenerateSalt();
                entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password);
            }
            _mapper.Map(request, entity);

            _context.SaveChanges();
            var userRoles = _context.UserRole.Where(x => x.UserId == entity.UserId);

            if (request.Roles.Count() < userRoles.Count())
            {
                foreach (var role in userRoles)
                {
                    if (!request.Roles.Contains(role.RoleId))
                    {
                        _context.UserRole.Remove(role);
                    }
                }
            }

            if (request.Roles != null && request.Roles.Count() > 0 && request.Roles[0] != 0)
            {
                foreach (var role in request.Roles)
                {
                    if (!_context.UserRole.Any(x => x.UserId == entity.UserId && x.RoleId == role))
                    {
                        _context.UserRole.Add(new UserRole
                        {
                            RoleId = role,
                            UserId = entity.UserId
                        });
                    }
                }
            }
            _context.SaveChanges();
            return(_mapper.Map <Model.User>(entity));
        }
Exemple #11
0
        public MUser Insert(UserUpsertRequest insert)
        {
            //provera tacnosti lozinke
            if (insert.Password != insert.ConfirmPassword)
            {
                throw new Exception("Confirm password is incorect!");
            }
            var entity = _mapper.Map <UserN>(insert);

            entity.LozinkaSalt = GenerateSalt();
            entity.LozinkaHash = GenerateHash(entity.LozinkaSalt, insert.Password);
            _context.UserNs.Add(entity);
            _context.SaveChanges();
            return(_mapper.Map <MUser>(entity));
        }
Exemple #12
0
        public Model.User Update(int id, UserUpsertRequest model)
        {
            var entity = _context.Users.Find(id);

            if (!string.IsNullOrEmpty(model.Password))
            {
                entity.PasswordHash = GenerateHash(entity.PasswordSalt, model.Password);
            }

            _mapper.Map(model, entity);
            _context.Users.Attach(entity);
            _context.Users.Update(entity);
            _context.SaveChanges();

            return(_mapper.Map <Model.User>(entity));
        }
Exemple #13
0
        public Data.Model.User Insert(UserUpsertRequest request)
        {
            var entity = _mapper.Map <Database.User>(request);

            if (request.Password != request.PasswordConfirm)
            {
                throw new Exception("Password and password confirm not matched");
            }

            entity.PasswordSalt = HashGenerator.GenerateSalt();
            entity.PasswordHash = HashGenerator.GenerateHash(entity.PasswordSalt, request.Password);

            _context.User.Add(entity);
            _context.SaveChanges();

            return(_mapper.Map <Data.Model.User>(entity));
        }
Exemple #14
0
        public Model.User Insert(UserUpsertRequest model)
        {
            eHairdresserSalonFareBugojno.Database.User user = _mapper.Map <eHairdresserSalonFareBugojno.Database.User>(model);

            _context.Add(user);

            if (model.Password != model.PasswordConfirm)
            {
                throw new Exception("Password and password confirm are not same!");
            }

            user.PasswordSalt = GenerateSalt();
            user.PasswordHash = GenerateHash(user.PasswordSalt, model.Password);
            _context.SaveChanges();

            return(_mapper.Map <Model.User>(user));
        }
Exemple #15
0
        private async void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                var user = await userService.GetById <MUser>(_ID);

                UserUpsertRequest request = null;
                if (txtOldPassword.Text == APIService.Password)
                {
                    request = new UserUpsertRequest
                    {
                        FirstName            = user.FirstName,
                        LastName             = user.LastName,
                        Username             = user.Username,
                        Email                = user.Email,
                        PhoneNumber          = user.PhoneNumber,
                        Image                = user.Image,
                        Password             = txtNewPassword.Text,
                        PasswordConfirmation = txtNewPasswordConfirm.Text
                    };
                }
                else
                {
                    MessageBox.Show("Old password is not correct!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (txtNewPassword.Text != txtNewPasswordConfirm.Text)
                {
                    MessageBox.Show("Passwords do not match!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                await userService.Update <MUser>(_ID, request);

                MessageBox.Show("Succesfully changed, please log in to confirm changes.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                var form = new frmLogin();
                form.Show();
                ParentForm.Close();
            }
            catch
            {
                MessageBox.Show("Ups, something went wrong!");
            }
        }
        async Task Register()
        {
            if (string.IsNullOrEmpty(FirstName) || string.IsNullOrEmpty(LastName) || string.IsNullOrEmpty(Phone) || string.IsNullOrEmpty(Email) ||
                string.IsNullOrEmpty(Username) || string.IsNullOrEmpty(Password) || string.IsNullOrEmpty(PasswordConfirm))
            {
                await Application.Current.MainPage.DisplayAlert("Error", "All fields are required", "Try again");

                return;
            }

            if (Password != PasswordConfirm)
            {
                await Application.Current.MainPage.DisplayAlert("Error", "Passwords don't match", "Try again");

                return;
            }

            UserUpsertRequest client = new UserUpsertRequest()
            {
                FirstName       = FirstName,
                LastName        = LastName,
                Phone           = Phone,
                Email           = Email,
                Username        = Username,
                Password        = Password,
                PasswordConfirm = PasswordConfirm,
                RoleId          = 2
            };

            try
            {
                Model.User registredUser = await _apiService.Register(client);

                if (registredUser != null)
                {
                    await Application.Current.MainPage.DisplayAlert("Registred succesfully.", "Now just log in.", "OK");

                    await Application.Current.MainPage.Navigation.PushModalAsync(new LoginPage());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #17
0
        public Model.User Register(UserUpsertRequest request)
        {
            var entity = _mapper.Map <eHairdresserSalonFareBugojno.Database.User>(request);


            if (request.Password != request.PasswordConfirm)
            {
                throw new Exception("Password and password confirm are not same!");
            }

            entity.PasswordSalt = GenerateSalt();
            entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password);

            _context.Users.Add(entity);
            _context.SaveChanges();

            return(_mapper.Map <Model.User>(entity));
        }
Exemple #18
0
        public Model.User Insert(UserUpsertRequest request)
        {
            if (_context.User.Any(x => x.Email == request.Email))
            {
                throw new UserException("Email \"" + request.Email + "\" je već zauzet!");
            }
            var entity = _mapper.Map <Database.User>(request);

            if (request.Password != request.PasswordConfirmation)
            {
                throw new UserException("Lozinke se ne podudaraju!");
            }

            entity.PasswordSalt = GenerateSalt();
            entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password);

            _context.User.Add(entity);
            _context.SaveChanges();

            var wishlist = new Database.Wishlist {
                UserId = entity.UserId
            };

            _context.Wishlist.Add(wishlist);
            _context.SaveChanges();

            if (request.Roles != null && request.Roles.Count() > 0 && request.Roles[0] != 0)
            {
                foreach (var role in request.Roles)
                {
                    _context.UserRole.Add(new UserRole
                    {
                        RoleId = role,
                        UserId = entity.UserId
                    });
                }
            }
            _context.SaveChanges();
            return(_mapper.Map <Model.User>(entity));
        }
Exemple #19
0
        private async void btnSave_Click(object sender, EventArgs e)
        {
            if (ValidateChildren())
            {
                try
                {
                    var checkedRoles = clbRoles.CheckedItems.Cast <MRole>().Select(i => i.RoleID).ToList();

                    List <int> uncheckedRoles = new List <int>();
                    for (int i = 0; i < clbRoles.Items.Count; i++)
                    {
                        if (!clbRoles.GetItemChecked(i))
                        {
                            int RoleID = clbRoles.Items.Cast <MRole>().ToList()[i].RoleID;
                            uncheckedRoles.Add(RoleID);
                        }
                    }

                    var request = new UserUpsertRequest
                    {
                        FirstName                                     = txtFirstName.Text,
                        LastName                                      = txtLastName.Text,
                        Username                                      = txtUsername.Text,
                        Email                                         = txtEmail.Text,
                        PhoneNumber                                   = txtPhone.Text,
                        Image                                         = pbUserPicture.Image != null?ImageHelper.SystemDrawingToByteArray(pbUserPicture.Image) : null,
                                                        Roles         = checkedRoles,
                                                        RolesToDelete = uncheckedRoles
                    };

                    SignedInUser.User = await userService.Update <MUser>(_ID, request);

                    MessageBox.Show("Changes are saved successfully", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch
                {
                    MessageBox.Show("Error");
                }
            }
        }
Exemple #20
0
        private async void btnSave_Click(object sender, EventArgs e)
        {
            var roleList = clbRoles.CheckedItems.Cast <MRole>().Select(i => i.RoleId).ToList();

            if (ValidateChildren())
            {
                var request = new UserUpsertRequest()
                {
                    FirstName            = txtFirstName.Text,
                    LastName             = txtLastName.Text,
                    Email                = txtEmail.Text,
                    PhoneNumber          = txtPhoneNumber.Text,
                    Username             = txtUsername.Text,
                    Password             = txtPassword.Text,
                    PasswordConfirmation = txtPasswordConfirmation.Text,
                    Roles                = roleList
                };
                await userService.Insert <MUser>(request);

                MessageBox.Show("User added Successfully.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
        }
        private async void btnSave_Click(object sender, EventArgs e)
        {
            if (this.ValidateChildren())
            {
                UserUpsertRequest request = new UserUpsertRequest
                {
                    Username        = txtUsername.Text,
                    Email           = txtEmail.Text,
                    FirstName       = txtFirstName.Text,
                    LastName        = txtLastName.Text,
                    Password        = txtPassword.Text,
                    PasswordConfirm = txtPasswordConfirm.Text,
                    Phone           = txtPhone.Text,
                };

                var idType = cmbType.SelectedValue;

                if (int.TryParse(idType.ToString(), out int typeId))
                {
                    request.UserTypeId = typeId;
                }

                if (_user == null)
                {
                    var mtvs = await _serviceUser.Insert <User>(request);

                    if (mtvs == default(User))
                    {
                        return;
                    }
                }

                MessageBox.Show("Operation successfully completed!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
        }
 public Data.Model.User Update(int Id, [FromBody] UserUpsertRequest request)
 {
     return(_service.Update(Id, request));
 }
 public Data.Model.User Post(UserUpsertRequest request)
 {
     return(_service.Insert(request));
 }
Exemple #24
0
        public async Task Register()
        {
            try
            {
                UserUpsertRequest request = null;
                bool req = true;
                if (Email == null || FirstName == null || LastName == null || Username == null || Password == null || PasswordConfirmation == null || Phone == null ||
                    Email == "" || FirstName == "" || LastName == "" || Username == "" || Password == "" || PasswordConfirmation == "" || Phone == "")
                {
                    await App.Current.MainPage.DisplayAlert("Information", "You have to fill all fields!", "OK");

                    req = false;
                }

                request = new UserUpsertRequest()
                {
                    FirstName            = FirstName,
                    LastName             = LastName,
                    Email                = Email,
                    PhoneNumber          = Phone,
                    Username             = Username,
                    Password             = Password,
                    PasswordConfirmation = PasswordConfirmation,
                    Roles                = new List <int> {
                        2
                    }
                };
                if (request != null)
                {
                    bool err              = false;
                    bool isValid          = Regex.IsMatch(Email, emailPattern);;
                    var  hasNumber        = new Regex(@"[0-9]+");
                    var  hasUpperChar     = new Regex(@"[A-Z]+");
                    var  hasMinimum8Chars = new Regex(@".{8,}");
                    if (!hasNumber.IsMatch(request.Password) || !hasUpperChar.IsMatch(request.Password) || !hasMinimum8Chars.IsMatch(request.Password))
                    {
                        await App.Current.MainPage.DisplayAlert("Information", "Password should have numbers, uppercase, lowercase and minimum 8 characters!", "OK");

                        err = true;
                    }
                    if (request.Password != request.PasswordConfirmation)
                    {
                        await App.Current.MainPage.DisplayAlert("Information", "Passwords do not match!", "OK");

                        err = true;
                    }
                    if (!IsDigitsOnly(request.PhoneNumber))
                    {
                        await App.Current.MainPage.DisplayAlert("Information", "You can't use letters as a phone number!", "OK");

                        err = true;
                    }
                    var users = await userService.Get <List <MUser> >(null);

                    foreach (var k in users)
                    {
                        if (k.Username == request.Username)
                        {
                            await App.Current.MainPage.DisplayAlert("Information", "Username already exist!", "OK");

                            err = true;
                            break;
                        }
                        else if (request.Username.Length < 3)
                        {
                            await App.Current.MainPage.DisplayAlert("Information", "Username Needs to contain at least 3 letters!", "OK");

                            err = true;
                            break;
                        }
                    }

                    foreach (var k in users)
                    {
                        if (k.Email == request.Email)
                        {
                            await App.Current.MainPage.DisplayAlert("Information", "Email already used!", "OK");

                            err = true;
                            break;
                        }
                    }
                    //if (!isValid)
                    //{
                    //    await App.Current.MainPage.DisplayAlert("Information", "Enter email in a valid format!", "OK");
                    //    err = true;
                    //}
                    if (err != true)
                    {
                        await userService.Register(request);

                        await Application.Current.MainPage.DisplayAlert("Success", "You have successfully registred", "OK");

                        Application.Current.MainPage = new LoginPage();
                    }
                }
            }
            catch (Exception ex)
            {
                //await Application.Current.MainPage.DisplayAlert("Error", "An error has accured", "OK");
            }
        }
Exemple #25
0
 public MUser Insert(UserUpsertRequest insert)
 {
     return(_service.Insert(insert));
 }
Exemple #26
0
        public async Task <Model.User> Register(UserUpsertRequest request)
        {
            var url = $"{_apiUrl}/{_route}/register";

            return(await url.PostJsonAsync(request).ReceiveJson <Model.User>());
        }
Exemple #27
0
 public Model.User Update(int id, UserUpsertRequest request)
 {
     return(_service.Update(id, request));
 }
Exemple #28
0
 public Model.User Insert(UserUpsertRequest request)
 {
     return(_service.Insert(request));
 }