Подготовка к отправке на почту
This commit is contained in:
parent
3f786d3886
commit
2cf4884362
@ -39,6 +39,7 @@ namespace SchoolAgainStudyBusinessLogic.BusinessLogic
|
||||
|
||||
public ReportLogic(IInterestStorage interestStorage, IMaterialStorage materialStorage, IProductStorage productStorage, IDiyStorage diyStorage, ITaskStorage taskStorage, ILessonStorage lessonStorage, AbstractSaveToExcelTeacher saveToExcelTeacher, AbstractSaveToWordTeacher saveToWordTeacher, AbstractSaveToPdfTeacher saveToPdfTeacher, AbstractSaveToExcelStudent saveToExcelStudent, AbstractSaveToWordStudent saveToWordStudent, AbstractSaveToPdfStudent saveToPdfStudent)
|
||||
{
|
||||
|
||||
_interestStorage = interestStorage;
|
||||
_materialStorage = materialStorage;
|
||||
_productStorage = productStorage;
|
||||
@ -122,6 +123,7 @@ namespace SchoolAgainStudyBusinessLogic.BusinessLogic
|
||||
|
||||
public List<ReportInterestViewModel> GetInterests(ReportBindingModel model)
|
||||
{
|
||||
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
|
||||
var interests = _interestStorage.GetFilteredList(new InterestSearchModel
|
||||
{
|
||||
StudentId = model.StudentId
|
||||
@ -151,7 +153,7 @@ namespace SchoolAgainStudyBusinessLogic.BusinessLogic
|
||||
{
|
||||
list.Add(new ReportInterestViewModel
|
||||
{
|
||||
InterestTitle = interests.FirstOrDefault(x => x.Id == interestProduct).ToString(),
|
||||
InterestTitle = interests.FirstOrDefault(x => x.Id == interestProduct).Title,
|
||||
ProductTitle = product.Title,
|
||||
DateCreateProduct = product.DateCreate,
|
||||
DiyTitle = diy.Title,
|
||||
|
@ -8,6 +8,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="DocumentFormat.OpenXml" Version="2.19.0" />
|
||||
<PackageReference Include="MailKit" Version="4.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
|
||||
<PackageReference Include="PdfSharp.MigraDoc.Standard" Version="1.51.15" />
|
||||
<PackageReference Include="System.Text.Encoding" Version="4.3.0" />
|
||||
|
@ -447,6 +447,26 @@ namespace StudentWebClient.Controllers
|
||||
var items = _report.GetInterestLesson(new ReportBindingModel { Interests = list, StudentId = APIClient.Student.Id});
|
||||
return PartialView("_LessonListPartial", items);
|
||||
}
|
||||
public IActionResult SendingEmail()
|
||||
{
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
public IActionResult GetPartialForPDF(string dateFrom, string dateTo)
|
||||
{
|
||||
var _dateFrom = DateTime.SpecifyKind(DateTime.Parse(dateFrom), DateTimeKind.Utc);
|
||||
var _dateTo = DateTime.SpecifyKind(DateTime.Parse(dateTo), DateTimeKind.Utc);
|
||||
if(_dateFrom > _dateTo)
|
||||
{
|
||||
throw new Exception("Не верные даты");
|
||||
}
|
||||
_report.SaveInterestsToPdfFile
|
||||
(new ReportBindingModel { FileName = $"C:\\Users\\Вова\\Documents\\Учеба\\Reports\\{APIClient.Student.Name} от {_dateFrom.ToString("dd/MM/yyyy")}.pdf" ,
|
||||
DateFrom = _dateFrom, DateTo = _dateTo, StudentId = APIClient.Student.Id});
|
||||
|
||||
var items = _report.GetInterests(new ReportBindingModel { DateFrom = _dateFrom, DateTo = _dateTo, StudentId = APIClient.Student.Id });
|
||||
return PartialView("_LessonListPartial", items);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,16 +1,14 @@
|
||||
@{
|
||||
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>
|
||||
<form id="my_form" asp-action="SendingEmail" method="get" data-ajax="true" data-ajax-method="get" data-ajax-update="#panel" data-ajax-mode='replace' data-ajax-url="@Url.Action("GetPartialForPDF","Home")">
|
||||
<div class="row">
|
||||
<div class="col-4">Интересы:</div>
|
||||
<div class="col-8">
|
||||
@Html.ListBox("interests", (MultiSelectList)ViewBag.Interests)
|
||||
</div>
|
||||
<div class="col-4">От:</div>
|
||||
<div class="col-8">@Html.TextBox("dateFrom" ,"" ,new {type="Date"})</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">До:</div>
|
||||
<div class="col-8">@Html.TextBox("dateTo" ,"" ,new {type="Date"})</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-8"></div>
|
||||
@ -19,4 +17,4 @@
|
||||
</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>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajax-unobtrusive/3.2.6/jquery.unobtrusive-ajax.min.js"></script>}
|
@ -44,6 +44,9 @@
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Reports">Отчеты</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="SendingEmail">НаПочту</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user