コード例 #1
0
 public async Task <IActionResult> EditUsername(EditUserViewModel viewModel)
 {
     // Check just single key of model state.
     if (ModelState.GetValidationState("UserName") != ModelValidationState.Valid)
     {
         return(RedirectToAction("EditUser", new { user = viewModel.UserName, option = "Username" }));
     }
     try
     {
         if (await AdministrationServiceLogic.ChangeUserName(viewModel.UserName, viewModel.NewUserName, context, userManager))
         {
             TempData["message"] = "User name change successful.";
             return(RedirectToAction("EditUser", new { user = viewModel.NewUserName, option = "Username" }));
         }
         else
         {
             TempData["message"] = "New user name is not unique.";
             return(RedirectToAction("EditUser", new { user = viewModel.UserName, option = "Username" }));
         }
     }
     catch (Exception e)
     {
         TempData["message"] = e.Message;
         return(RedirectToAction("EditUser", new { user = viewModel.UserName, option = "Username" }));
     }
 }
コード例 #2
0
 public async Task <IActionResult> EditStatus(EditUserViewModel viewModel)
 {
     try
     {
         bool updateResult;
         if (viewModel.IsLocked)
         {
             updateResult = await AdministrationServiceLogic.LockUser(viewModel.UserName, context);
         }
         else
         {
             updateResult = await AdministrationServiceLogic.UnlockUser(viewModel.UserName, context);
         }
         if (updateResult == true)
         {
             TempData["message"] = "User status change successful.";
         }
         else
         {
             TempData["message"] = "User status not changed.";
         }
     }
     catch (Exception e)
     {
         TempData["message"] = e.Message;
         return(RedirectToAction("EditUser", new { user = viewModel.UserName, option = "Status" }));
     }
     return(RedirectToAction("EditUser", new { user = viewModel.UserName, option = "Status" }));
 }
コード例 #3
0
        /// <summary>
        /// Allows administrator to view and edit help page specified by id.
        /// </summary>
        /// <param name="hPage"></param>
        /// <returns></returns>
        public async Task <IActionResult> EditHelpPage(int hPage, EditHelpPageViewModel viewModel)
        {
            //Update page before refresh.
            if (viewModel.WasEdited && ModelState.IsValid)
            {
                int result = await AdministrationServiceLogic.UpdateHelpPage(hPage, viewModel, context);

                if (result > 0)
                {
                    ViewBag.Message = "Help page saved.";
                }
                else
                {
                    switch (result)
                    {
                    case 0:
                        ViewBag.Message = "An error occurred while updating help page";
                        break;

                    case -1:
                        ViewBag.Message = "Help page data is invalid";
                        break;

                    case -2:
                        ViewBag.Message = "Help page title is invalid (it should be character string shorter than " +
                                          IoCContainer.DbSettings.Value.MaxHelpPageTitleSize + ").";
                        break;

                    case -3:
                        ViewBag.Message = "Help page content is invalid (it should be character string shorter than " +
                                          IoCContainer.DbSettings.Value.MaxHelpPageSize + ").";
                        break;

                    case -4:
                        ViewBag.Message = "One of tags is invalid (it should be character string shorter than " +
                                          IoCContainer.DbSettings.Value.MaxTagLength + ").";
                        break;
                    }
                }
            }

            HelpPage helpPage = await context.HelpPages.FindAsync(hPage);

            List <HelpTag> helpTags = SearchEngine.FindTagsForHelpPage(hPage, context);

            string helpTagsString = string.Empty;

            foreach (HelpTag tag in helpTags)
            {
                helpTagsString += (tag.Value + " ");
            }

            ViewData["pageTags"] = helpTagsString;
            ViewData["helpPage"] = helpPage;
            return(View());
        }
コード例 #4
0
 public IActionResult FindUser(FindUserViewModel viewModel)
 {
     if (SharedServiceLogic.IsFindUserViewModelEmpty(viewModel))
     {
         return(RedirectToAction("FindUser"));
     }
     ViewData["users"] = ViewData["users"] = AdministrationServiceLogic
                                             .MapUsersToViewModel(SearchEngine.FindUsersByViewModel(viewModel, context));
     return(View());
 }
コード例 #5
0
        /// <summary>
        /// Gets specified user from database and sends it to view to show administrator
        /// in context of which user he is working.
        /// </summary>
        /// <param name="user"></param>
        /// <param name="option"></param>
        /// <returns></returns>
        public IActionResult EditUser(string user, string option)
        {
            ViewData["option"] = option;
            ViewBag.Message    = TempData["message"];

            User currentUser = context.Users
                               .Include(u => u.Profile)
                               .Include(u => u.Profile.Address)
                               .Where(u => u.UserName == user)
                               .Single();

            return(View(AdministrationServiceLogic.MapUserToViewModel(currentUser)));
        }
コード例 #6
0
 /// <summary>
 /// Returns view with default set of users.
 /// </summary>
 /// <returns></returns>
 public IActionResult FindUser()
 {
     ViewData["users"] = AdministrationServiceLogic
                         .MapUsersToViewModel(SearchEngine.FindTopUsers(context));
     return(View());
 }