// GET: admin/EditUser public ActionResult EditUser(int userID) { MvcApplication.logger.log("Controller: Admin Action: Edit User Method: GET Info: Function Entered", 1); UserDataHandler dataSource = new UserDataHandler(); //Get all the user data and applications EditUserMV user = dataSource.setEditData(userID); if (user == null) { MvcApplication.logger.log("Controller: Admin Action: Edit User Method: GET Error: Initilization Error", 3); throw new Exception("CustomizeDeveloperMessage: Not able to retireve all User details and Application List. Initialization Error."); } TempData["userID"] = user.UserID; return(View(user)); }
public bool updateUserInDB(EditUserMV user) { bool result = false; using (ErrorLoggerDBContext context = new ErrorLoggerDBContext()) { try { var user_ = context.Users.Include(x => x.loginDetails).Where(x => x.UserId != user.UserID).ToList(); foreach (User a in user_) { if (a.loginDetails.emailID == user.Email) { return(false); } } var updateUser = context.Users.Where(x => x.UserId.Equals(user.UserID)).First(); updateUser.loginDetails.emailID = user.Email; updateUser.firstName = user.FirstName; updateUser.lastName = user.LastName; updateUser.roleID = user.Role; updateUser.statusText = user.Status; updateUser.Applications.Clear(); foreach (int appID in user.submittedApplications) { if (appID == -1) { break; } var application = context.Applications.Where(x => x.ApplicationId.Equals(appID)).First(); updateUser.Applications.Add(application); } context.SaveChanges(); result = true; } catch { Log.Error("Function:updateUserInDB CustomizeDeveloperMessage: Not able to update Application in DB. Database Error."); throw new Exception("CustomizeDeveloperMessage: Not able to update Application in DB. Database Error. "); } } return(result); }
public ActionResult EditUser(EditUserMV user) { if (ModelState.IsValid) { UserDataHandler dataSource = new UserDataHandler(); user.UserID = (int)TempData["userID"]; if (dataSource.updateUserInDB(user)) { return(RedirectToAction("viewUserDetails", "Admin", new { userID = user.UserID })); } else { MvcApplication.logger.log("Controller: Admin Action: Edit User Method: POST Error: User Email Already exist", 3); TempData["userCreateMessage"] = "User Email already exist."; } } return(View(user)); }
public EditUserMV setEditData(int userID) { EditUserMV applications = new EditUserMV(); using (ErrorLoggerDBContext context = new ErrorLoggerDBContext()) { try { var app = context.Applications.Select(c => new { AppID = c.ApplicationId, ApplicationName = c.applicationName }).ToList(); app.Insert(0, new { AppID = -1, ApplicationName = "Null" }); var user = context.Users.Where(x => x.UserId.Equals(userID)).First(); applications.appID = new int[user.Applications.Count]; if (user != null) { applications.UserID = user.UserId; applications.Email = user.loginDetails.emailID; applications.Role = user.roleID; applications.FirstName = user.firstName; applications.LastName = user.lastName; applications.Status = user.statusText; applications.lastLoginTimestamp = user.lastLoginTimestamp; int i = 0; foreach (Application a in user.Applications) { applications.appID[i] = a.ApplicationId; i++; } } applications.Applications = new MultiSelectList(app, "AppID", "ApplicationName", applications.appID); } catch { Log.Error("Function: setEditData CustomizeDeveloperMessage: Not able to retireve all Applications. Database Error."); throw new Exception("CustomizeDeveloperMessage: Not able to retireve all Applications. Database Error."); } } return(applications); }