public ActionResult Register(ValdytojoRegictracijosViewModel model) { try { if (ModelState.IsValid) { bool userExists = repository.Set <Darbuotojas>().Any(x => x.el_pastas == model.Email); bool userExists2 = repository.Set <Klientas>().Any(x => x.el_pastas == model.Email); if (userExists || userExists2) { throw new ITPProException("Toks el. paštas jau registruotas sistemoje"); } if (model.Password != model.RepeatPassword) { throw new ITPProException("Slaptažodis blogai įvestas"); } byte[] salt; new RNGCryptoServiceProvider().GetBytes(salt = new byte[16]); var pbkdf2 = new Rfc2898DeriveBytes(model.Password, salt, 10000); byte[] hash = pbkdf2.GetBytes(20); byte[] hashBytes = new byte[36]; Array.Copy(salt, 0, hashBytes, 0, 16); Array.Copy(hash, 0, hashBytes, 16, 20); string savedPasswordHash = Convert.ToBase64String(hashBytes); WebSecurity.CreateUserAndAccount(model.Email, model.Password, new { slaptazodis = savedPasswordHash, vardas = model.Name, pavarde = model.Surname, el_pastas = model.Email, adresas = model.Address, lytis = model.Gender, telefonas = model.Phone, darbo_pradzios_laikas = DateTime.Now, darbuotojo_tipas = 1 }); return(RedirectToAction("Index", "Home")); } } catch (ITPProException ex) { ModelState.AddModelError("", ex.Message); } return(View(model)); }
public ActionResult Register() { ValdytojoRegictracijosViewModel model = new ValdytojoRegictracijosViewModel(); return(View(model)); }
public ActionResult Register(ValdytojoRegictracijosViewModel model) { try { if (ModelState.IsValid) { bool userExists = repository.Set <Darbuotojas>().Any(x => x.el_pastas == model.Email); bool userExists2 = repository.Set <Klientas>().Any(x => x.el_pastas == model.Email); if (userExists || userExists2) { throw new ITPProException("Toks el. paštas jau registruotas sistemoje"); } if (model.Password != model.RepeatPassword) { throw new ITPProException("Slaptažodis blogai įvestas"); } byte[] salt; new RNGCryptoServiceProvider().GetBytes(salt = new byte[16]); var pbkdf2 = new Rfc2898DeriveBytes(model.Password, salt, 10000); byte[] hash = pbkdf2.GetBytes(20); byte[] hashBytes = new byte[36]; Array.Copy(salt, 0, hashBytes, 0, 16); Array.Copy(hash, 0, hashBytes, 16, 20); string savedPasswordHash = Convert.ToBase64String(hashBytes); var client = repository.Set <Klientas>().Add(new Klientas { vardas = model.Name, pavarde = model.Surname, el_pastas = model.Email, slaptazodis = savedPasswordHash, adresas = model.Address, lytis = model.Gender, telefonas = model.Phone, sukurimo_data = DateTime.Now }); repository.SaveChanges(); int clientid = repository.Set <Klientas>().Where(x => x.el_pastas == model.Email).Select(x => x.kliento_kodas).FirstOrDefault(); List <string> HotelsNet = repository.Set <Viesbutis>().Select(x => x.viesbuciu_tinklas).ToList(); List <string> uniqNet = HotelsNet.Distinct().ToList(); if (uniqNet != null) { IEnumerable <Teisiu_Tipo_Enum> teisiu_tipas = repository.Set <Teisiu_Tipo_Enum>(); foreach (string value in uniqNet) { var rights = repository.Set <Teises>().Add(new Teises { teisiu_statusas = true, viesbuciu_tinklas = value, fk_Klientaskliento_kodas = clientid, tipas = teisiu_tipas.First(), data_iki = DateTime.Now }); } } repository.SaveChanges(); return(RedirectToAction("Index", "Home")); } } catch (ITPProException ex) { ModelState.AddModelError("", ex.Message); } return(View(model)); }