示例#1
0
        public Data.Model.Users Insert(UserInsertUpdateRequest request)
        {
            var entity = _mapper.Map <Database.Users>(request);

            if (request.Username == null || request.Password == null || request.PasswordConfirmation == null)
            {
                throw new Exception("Username or Password or Password Confirmation is empty!");
            }

            if (request.Password != request.PasswordConfirmation)
            {
                throw new Exception("Passwords are not matching");
            }

            entity.PasswordSalt = GenerateSalt();
            entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password);
            entity.DateCreated  = DateTime.Now;
            _context.Users.Add(entity);
            _context.SaveChanges();

            var obj = _context.Users.Include(u => u.Role).Where(u => u.UserID == entity.UserID).SingleOrDefault();

            var model = _mapper.Map <Data.Model.Users>(obj);

            model.RoleName = obj.Role.RoleName;
            return(model);
        }
示例#2
0
        public Data.Model.Users Update(int id, UserInsertUpdateRequest request)
        {
            var entity = _context.Users.Find(id);

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

            entity.FirstName   = request.FirstName;
            entity.LastName    = request.LastName;
            entity.PhoneNumber = request.PhoneNumber;
            entity.Email       = request.Email;
            entity.Username    = request.Username;
            if (request.CityID > 0)
            {
                entity.CityID = request.CityID;
            }

            if (request.CarBrandID != null)
            {
                entity.CarBrandID = request.CarBrandID;
            }

            if (request.CarModelID != null)
            {
                entity.CarModelID = request.CarModelID;
            }


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

            _context.SaveChanges();

            var obj = _context.Users.Include(u => u.Role).Where(u => u.UserID == entity.UserID).SingleOrDefault();

            var model = _mapper.Map <Data.Model.Users>(obj);

            model.RoleName = obj.Role.RoleName;
            return(model);
        }
        private async void btnSave_Click(object sender, EventArgs e)
        {
            if (ValidateChildren())
            {
                var request = new UserInsertUpdateRequest()
                {
                    FirstName            = txtName.Text,
                    LastName             = txtLastName.Text,
                    DateOfBirth          = dateTimePicker.Value,
                    CityID               = int.Parse(cmbCities.SelectedValue.ToString()),
                    Email                = txtEmail.Text,
                    PhoneNumber          = txtPhoneNumber.Text,
                    Username             = txtUsername.Text,
                    Password             = txtPassword.Text,
                    PasswordConfirmation = txtPasswordConfirmation.Text,
                    RoleID               = 1
                };

                var model = await _userService.Insert <Data.Model.Users>(request);

                CarServiceUpsertRequest csRequest = new CarServiceUpsertRequest()
                {
                    CarServiceName = txtCarServiceName.Text,
                    Street         = txtStreet.Text,
                    CityID         = model.CityID,
                    PhoneNumber    = model.PhoneNumber,
                    UserID         = model.UserID,
                    Owner          = model.FirstName + " " + model.LastName
                };
                var modelCS = await _carService.Insert <Data.Model.CarService>(csRequest);

                if (model != null && modelCS != null)
                {
                    MessageBox.Show("Uspješno ste registrovali vaš auto servis. Logirajte se da bi pristupili u menu auto servisa.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                //frmLogin frm = new frmLogin();
                //frm.Show();
                this.Hide();
            }
        }
 public Users Update(int id, UserInsertUpdateRequest request)
 {
     return(_service.Update(id, request));
 }
 public Users Insert([FromBody] UserInsertUpdateRequest request)
 {
     return(_service.Insert(request));
 }
示例#6
0
        async Task Register()
        {
            if (CityModel == null)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Odaberi grad!", "Ok");

                return;
            }
            if (CarModel == null)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Odaberi model automobila!", "Ok");

                return;
            }

            if (Password != PasswordConfirmation)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Lozinke se ne podudaraju!", "Unesite ponovo");

                return;
            }
            var listUsers = await _usersService.Get <List <Data.Model.Users> >(null);

            if (Username != null)
            {
                foreach (var item in listUsers)
                {
                    if (Username == item.Username)
                    {
                        await Application.Current.MainPage.DisplayAlert("Greška", "Korisničko ime već postoji.", "Pokušajte ponovo");

                        return;
                    }
                }
            }
            //Name
            if (string.IsNullOrWhiteSpace(FirstName) || FirstName.Length < 3)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Ime je obavezno polje!Minimalna dužina mora biti 3 karaktera", "Ok");

                return;
            }

            if (char.IsLower(FirstName[0]))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Prvo slovo imena mora biti veliko!", "Ok");

                return;
            }
            bool containsInt = FirstName.Any(char.IsDigit);

            if (containsInt)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Brojevi u imenu nisu dozovljeni!", "Ok");

                return;
            }

            //Last name
            if (string.IsNullOrWhiteSpace(LastName) || LastName.Length < 3)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Prezime je obavezno polje!Minimalna dužina mora biti 3 karaktera", "Ok");

                return;
            }

            if (char.IsLower(LastName[0]))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Prvo slovo prezimena mora biti veliko!", "Ok");

                return;
            }
            bool containsInta = LastName.Any(char.IsDigit);

            if (containsInta)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Brojevi u prezimenu nisu dozovljeni!", "Ok");

                return;
            }
            //Email

            if (string.IsNullOrWhiteSpace(Email))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Email je obavezno polje!", "Ok");

                return;
            }

            if (!Regex.IsMatch(Email, @"([a-z]+)([\\.]?)([a-z]*)([@])(yahoo|outlook|gmail|hotmail|fit|edu.fit)(.ba|.com|.org)"))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Email mora biti u formatu: nešto@(gmail,hotmail,fit,edu.fit,outlook,yahoo).(ba,com,org)", "Ok");

                return;
            }

            //PhoneNumber
            if (string.IsNullOrWhiteSpace(PhoneNumber))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Broj telefona je obavezno polje!", "Ok");

                return;
            }

            if (!Regex.IsMatch(PhoneNumber, @"(06[0-9])([/])([0-9]){3}([-])([0-9]){3}$"))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Broj telefona mora biti u formatu: 06X/XXX-XXX", "Ok");

                return;
            }

            //Username
            if (string.IsNullOrWhiteSpace(Username) || Username.Length < 3)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Korisničko ime je obavezno polje!Minimalna dužina mora biti 3 karaktera", "Ok");

                return;
            }

            if (string.IsNullOrWhiteSpace(Password))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Unesi lozinku!", "Ok");

                return;
            }
            if (string.IsNullOrWhiteSpace(PasswordConfirmation))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Unesi potvrdu lozinke!", "Ok");

                return;
            }



            var request = new UserInsertUpdateRequest()
            {
                FirstName            = FirstName,
                LastName             = LastName,
                DateOfBirth          = DateOfBirth,
                Email                = Email,
                PhoneNumber          = PhoneNumber,
                Username             = Username,
                Password             = Password,
                PasswordConfirmation = PasswordConfirmation,
                CityID               = CityModel.CityID,
                CarBrandID           = CarModel.CarBrandID,
                CarModelID           = CarModel.CarModelID,
                RoleID               = 2
            };


            var modelUser = _usersService.Insert <Data.Model.Users>(request);



            if (modelUser != null)
            {
                await Application.Current.MainPage.DisplayAlert("Uspješno ste napravili profil.", "Sada se prijavite.", "Ok");

                await Application.Current.MainPage.Navigation.PushModalAsync(new LoginPage());
            }
        }
