public ActionResult Create(OrganizationModel organizationmodel) { if (ModelState.IsValid) { //Creation of the Organization db.OrganizationInfo.Add(organizationmodel); db.SaveChanges(); //Changing of user role UserModel usermodel = db.Users.FirstOrDefault(u => u.Email == User.Identity.Name); //Old UserRole UserRole UR = usermodel.UserRoles.FirstOrDefault(u => u.UserId == usermodel.UserId); db.UserRoles.Remove(UR); db.SaveChanges(); //New UserRole UserRole NUR = new UserRole(); NUR.UserId = usermodel.UserId; Role R = new Role(); foreach (var role in db.Roles.ToList()) { if (role.RoleName == "Organization") { R = role; break; } } UR.RoleId = R.RoleId; UR.Role = R; db.UserRoles.Add(UR); usermodel.OrganizationId = organizationmodel.OrganizationId; db.SaveChanges(); //Redirect back to home return RedirectToAction("Index", "Home", null); } return View(organizationmodel); }
public ActionResult Edit(OrganizationModel organizationmodel) { if (ModelState.IsValid) { db.Entry(organizationmodel).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(organizationmodel); }
public ActionResult CreateUser(UserModel user) { if (ModelState.IsValid) { using (var db = new DataContext()) { //By default all registration of any user will start off as a normal user till they decide to request for a operator role //in manage a site/resort or both. if (db.Users.FirstOrDefault(u => u.Email == user.Email) == null) { var crypto = new SimpleCrypto.PBKDF2(); var encryptPass = crypto.Compute(user.Password); var u = new UserModel(); u.Email = user.Email; u.Password = encryptPass; u.PasswordSalt = crypto.Salt; db.Users.Add(u); db.SaveChanges(); UserRole UR = new UserRole(); UR.UserId = u.UserId; //Get from User input upon creating a new User //u.UserRoles = user.UserRoles; //Role R = new Role(); //foreach (var role in db.Roles.ToList()) //{ // if (role.RoleName == u.UserRoles.ToString()) // { // R = role; // break; // } //} Role R = new Role(); foreach (var role in db.Roles.ToList()) { if (role.RoleName == "Organization") { R = role; break; } } UR.RoleId = R.RoleId; UR.Role = R; db.UserRoles.Add(UR); db.SaveChanges(); OrganizationModel info = new OrganizationModel(); db.OrganizationInfo.Add(info); db.SaveChanges(); u.OrganizationId = info.OrganizationId; db.SaveChanges(); return Login(user); } } } else { ModelState.AddModelError("", "Data input is incorrect!"); } return View(); }