Список документов в docx файл

This commit is contained in:
Данила Мочалов 2023-03-11 20:24:11 +04:00
parent 1023239b77
commit 4a1835cd89
6 changed files with 36 additions and 17 deletions

View File

@ -33,7 +33,7 @@
this.бланкиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.документыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.отчетыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.списокБланковToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.списокДокументовToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.бланкиПоДокументамToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.списокЗаказовToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.dataGridView = new System.Windows.Forms.DataGridView();
@ -84,18 +84,19 @@
// отчетыToolStripMenuItem
//
this.отчетыToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.списокБланковToolStripMenuItem,
this.списокДокументовToolStripMenuItem,
this.бланкиПоДокументамToolStripMenuItem,
this.списокЗаказовToolStripMenuItem});
this.отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem";
this.отчетыToolStripMenuItem.Size = new System.Drawing.Size(73, 24);
this.отчетыToolStripMenuItem.Text = "Отчеты";
//
// списокБланковToolStripMenuItem
// списокДокументовToolStripMenuItem
//
this.списокБланковToolStripMenuItem.Name = "списокБланковToolStripMenuItem";
this.списокБланковToolStripMenuItem.Size = new System.Drawing.Size(252, 26);
this.списокБланковToolStripMenuItem.Text = "Список бланков";
this.списокДокументовToolStripMenuItem.Name = "списокДокументовToolStripMenuItem";
this.списокДокументовToolStripMenuItem.Size = new System.Drawing.Size(252, 26);
this.списокДокументовToolStripMenuItem.Text = "Список документов";
this.списокДокументовToolStripMenuItem.Click += new System.EventHandler(this.списокДокументовToolStripMenuItem_Click);
//
// бланкиПоДокументамToolStripMenuItem
//
@ -208,7 +209,7 @@
private Button buttonSetToFinish;
private Button buttonUpdate;
private ToolStripMenuItem отчетыToolStripMenuItem;
private ToolStripMenuItem списокБланковToolStripMenuItem;
private ToolStripMenuItem списокДокументовToolStripMenuItem;
private ToolStripMenuItem бланкиПоДокументамToolStripMenuItem;
private ToolStripMenuItem списокЗаказовToolStripMenuItem;
}

View File

@ -1,4 +1,5 @@
using LawFirm;
using LawFirmBusinessLogic.BusinessLogics;
using LawFirmContracts.BindingModels;
using LawFirmContracts.BusinessLogicContracts;
using LawFirmDataModels.Enums;
@ -20,11 +21,13 @@ namespace LawFirmView
{
private readonly ILogger _logger;
private readonly IOrderLogic _orderLogic;
public FormMain(ILogger<FormMain> logger, IOrderLogic orderLogic)
private readonly IReportLogic _reportLogic;
public FormMain(ILogger<FormMain> logger, IOrderLogic orderLogic, IReportLogic reportLogic)
{
InitializeComponent();
_logger = logger;
_orderLogic = orderLogic;
_reportLogic = reportLogic;
}
private void FormMain_Load(object sender, EventArgs e)
@ -87,6 +90,20 @@ namespace LawFirmView
}
}
private void списокДокументовToolStripMenuItem_Click(object sender, EventArgs e)
{
using var dialog = new SaveFileDialog { Filter = "docx|*.docx" };
if (dialog.ShowDialog() == DialogResult.OK)
{
_reportLogic.SaveDocumentsToWordFile(new ReportBindingModel
{
FileName = dialog.FileName
});
MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void buttonCreateOrder_Click(object sender, EventArgs e)
{
var service = Program.ServiceProvider?.GetService(typeof(FormCreateOrder));
@ -181,7 +198,5 @@ namespace LawFirmView
{
LoadData();
}
}
}

View File

@ -74,13 +74,13 @@ namespace LawFirmBusinessLogic.BusinessLogics
.ToList();
}
/// Сохранение компонент в файл-Word
public void SaveComponentsToWordFile(ReportBindingModel model)
public void SaveDocumentsToWordFile(ReportBindingModel model)
{
_saveToWord.CreateDoc(new WordInfo
{
FileName = model.FileName,
Title = "Список бланков",
Blanks = _blankStorage.GetFullList()
Title = "Список документов",
Documents = _documentStorage.GetFullList()
});
}
/// Сохранение компонент с указаеним продуктов в файл-Excel

View File

@ -22,11 +22,14 @@ namespace LawFirmBusinessLogic.OfficePackage
JustificationType = WordJustificationType.Center
}
});
foreach (var component in info.Blanks)
foreach (var document in info.Documents)
{
CreateParagraph(new WordParagraph
{
Texts = new List<(string, WordTextProperties)> {(component.BlankName, new WordTextProperties { Size = "24", }) },
Texts = new List<(string, WordTextProperties)>
{(document.DocumentName + " - ", new WordTextProperties { Size = "24", Bold = true}),
(document.Price.ToString(), new WordTextProperties { Size = "24", })},
TextProperties = new WordTextProperties
{
Size = "24",

View File

@ -11,6 +11,6 @@ namespace LawFirmBusinessLogic.OfficePackage.HelperModels
{
public string FileName { get; set; } = string.Empty;
public string Title { get; set; } = string.Empty;
public List<BlankViewModel> Blanks { get; set; } = new();
public List<DocumentViewModel> Documents { get; set; } = new();
}
}

View File

@ -15,7 +15,7 @@ namespace LawFirmContracts.BusinessLogicContracts
/// Получение списка заказов за определенный период
List<ReportOrdersViewModel> GetOrders(ReportBindingModel model);
/// Сохранение компонент в файл-Word
void SaveComponentsToWordFile(ReportBindingModel model);
void SaveDocumentsToWordFile(ReportBindingModel model);
/// Сохранение компонент с указаеним продуктов в файл-Excel
void SaveProductComponentToExcelFile(ReportBindingModel model);
/// Сохранение заказов в файл-Pdf