Дипломная работа: Автоматизация процесса контроля знаний учащихся ГОУ СОШ №31

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
88
14) Автоматизация контроля результатов обучения учащихся [Электронный
ресурс] /
URL:http://www.knowledge.allbest.ru/pedagogics/3c0b65625a3bd78b5c53b8952130
6d37_0.html (дата обращения: 18.05.2020).
15) Официальный сайт ГОУ СОШ №31 [Офиц. сайт]. URL:http://www.s31.ru
(дата обращения: 18.05.2020).
16) Анализ технологий и систем управления электронным обучением
[Электронный ресурс] / URL:http://www.textarchive.ru/c-2334344-pall.html (дата
обращения: 18.05.2020).
89
Приложения
Листинг основных программных модулей
using System.Threading.Tasks;
using KCS.UI.Web.Controllers.Shared;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using KCS.DTO.Account;
using KCS.Identity.Managers;
using KCS.UI.Web.Models.Account;
namespace KCS.UI.Web.Controllers
{
[Authorize]
public class AccountController : GenericController
{
public AccountController(UserManager userManager,
SignInManager<UserDTO> signInManager)
{
this.userManager = userManager;
this.signInManager = signInManager;
}
private readonly UserManager userManager;
private readonly SignInManager<UserDTO> signInManager;
[HttpGet]
[AllowAnonymous]
public async Task<IActionResult> Login(string returnUrl = null)
{
// Очищаем существующий внешний файл cookie, чтобы обеспечить
чистый процесс входа в систему.
await HttpContext.SignOutAsync(IdentityConstants.ExternalScheme);
ViewData["ReturnUrl"] = returnUrl;
return View();
}
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
90
public async Task<IActionResult> Login(LoginViewModel model, string
returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (!ModelState.IsValid)
return View(model);
var result = await signInManager.PasswordSignInAsync(model.Name,
model.Password, false, lockoutOnFailure: false);
if (result.Succeeded)
return RedirectToLocal(returnUrl);
ModelState.AddModelError(string.Empty, "Неверный логин или пароль.");
return View(model);
}
[HttpGet]
[AllowAnonymous]
public async Task<IActionResult> Register(string returnUrl = null)
{
ViewBag.RoleList = await userManager.GetRoles();
ViewBag.GroupList = await userManager.GetGroups();
ViewData["ReturnUrl"] = returnUrl;
return View();
}
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Register(RegisterViewModel model, string
returnUrl = null)
{
ViewBag.RoleList = await userManager.GetRoles();
ViewBag.GroupList = await userManager.GetGroups();
if (!ModelState.IsValid)
return View(model);
UserInfoDTO userInfoDTO = mapper.Map<UserInfoDTO>(model);
UserDTO userDTO = new UserDTO
91
{
UserName = model.Login
};
IdentityResult result = await userManager.CreateAsync(userDTO,
model.Password, userInfoDTO, model.IdRole);
if (result.Succeeded)
return RedirectToLocal(returnUrl);
AddErrors(result);
ViewData["ReturnUrl"] = returnUrl;
return View(model);
}
[HttpGet]
public async Task<IActionResult> Profile(int idUser)
{
UserInfoDTO userInfoDTO = await userManager.GetUserInfoById(idUser);
ViewBag.GroupList = await userManager.GetGroups();
ProfileModel model = mapper.Map<ProfileModel>(userInfoDTO);
return View(model);
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Profile(ProfileModel model)
{
ViewBag.RoleList = await userManager.GetRoles();
ViewBag.GroupList = await userManager.GetGroups();
if (!ModelState.IsValid)
return View(model);
model.IdGroup = model.IdGroup == 0 ? null : model.IdGroup;
UserInfoDTO userInfoDTO = mapper.Map<UserInfoDTO>(model);
IdentityResult result = await userManager.UpdateUserInfo(userInfoDTO);
if (result.Succeeded)
return RedirectToAction(nameof(HomeController.Index), "Home");
92
AddErrors(result);
return View(model);
}
[HttpGet]
public async Task<IActionResult> Logout()
{
await signInManager.SignOutAsync();
return RedirectToAction(nameof(HomeController.Index), "Home");
}
private IActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
return Redirect(returnUrl);
return RedirectToAction(nameof(HomeController.Index), "Home");
}
private void AddErrors(IdentityResult result)
{
foreach (IdentityError error in result.Errors)
{
ModelState.AddModelError(string.Empty, error.Description);
}
}
}
}
using System.Collections.Generic;
using System.Threading.Tasks;
using KCS.DTO;
using KCS.Logic.Interfaces;
using KCS.DataAccess.Interfaces;
using AutoMapper;
using KCS.DataAccess.Model.Tables;
using System;
using System.Linq;
using KCS.Logic.Logics.Common;
namespace KCS.Logic.Logic
{
public class TestManagementLogic : ManagementLogic, ITestManagementLogic
Источник: https://baza.diplomsite.ru/previewfile/2098