public ActionResult CreateUser(UserRegistrationViewModel userRegistrationViewModel) { //UserRegistration objUserRegistration = new UserRegistration(); // var transaction = objUserRegistration; using (var dbTransaction = db.Database.BeginTransaction()) { UserRegistration objUserRegistration = db.UserRegistrations.Create(); Address address = db.Addresses.Create(); Course course = db.Courses.Create(); UserInRole userInRole = db.UserInRoles.Create(); SecurityTable securityTable = db.SecurityTables.Create(); try { if (ModelState.IsValid) { address.CurrentAddress = userRegistrationViewModel.CurrentAddress; address.PermanentAddress = userRegistrationViewModel.PermanentAddress; address.ZipCode = userRegistrationViewModel.ZipCode; address.CountryId = userRegistrationViewModel.CountryId; address.StateId = userRegistrationViewModel.StateId; address.CityId = userRegistrationViewModel.CityId; //Random random = new Random(); //int i = random.Next(); //userRegistrationViewModel.AddressId = i; // for only taking what it return to check db.Addresses.Add(address); db.SaveChanges(); // savepoint 1 var temp = address.AddressId; //not require because .add create new id objUserRegistration.UserId = Guid.NewGuid(); objUserRegistration.Fname = userRegistrationViewModel.Fname; objUserRegistration.Lname = userRegistrationViewModel.Lname; objUserRegistration.DateOfBirth = userRegistrationViewModel.DateOfBirth; objUserRegistration.Hobbies = userRegistrationViewModel.Hobbies; objUserRegistration.Email = userRegistrationViewModel.Email; //objUserRegistration.Password = userRegistrationViewModel.Password; objUserRegistration.Gender = userRegistrationViewModel.Gender; objUserRegistration.IsActive = userRegistrationViewModel.IsActive; objUserRegistration.IsVerified = userRegistrationViewModel.IsVerified; objUserRegistration.DateCreated = DateTime.Now; objUserRegistration.DateModified = DateTime.Now; objUserRegistration.CourseId = userRegistrationViewModel.CourseId; objUserRegistration.AddressId = temp; ////for course //var tempCourse = db.Courses.Where(s => s.CourseId == userRegistrationViewModel.CourseId).Select(s => s.CourseName); //password Hashing passwords with MD5 or sha-256 C# objUserRegistration.Password = Convert.ToBase64String(System.Security.Cryptography.SHA256.Create() .ComputeHash(Encoding.UTF8.GetBytes(userRegistrationViewModel.Password))); db.UserRegistrations.Add(objUserRegistration); db.SaveChanges(); // savepoint 2 var tempUserId = db.UserRegistrations.Select(a => a.UserId); //for Role in UserInRole userInRole.RoleId = userRegistrationViewModel.RoleId; userInRole.UserId = objUserRegistration.UserId; db.UserInRoles.Add(userInRole); db.SaveChanges(); // Security PIN securityTable.UserId = objUserRegistration.UserId; securityTable.SecurityQuestion = userRegistrationViewModel.SecurityPIN; db.SecurityTables.Add(securityTable); db.SaveChanges(); dbTransaction.Commit(); Response.Write("<script>alert('Data inserted successfully')</script>"); return(RedirectToAction("UserLogIn", "UserLogIn")); } ModelState.AddModelError("", "please fill the form properly"); return(View(userRegistrationViewModel)); } catch (Exception ex) { Console.WriteLine("Exception source: {0} user is failed to register", ex.Message); dbTransaction.Rollback(); ModelState.AddModelError("", "please fill the form properly"); } } return(RedirectToAction("Index", "Home")); }
public WimImage(SecurityTable securityTable, DirectoryTableEntry[] directoryTable) { _securityTable = securityTable; _directoryTable = directoryTable; }