예제 #1
0
        // 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));
        }
예제 #2
0
        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);
        }
예제 #3
0
        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));
        }
예제 #4
0
        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);
        }