Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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
        }