public ActionResult Create(FormCollection collection) { var userId = User.Identity.GetUserId(); var loggedInUser = userRepository.GetById(Convert.ToInt32(userId)); if (loggedInUser.Role == "admin") { try { var debtors = collection["Debtors[]"].Split(','); var urls = collection["Urls[]"].Split(','); var user = new User(); user.SetCredentials(collection["Username"], collection["Password"]); user.ApiKey = collection["ApiKey"]; user.AllowedIP = collection["AllowedIP"]; var role = (Role)Convert.ToInt32(collection["UserRole"]); user.Role = role.ToString(); if (collection["Email"] != null) { user.Email = collection["Email"]; } else { user.Email = ""; } foreach (string debtorId in debtors) { if (!String.IsNullOrEmpty(debtorId)) { var parts = debtorId.Split(' '); var debtor = debtorRepository.GetById(parts[0]); user.Debtors.Add(debtor); } } foreach (string urlName in urls) { if (!String.IsNullOrEmpty(urlName)) { var url = urlRepository.GetByName(urlName); user.Urls.Add(url); } } userRepository.Insert(user); return(RedirectToAction("Index")); } catch (Exception e) { return(View()); } } else { throw new Exception("You are not allowed to access this"); } }
public void UpdateUser() { var userRep = new UserRepository(); var user = userRep.GetByUsername("raymond"); /* * user.Urls.Clear(); * var urlRep = new UrlRepository(); * * var url1 = urlRep.GetByName("api/woood-web-availability/list"); * var url2 = urlRep.GetByName("api/woood-structureview/list"); * * user.Urls.Add(url1); * user.Urls.Add(url2); */ user.Debtors.Clear(); var debtorRep = new DebtorRepository(); var url1 = debtorRep.GetById("1001502"); user.Debtors.Add(url1); userRep.Update(user); }