Выход из альфы

This commit is contained in:
2025-03-10 03:55:58 +03:00
parent 4c892f6240
commit e090e7f834
3 changed files with 12 additions and 7 deletions

View File

@@ -7,7 +7,7 @@
- [ ] Сделать обновление валидации от radiobutton - [ ] Сделать обновление валидации от radiobutton
- [ ] Добавить направления других институтов - [ ] Добавить направления других институтов
- [ ] Найти шаблоны других институтов и написать выбор шаблонов - [ ] Найти шаблоны других институтов и написать выбор шаблонов
- [ ] Рефактор кода - [x] Рефактор кода
# Лицензия # Лицензия

View File

@@ -5,13 +5,17 @@
<PageTitle>Отчислятор 3000</PageTitle> <PageTitle>Отчислятор 3000</PageTitle>
<JS For="this" Args="[AuthenticationStateProvider.GetAuthenticationStateAsync().Result.User.Identity?.IsAuthenticated]" /> <JS For="this"
Args="[AuthenticationStateProvider.GetAuthenticationStateAsync().Result.User.Identity?.IsAuthenticated]"/>
<div class="relative"> <div class="relative">
<dialog id="info_modal" class="modal modal-bottom sm:modal-middle"> <dialog id="info_modal" class="modal modal-bottom sm:modal-middle">
<div class="modal-box"> <div class="modal-box">
<h3 class="text-lg font-bold">Сервис отчислений</h3> <h3 class="text-lg font-bold">Сервис отчислений</h3>
<p class="py-4">Привет, это НЕОФИЦИАЛЬНЫЙ сервис отчислений!<br><br>Авторизуясь Вы соглашаетесь передать личные данные, такие как email + фио (из авторизации ЮФУ), и все остальные запрошенные далее. На нашем сервере хранятся только Ваши сгенерированные pdf заявления, другая информация сохраняется только в браузере.<br><br>Автор: <a target="_blank" href="https://t.me/serega404">@@serega404</a></p> <p class="py-4">Привет, это НЕОФИЦИАЛЬНЫЙ сервис отчислений!<br><br>Авторизуясь Вы соглашаетесь передать
личные данные, такие как email + фио (из авторизации ЮФУ), и все остальные запрошенные далее. На нашем
сервере хранятся только Ваши сгенерированные pdf заявления, другая информация сохраняется только в
браузере.<br><br>Автор: <a target="_blank" href="https://t.me/serega404">@@serega404</a></p>
<div class="modal-action"> <div class="modal-action">
<form method="dialog"> <form method="dialog">
<button class="btn">Закрыть</button> <button class="btn">Закрыть</button>
@@ -37,7 +41,7 @@
<div <div
class="text-center font-bold text-4xl md:text-5xl w-max absolute left-1/2 -top-1/2 transform -translate-x-1/2 italic"> class="text-center font-bold text-4xl md:text-5xl w-max absolute left-1/2 -top-1/2 transform -translate-x-1/2 italic">
<br>Отчислятор 3000<br> <br>Отчислятор 3000<br>
<p class="text-2xl text-red-500">alpha</p></div> </div>
<div class="flex flex-col space-y-4 w-96"> <div class="flex flex-col space-y-4 w-96">
<div class="card rounded-badge bg-base-200 p-4"> <div class="card rounded-badge bg-base-200 p-4">
@* <h2 class="card-title text-center text-3xl justify-center my-4">Мне нужно...</h2> *@ @* <h2 class="card-title text-center text-3xl justify-center my-4">Мне нужно...</h2> *@

View File

@@ -8,7 +8,7 @@ namespace Otchinslator.Services;
public interface IStatementGenerator public interface IStatementGenerator
{ {
public Task<MemoryStream> GenerateStatementAsync(UserData userData); public Task<MemoryStream> GenerateStatementAsync(UserData userData, string TemplateName = "ictis.docx");
public Task<Stream> ConvertToPDFAsync(MemoryStream stream); public Task<Stream> ConvertToPDFAsync(MemoryStream stream);
} }
@@ -21,9 +21,10 @@ public class StatementGenerator(GotenbergSharpClient gotenbergSharpClient) : ISt
private const string FreeEducationText = "за счет ассигнований федерального бюджета"; private const string FreeEducationText = "за счет ассигнований федерального бюджета";
private const string PaidEducationText = "на договорной (платной) основе"; private const string PaidEducationText = "на договорной (платной) основе";
public async Task<MemoryStream> GenerateStatementAsync(UserData userData) // TODO: Выбор темплейтов не реализован
public async Task<MemoryStream> GenerateStatementAsync(UserData userData, string TemplateName = "ictis.docx")
{ {
byte[] textByteArray = File.ReadAllBytes("Templates/ictis.docx"); byte[] textByteArray = File.ReadAllBytes("Templates/" + TemplateName);
MemoryStream stream = new MemoryStream(); MemoryStream stream = new MemoryStream();
stream.Write(textByteArray, 0, textByteArray.Length); stream.Write(textByteArray, 0, textByteArray.Length);
using (WordprocessingDocument doc = WordprocessingDocument.Open(stream, true)) using (WordprocessingDocument doc = WordprocessingDocument.Open(stream, true))