예제 #1
0
        public async Task <IActionResult> Registration(AccountRegistrationVm userData)
        {
            if (ModelState.IsValid)
            {
                var getUser = pokemonContext.Users.FirstOrDefault(u => u.Username == userData.Username);
                if (getUser == null)
                {
                    User newUser = new User()
                    {
                        FirstName = userData.FirstName,
                        LastName  = userData.LastName,
                        Username  = userData.Username,
                        Password  = userData.Password
                    };
                    pH.HashPassword(newUser, newUser.Password);
                    pokemonContext.Users.Add(newUser);
                    await pokemonContext.SaveChangesAsync();

                    HttpContext.Session.SetString("Username", newUser.Username);
                    return(new RedirectToActionResult("RegisterSuccess", "Account", null));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "A trainer with that username already exists");
                    return(View(userData));
                }
            }
            else
            {
                return(View(userData));
            }
        }
예제 #2
0
        public HttpResponseMessage Registration(AccountRegistrationVm account)
        {
            List <string> errors = new List <string>();

            if (!ModelState.IsValid)
            {
                foreach (var pair in ModelState)
                {
                    if (pair.Value.Errors.Count > 0)
                    {
                        errors.Add(pair.Value.Errors.Select(error => error.ErrorMessage).FirstOrDefault().ToString());
                    }
                }

                return(Request.CreateResponse(HttpStatusCode.BadRequest, errors));
            }

            HttpStatusCode response = AccountHelper.CreateAccount(account, AccountHelper.GetUloge(Constants.ULOGA_KORISNIK));

            if (HttpStatusCode.Conflict == response)
            {
                errors.Add("Korisnicki nalog vec postoji");
                return(Request.CreateResponse(HttpStatusCode.Conflict, errors));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
예제 #3
0
        public IActionResult Registration()
        {
            HttpContext.Session.Remove("Username");
            AccountRegistrationVm vm = new AccountRegistrationVm();

            return(View(vm));
        }
예제 #4
0
        private void registracijaButton_Clicked(object sender, EventArgs e)
        {
            if (imeInput.Text == "" || prezimeInput.Text == "" || telefonInput.Text == "" || emailInput.Text == "" || adresaInput.Text == "" ||
                gradInput.SelectedIndex == -1 || lozinkaInput.Text == "")
            {
                DisplayAlert("Upozorenje", "Sva polja su obavezna!", "OK");
                return;
            }
            int broj;

            if (Int32.TryParse(telefonInput.Text, out broj) == false || telefonInput.Text.Count() < 9)
            {
                DisplayAlert("Upozorenje", "Polje telefon nije validno!", "OK");
                return;
            }
            if (!HelperMethods.ValidateEmail(emailInput.Text))
            {
                DisplayAlert("Upozorenje", "Polje email nije validno!", "OK");
                return;
            }
            if (lozinkaInput.Text.Length < 6)
            {
                DisplayAlert("Upozorenje", "Lozinka mora sadržavati najmanje 6 karaktera!", "OK");
                return;
            }


            AccountRegistrationVm acc = new AccountRegistrationVm();

            acc.Ime           = imeInput.Text;
            acc.Prezime       = prezimeInput.Text;
            acc.EmailAdresa   = emailInput.Text;
            acc.Adresa        = adresaInput.Text;
            acc.Telefon       = telefonInput.Text;
            acc.Lozinka       = lozinkaInput.Text;
            acc.DatumRodjenja = datumRodjenjaInput.Date;

            if (gradInput.SelectedItem != null)
            {
                int gradId = (gradInput.SelectedItem as GetGradoviVm).Id;
                acc.GradId = gradId;

                HttpResponseMessage response = _service.PostResponse(acc);

                if (response.IsSuccessStatusCode)
                {
                    AccountLoginVm login = new AccountLoginVm();
                    login.Lozinka  = lozinkaInput.Text;
                    login.UserName = emailInput.Text;

                    HttpResponseMessage responseLogin = _service.PostCustomRouteResponse(WebApiRoutes.LOGIN_ROUTE, login);

                    if (responseLogin.IsSuccessStatusCode)
                    {
                        var jsonObject = responseLogin.Content.ReadAsStringAsync().Result;

                        Global.logedUser = JsonConvert.DeserializeObject <Korisnici>(jsonObject);

                        Navigation.PushAsync(new OdabirOmiljenih());
                    }
                    else
                    {
                        DisplayAlert("Upozorenje!", "Doslo je do greske prilikom prijave na sistem.", "OK");
                    }
                }
                else
                {
                    var json = response.Content.ReadAsStringAsync();

                    List <string> errorList = JsonConvert.DeserializeObject <List <string> >(json.Result);

                    string errors = "";
                    foreach (string error in errorList)
                    {
                        errors += error + "\n";
                    }

                    DisplayAlert("Upozorenje!", errors, "OK");
                }
            }
            else
            {
                DisplayAlert("Upozorenje!", "Potrebno je izabrati grad", "OK");
            }
        }