示例#7
0
        public async Task SaveChanges()
        {
            if (NewPassword != NewPasswordConfirmation)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Nove Lozinke se ne podudaraju!", "Unesite ponovo");

                return;
            }
            var listUsers = await _usersService.Get <List <Data.Model.Users> >(null);

            if (Username != null)
            {
                foreach (var item in listUsers)
                {
                    if (Username == item.Username && item.UserID != APIService.UserID)
                    {
                        await Application.Current.MainPage.DisplayAlert("Greška", "Korisničko ime već postoji.", "Pokušajte ponovo");

                        return;
                    }
                }
            }
            //Name
            if (string.IsNullOrWhiteSpace(FirstName) || FirstName.Length < 3)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Ime je obavezno polje!Minimalna dužina mora biti 3 karaktera", "Ok");

                return;
            }

            if (char.IsLower(FirstName[0]))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Prvo slovo imena mora biti veliko!", "Ok");

                return;
            }
            bool containsInt = FirstName.Any(char.IsDigit);

            if (containsInt)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Brojevi u imenu nisu dozovljeni!", "Ok");

                return;
            }

            //Last name
            if (string.IsNullOrWhiteSpace(LastName) || LastName.Length < 3)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Prezime je obavezno polje!Minimalna dužina mora biti 3 karaktera", "Ok");

                return;
            }

            if (char.IsLower(LastName[0]))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Prvo slovo prezimena mora biti veliko!", "Ok");

                return;
            }
            bool containsInta = LastName.Any(char.IsDigit);

            if (containsInta)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Brojevi u prezimenu nisu dozovljeni!", "Ok");

                return;
            }
            //Email

            if (string.IsNullOrWhiteSpace(Email))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Email je obavezno polje!", "Ok");

                return;
            }

            if (!Regex.IsMatch(Email, @"([a-z]+)([\\.]?)([a-z]*)([@])(yahoo|outlook|gmail|hotmail|fit|edu.fit)(.ba|.com|.org)"))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Email mora biti u formatu: nešto@(gmail,hotmail,fit,edu.fit,outlook,yahoo).(ba,com,org)", "Ok");

                return;
            }

            //PhoneNumber
            if (string.IsNullOrWhiteSpace(PhoneNumber))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Broj telefona je obavezno polje!", "Ok");

                return;
            }

            if (!Regex.IsMatch(PhoneNumber, @"(06[0-9])([/])([0-9]){3}([-])([0-9]){3}$"))
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Broj telefona mora biti u formatu: 06X/XXX-XXX", "Ok");

                return;
            }

            //Username
            if (string.IsNullOrWhiteSpace(Username) || Username.Length < 3)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Korisničko ime je obavezno polje!Minimalna dužina mora biti 3 karaktera", "Ok");

                return;
            }


            var request = new UserInsertUpdateRequest()
            {
                FirstName   = FirstName,
                LastName    = LastName,
                DateOfBirth = DateOfBirth,
                Email       = Email,
                PhoneNumber = PhoneNumber,
                Username    = Username,
                //CityID = CityModel.CityID,
                //CarBrandID = CarModel.CarBrandID,
                //CarModelID = CarModel.CarModelID,
                RoleID = 2
            };

            if (CityModel != null)
            {
                request.CityID = CityModel.CityID;
            }

            if (CarModel != null)
            {
                request.CarModelID = CarModel.CarModelID;
                request.CarBrandID = CarModel.CarBrandID;
            }

            if (!string.IsNullOrEmpty(NewPassword))
            {
                request.Password             = NewPassword;
                request.PasswordConfirmation = NewPasswordConfirmation;
            }


            var modelUserUpdated = await _usersService.Update <Data.Model.Users>(APIService.UserID, request);


            if (modelUserUpdated != null)
            {
                await Application.Current.MainPage.DisplayAlert("Uspješno", "Izmijene uspješno napravljenje. Prijavite se ponovo da bi se podaci osvježili.", "OK");

                await Application.Current.MainPage.Navigation.PushModalAsync(new LoginPage());
            }
        }