Example #1
0
        public Model.Kupac Insert(KupacUpsertRequest request)
        {
            var entity = _mapper.Map <Database.Kupac>(request);

            if (request.Password != request.PasswordPotvrda)
            {
                throw new Exception("Passwordi se ne slažu");
            }

            entity.LozinkaSalt = GenerateSalt();
            entity.LozinkaHash = GenerateHash(entity.LozinkaSalt, request.Password);

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

            // -------- dodano posebno
            var kupac = new Model.Kupac()
            {
                Ime               = request.Ime,
                Prezime           = request.Prezime,
                KorisnickoIme     = request.KorisnickoIme,
                Email             = request.Email,
                BrojTelefona      = request.BrojTelefona,
                BrojTokena        = request.BrojTokena,
                DatumRegistracije = request.DatumRegistracije
            };

            //-----
            _context.SaveChanges();

            // return _mapper.Map<Model.Kupac>(entity);
            return(kupac);
        }
Example #2
0
        private async void btnSacuvaj_Click(object sender, EventArgs e)
        {
            if (this.ValidateChildren())
            {
                var request = new KupacUpsertRequest()
                {
                    Email             = txtEmail.Text,
                    Ime               = txtIme.Text,
                    KorisnickoIme     = txtKorisnickoIme.Text,
                    Password          = txtPassword.Text,
                    PasswordPotvrda   = txtPassPotvrda.Text,
                    Prezime           = txtPrezime.Text,
                    BrojTelefona      = txtTelefon.Text,
                    BrojTokena        = 50,
                    DatumRegistracije = dateTimePicker1.Value
                };

                Model.Kupac entity = null;
                if (!_id.HasValue)
                {
                    entity = await _apiService.Insert <Model.Kupac>(request);
                }
                else
                {
                    entity = await _apiService.Update <Model.Kupac>(_id.Value, request);
                }

                if (entity != null)
                {
                    MessageBox.Show("Uspješno izvršeno");
                    this.Close();
                }
            }
            else
            {
                MessageBox.Show("Operacija nije uspjela");
                this.Close();
            }
        }
Example #3
0
        public Model.Kupac Update(int id, KupacUpsertRequest request)
        {
            var entity = _context.Kupac.Find(id);

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

            if (!string.IsNullOrWhiteSpace(request.Password))
            {
                if (request.Password != request.PasswordPotvrda)
                {
                    throw new Exception("Passwordi se ne slažu");
                }

                entity.LozinkaSalt = GenerateSalt();
                entity.LozinkaHash = GenerateHash(entity.LozinkaSalt, request.Password);
            }

            _mapper.Map(request, entity);

            _context.SaveChanges();

            return(_mapper.Map <Model.Kupac>(entity));
        }
        private async void Button_Clicked(object sender, EventArgs e)
        {
            if (!Regex.IsMatch(this.Ime.Text, @"^[a-zA-Z]+$"))
            {
                await DisplayAlert("Greška", "Ime se sastoji samo od slova", "OK");
            }
            else if (!Regex.IsMatch(this.Prezime.Text, @"^[a-zA-Z]+$"))
            {
                await DisplayAlert("Greška", "Prezime se sastoji samo od slova", "OK");
            }
            else if (!Regex.IsMatch(this.Telefon.Text, @"^[+]{1}\d{3}[ ]?\d{2}[ ]?\d{3}[ ]?\d{3}"))
            {
                await DisplayAlert("Greška", "Format telefona je: +123 45 678 910", "OK");
            }
            else if (!Regex.IsMatch(this.Email.Text, @"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"))
            {
                await DisplayAlert("Greška", "Neispravan format email-a!", "OK");
            }
            else if (!Regex.IsMatch(this.KorisnickoIme.Text, @"^(?=.{4,40}$)(?![_.])(?!.*[_.]{2})[a-zA-Z0-9._]+(?<![_.])$"))
            {
                await DisplayAlert("Greška", "Neispravan format ili dužina korisničkog imena (4-40)", "OK");
            }
            else if (string.IsNullOrWhiteSpace(this.Password.Text))
            {
                await DisplayAlert("Greška", "Morate unijeti novu ili staru lozinku", "OK");
            }
            else if (this.Password.Text != this.PasswordPotvrda.Text)
            {
                await DisplayAlert("Greška", "Lozinke moraju biti iste", "OK");
            }
            else if (this.Password.Text.Length < 4)
            {
                await DisplayAlert("Greška", "Lozinka ne smije biti kraća od 4 karaktera", "OK");
            }
            else
            {
                try
                {
                    KupacUpsertRequest req = new KupacUpsertRequest()
                    {
                        Ime               = this.Ime.Text,
                        Prezime           = this.Prezime.Text,
                        KorisnickoIme     = this.KorisnickoIme.Text,
                        Password          = this.Password.Text,
                        PasswordPotvrda   = this.PasswordPotvrda.Text,
                        BrojTelefona      = this.Telefon.Text,
                        Email             = this.Email.Text,
                        BrojTokena        = Convert.ToInt32(this.BrojTokena.Text),
                        DatumRegistracije = Convert.ToDateTime(this.DatumRegistracije.Text)
                    };
                    var lozinka    = APIService.Password;
                    var korisnicko = APIService.Username;
                    await _apiServiceKupac.Update <dynamic>(korisnikProfilVM.kupac.KupacId, req);
                    await DisplayAlert("OK", "Uspješno uneseni podaci", "OK");

                    if (lozinka != this.Password.Text || korisnicko != this.KorisnickoIme.Text)
                    {
                        App.Current.MainPage = new LoginPage();
                    }
                }
                catch (Exception err)
                {
                    throw new Exception(err.Message);
                }
            }
        }
 public Model.Kupac Update(int id, [FromBody] KupacUpsertRequest request)
 {
     return(_service.Update(id, request));
 }
 public Model.Kupac Insert(KupacUpsertRequest request)
 {
     return(_service.Insert(request));
 }