public JsonResult User_Create(UserModel userModel) { if (userModel != null && ModelState.IsValid) { try { AsmUser asmUser = null; if (userModel.WamsUserNameIsEmpty == false) { asmUser = _userBusiness.GetAsmUser(userModel.WamsUserName); if (asmUser == null) { return(Json(new { success = false, Errors = $"Could not find WAMS User ID '{userModel.WamsUserName}'" })); } if (_userBusiness.AsmUserInUse(userModel.WamsUserName)) { return(Json(new { success = false, Errors = $"WAMS User ID '{userModel.WamsUserName}' is already in use" })); } } var user = new User { Email = userModel.Email, FullName = userModel.FullName, VendorVendorId = userModel.VendorVendorId, UserAsmUser = userModel.WamsUserNameIsEmpty ? null : new UserAsmUser { WamsId = asmUser.WamsId, WamsUser = asmUser.UserName } }; _userBusiness.Create(user); _userBusiness.SaveChanges(WamsUser.WamsId); var newid = _userBusiness.GetUsers().First(u => u.FullName == userModel.FullName && u.Email == userModel.Email).UserId; return(Json(new { success = true, Email = userModel.Email, FullName = userModel.FullName, newid = newid }, JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json(new { success = false, Errors = string.Format("Could not create user {0}", userModel.FullName) })); } } return(Json(new { success = false, Errors = "Could not create user" }, JsonRequestBehavior.AllowGet)); }
public JsonResult User_Update(UserModel userModel) { if (ModelState.IsValid && userModel != null) { try { AsmUser newAsmUser = null; if (userModel.WamsUserNameIsEmpty == false) { newAsmUser = _userBusiness.GetAsmUser(userModel.WamsUserName); if (newAsmUser == null) { return(Json(new { success = false, Errors = "Could not find WAMS User ID" })); } if (_userBusiness.AsmUserInUse(userModel.WamsUserName, userModel.UserId)) { return(Json(new { success = false, Errors = $"WAMS User ID '{userModel.WamsUserName}' is already in use" })); } } var user = _userBusiness.GetUser(userModel.UserId); if (user != null) { user.Email = userModel.Email; user.FullName = userModel.FullName; user.VendorVendorId = userModel.VendorVendorId; if (userModel.WamsUserNameIsEmpty) { if (user.UserAsmUser != null) { _userBusiness.Remove(user.UserAsmUser); } } else { if (user.UserAsmUser == null) { if (newAsmUser != null) { user.UserAsmUser = new UserAsmUser { WamsId = newAsmUser.WamsId, WamsUser = newAsmUser.UserName } } ; } else { if (newAsmUser != null) { user.UserAsmUser.WamsId = newAsmUser.WamsId; user.UserAsmUser.WamsUser = newAsmUser.UserName; } } } _userBusiness.SaveChanges(WamsUser.WamsId); return(Json(new { Email = userModel.Email, FullName = userModel.FullName, UserId = userModel.UserId, success = true }, JsonRequestBehavior.AllowGet)); } } catch (Exception) { return(Json(new { success = false, Errors = $"Could not update user {userModel.FullName}" })); } } return(Json(new { success = false, Errors = "Could not update user" }, JsonRequestBehavior.AllowGet)); }
public ActionResult Edit(UserModel userModel) { if (ModelState.IsValid && userModel != null) { try { AsmUser newAsmUser = null; if (userModel.WamsUserNameIsEmpty == false) { newAsmUser = _userBusiness.GetAsmUser(userModel.WamsUserName); if (newAsmUser == null) { return(Json(new { Errors = "Could not find WAMS User ID" })); } if (_userBusiness.AsmUserInUse(userModel.WamsUserName, userModel.UserId)) { return(Json(new { Errors = $"WAMS User ID '{userModel.WamsUserName}' is already in use" })); } } var user = _userBusiness.GetUser(userModel.UserId); if (user != null) { user.Email = userModel.Email; user.FullName = userModel.FullName; user.VendorVendorId = userModel.VendorVendorId; if (userModel.WamsUserNameIsEmpty) { if (user.UserAsmUser != null) { _userBusiness.Remove(user.UserAsmUser); } } else { if (user.UserAsmUser == null) { if (newAsmUser != null) { user.UserAsmUser = new UserAsmUser { WamsId = newAsmUser.WamsId, WamsUser = newAsmUser.UserName } } ; } else { if (newAsmUser != null) { user.UserAsmUser.WamsId = newAsmUser.WamsId; user.UserAsmUser.WamsUser = newAsmUser.UserName; } } } _userBusiness.SaveChanges(WamsUser.WamsId); } else { user = new User(); user.Email = userModel.Email; user.FullName = userModel.FullName; user.VendorVendorId = userModel.VendorVendorId; if (userModel.WamsUserNameIsEmpty == false && newAsmUser != null) { user.UserAsmUser = new UserAsmUser { WamsId = newAsmUser.WamsId, WamsUser = newAsmUser.UserName }; } _userBusiness.Create(WamsUser.WamsId, user, true); } } catch (Exception) { return(Json(new { Errors = $"Could not update user" })); } } else { var allErrors = ModelState.Values.SelectMany(v => v.Errors.Select(b => b.ErrorMessage)); return(Json(new { Errors = string.Join("<br />", allErrors) })); } return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); }