отчеты Ворд/Эксель
This commit is contained in:
parent
18e9fa7508
commit
53c6b8fb76
@ -20,7 +20,9 @@ namespace StudentWebClient.Controllers
|
||||
private readonly IProductLogic _product;
|
||||
private readonly IInterestLogic _interest;
|
||||
private readonly IStudentLogic _student;
|
||||
public HomeController(ILogger<HomeController> logger, IDiyLogic diy, IProductLogic product , ITaskLogic task , IInterestLogic interest, IStudentLogic student)
|
||||
private readonly IReportLogic _report;
|
||||
public HomeController(ILogger<HomeController> logger, IDiyLogic diy,
|
||||
IProductLogic product , ITaskLogic task , IInterestLogic interest, IStudentLogic student, IReportLogic report)
|
||||
{
|
||||
_logger = logger;
|
||||
_diy = diy;
|
||||
@ -28,6 +30,7 @@ namespace StudentWebClient.Controllers
|
||||
_task = task;
|
||||
_interest = interest;
|
||||
_student = student;
|
||||
_report = report;
|
||||
}
|
||||
|
||||
public IActionResult Index()
|
||||
@ -70,7 +73,7 @@ namespace StudentWebClient.Controllers
|
||||
{
|
||||
Id = APIClient.Student.Id,
|
||||
Name = name,
|
||||
Email = login,
|
||||
Email = email,
|
||||
Password = password,
|
||||
Login = login,
|
||||
Class = scClass
|
||||
@ -119,7 +122,7 @@ namespace StudentWebClient.Controllers
|
||||
_student.Create( new StudentBindingModel
|
||||
{
|
||||
Name = name,
|
||||
Email = login,
|
||||
Email = email,
|
||||
Password = password,
|
||||
Login = login,
|
||||
Class = scClass
|
||||
@ -420,8 +423,30 @@ namespace StudentWebClient.Controllers
|
||||
}
|
||||
public IActionResult Reports()
|
||||
{
|
||||
var list = _interest.ReadList(new InterestSearchModel { StudentId = APIClient.Student.Id });
|
||||
var simpInterest = list.Select(x => new { InterestId = x.Id, InterestName = x.Title });
|
||||
ViewBag.Interests = new MultiSelectList(simpInterest, "InterestId", "InterestName");
|
||||
return View();
|
||||
}
|
||||
|
||||
|
||||
public IActionResult GetPartial(int[] interests, string mode)
|
||||
{
|
||||
var list = interests.Select(x => _interest.ReadElement(new InterestSearchModel { Id = x })).ToList();
|
||||
if (mode.Equals("Excel"))
|
||||
{
|
||||
_report.SaveInterestLessonToExcelFile
|
||||
(new ReportBindingModel { FileName = $"C:\\Users\\Вова\\Documents\\Учеба\\Reports\\{APIClient.Student.Name}-{DateTime.Now.ToString("dd/MM/yyyy")}.xlsx", Interests = list, StudentId = APIClient.Student.Id });
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
_report.SaveInterestLessonToWordFile
|
||||
(new ReportBindingModel { FileName = $"C:\\Users\\Вова\\Documents\\Учеба\\Reports\\{APIClient.Student.Name}-{DateTime.Now.ToString("dd/MM/yyyy")}.docx", Interests = list, StudentId = APIClient.Student.Id });
|
||||
|
||||
}
|
||||
var items = _report.GetInterestLesson(new ReportBindingModel { Interests = list, StudentId = APIClient.Student.Id});
|
||||
return PartialView("_LessonListPartial", items);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1 +1,23 @@
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Report";
|
||||
}
|
||||
<form id="my_form" asp-action="Reports" method="get" data-ajax="true" data-ajax-method="get" data-ajax-update="#panel" data-ajax-mode='replace' data-ajax-url="@Url.Action("GetPartial","Home")">
|
||||
<select id="mode" name="mode">
|
||||
<option>Excel</option>
|
||||
<option>Word</option>
|
||||
</select>
|
||||
<div class="row">
|
||||
<div class="col-4">Интересы:</div>
|
||||
<div class="col-8">
|
||||
@Html.ListBox("interests", (MultiSelectList)ViewBag.Interests)
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-8"></div>
|
||||
<div class="col-4"><input type="submit" value="Создать" class="btn btn-primary" /></div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="row pr-3 pl-3" id="panel">
|
||||
@section scripts{
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajax-unobtrusive/3.2.6/jquery.unobtrusive-ajax.min.js"></script>
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
@using SchoolAgainStudyContracts.ViewModel;
|
||||
@model List<ReportInterestLessonViewModel>
|
||||
|
||||
|
||||
<div class="text-center">
|
||||
@{
|
||||
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Название
|
||||
</th>
|
||||
<th>
|
||||
Интересы
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var item in Model)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.Title)
|
||||
</td>
|
||||
<td>
|
||||
<select asp-items="@(new SelectList(item.Lessons))"></select>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
}
|
||||
</div>
|
Loading…
Reference in New Issue
Block a user