public IActionResult KupacRegister() { KupacRegisterVM Model = new KupacRegisterVM { Gradovi = _context.Grad.Select(s => new SelectListItem { Text = s.Naziv, Value = s.Id.ToString() }) .ToList() }; return(View(Model)); }
public async Task <IActionResult> KupacRegister(KupacRegisterVM model) { bool ValidModel = ModelState.IsValid; #region Validacija Modela if (_context.Korisnik.FirstOrDefault(w => w.UserName == model.Username) != null) { ModelState.AddModelError("Username", "Username je zauzet!"); ValidModel = false; } if (_context.Korisnik.FirstOrDefault(w => w.Email == model.Email) != null) { ModelState.AddModelError("Email", "Već postoji nalog sa Emailom!"); ValidModel = false; } #endregion //Povratak na registraciju ukoliko model nije validan if (!ValidModel) { model.Gradovi = _context.Grad.Select(s => new SelectListItem { Text = s.Naziv, Value = s.Id.ToString(), Selected = s.Id == model.GradId }).ToList(); model.Password = ""; model.ConfirmPassword = ""; return(View(model)); } //Logout ukoliko je korisnik vec logovan if (!string.IsNullOrEmpty(HttpContext.User.Identity.Name)) { await HttpContext.SignOutAsync(IdentityConstants.ApplicationScheme); } #region Kreiranje naloga Korisnik user = new Korisnik { UserName = model.Username, Email = model.Email, PhoneNumber = "+" + model.PozivniBroj + model.BrojTelefona, IsDeleted = true }; await _userManager.CreateAsync(user, model.Password); _context.Kupac.Add(new Kupac { Ime = model.Ime, Prezime = model.Prezime, GradId = model.GradId, TipKorisnikaId = _context.TipKorisnika.First(w => w.IsOsnovni).Id, KorisnikId = user.Id, Username = model.Username, IsDeleted = true, AvatarId = 11 }); _context.SaveChanges(); Client client = new Client(new Credentials { ApiKey = "197053f9", ApiSecret = "d9I953dwwUbgqdtf" }); NumberVerify.VerifyResponse start = client.NumberVerify.Verify(new NumberVerify.VerifyRequest { number = "+" + model.PozivniBroj + model.BrojTelefona, brand = "eTeatar" }); HttpContext.Session.SetString("RequestId", start.request_id); TempData["Username"] = model.Username; return(View("VerifikacijaBroja")); #endregion }