Реализовано сохранение компонентов и изделий в excel по требованиям

This commit is contained in:
Никита Потапов 2024-03-24 22:28:06 +04:00
parent e37e94a14f
commit 9f481f8879
6 changed files with 28 additions and 27 deletions

View File

@ -34,19 +34,19 @@ namespace SecuritySystemBusinessLogic.BusinessLogics
var components = _componentStorage.GetFullList(); var components = _componentStorage.GetFullList();
var secures = _secureStorage.GetFullList(); var secures = _secureStorage.GetFullList();
var list = new List<ReportSecureComponentViewModel>(); var list = new List<ReportSecureComponentViewModel>();
foreach (var component in components) foreach (var secure in secures)
{ {
var record = new ReportSecureComponentViewModel var record = new ReportSecureComponentViewModel
{ {
ComponentName = component.ComponentName, SecureName = secure.SecureName,
Secures = new List<Tuple<string, int>>(), Components = new List<Tuple<string, int>>(),
TotalCount = 0 TotalCount = 0
}; };
foreach (var secure in secures) foreach (var component in components)
{ {
if (secure.SecureComponents.ContainsKey(component.Id)) if (secure.SecureComponents.ContainsKey(component.Id))
{ {
record.Secures.Add(new Tuple<string, int>(secure.SecureName, secure.SecureComponents[component.Id].Item2)); record.Components.Add(new Tuple<string, int>(component.ComponentName, secure.SecureComponents[component.Id].Item2));
record.TotalCount += secure.SecureComponents[component.Id].Item2; record.TotalCount += secure.SecureComponents[component.Id].Item2;
} }
} }
@ -97,7 +97,7 @@ namespace SecuritySystemBusinessLogic.BusinessLogics
_saveToExcel.CreateReport(new ExcelInfo _saveToExcel.CreateReport(new ExcelInfo
{ {
FileName = model.FileName, FileName = model.FileName,
Title = "Список компонент", Title = "Список изделий и компонентов",
SecureComponents = GetSecureComponent() SecureComponents = GetSecureComponent()
}); });
} }

View File

@ -31,11 +31,11 @@ namespace SecuritySystemBusinessLogic.OfficePackage
{ {
ColumnName = "A", ColumnName = "A",
RowIndex = rowIndex, RowIndex = rowIndex,
Text = pc.ComponentName, Text = pc.SecureName,
StyleInfo = ExcelStyleInfoType.Text StyleInfo = ExcelStyleInfoType.Text
}); });
rowIndex++; rowIndex++;
foreach (var secure in pc.Secures) foreach (var secure in pc.Components)
{ {
InsertCellInWorksheet(new ExcelCellParameters InsertCellInWorksheet(new ExcelCellParameters
{ {

View File

@ -2,8 +2,8 @@
{ {
public class ReportSecureComponentViewModel public class ReportSecureComponentViewModel
{ {
public string ComponentName { get; set; } = string.Empty; public string SecureName { get; set; } = string.Empty;
public int TotalCount { get; set; } public int TotalCount { get; set; }
public List<Tuple<string, int>> Secures { get; set; } = new(); public List<Tuple<string, int>> Components { get; set; } = new();
} }
} }

View File

@ -30,8 +30,8 @@
{ {
buttonSaveToExcel = new Button(); buttonSaveToExcel = new Button();
dataGridView = new DataGridView(); dataGridView = new DataGridView();
ColumnComponent = new DataGridViewTextBoxColumn();
ColumnSecure = new DataGridViewTextBoxColumn(); ColumnSecure = new DataGridViewTextBoxColumn();
ColumnComponent = new DataGridViewTextBoxColumn();
ColumnCount = new DataGridViewTextBoxColumn(); ColumnCount = new DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
SuspendLayout(); SuspendLayout();
@ -50,22 +50,15 @@
// //
dataGridView.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; dataGridView.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView.Columns.AddRange(new DataGridViewColumn[] { ColumnComponent, ColumnSecure, ColumnCount }); dataGridView.Columns.AddRange(new DataGridViewColumn[] { ColumnSecure, ColumnComponent, ColumnCount });
dataGridView.Location = new Point(0, 47); dataGridView.Location = new Point(0, 47);
dataGridView.Name = "dataGridView"; dataGridView.Name = "dataGridView";
dataGridView.RowHeadersVisible = false; dataGridView.RowHeadersVisible = false;
dataGridView.RowHeadersWidth = 51; dataGridView.RowHeadersWidth = 51;
dataGridView.RowTemplate.Height = 29; dataGridView.RowTemplate.Height = 29;
dataGridView.Size = new Size(800, 403); dataGridView.Size = new Size(845, 403);
dataGridView.TabIndex = 1; dataGridView.TabIndex = 1;
// //
// ColumnComponent
//
ColumnComponent.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
ColumnComponent.HeaderText = "Компонент";
ColumnComponent.MinimumWidth = 6;
ColumnComponent.Name = "ColumnComponent";
//
// ColumnSecure // ColumnSecure
// //
ColumnSecure.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; ColumnSecure.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
@ -73,18 +66,26 @@
ColumnSecure.MinimumWidth = 6; ColumnSecure.MinimumWidth = 6;
ColumnSecure.Name = "ColumnSecure"; ColumnSecure.Name = "ColumnSecure";
// //
// ColumnComponent
//
ColumnComponent.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
ColumnComponent.HeaderText = "Компонент";
ColumnComponent.MinimumWidth = 6;
ColumnComponent.Name = "ColumnComponent";
//
// ColumnCount // ColumnCount
// //
ColumnCount.AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
ColumnCount.HeaderText = "Количество"; ColumnCount.HeaderText = "Количество";
ColumnCount.MinimumWidth = 6; ColumnCount.MinimumWidth = 6;
ColumnCount.Name = "ColumnCount"; ColumnCount.Name = "ColumnCount";
ColumnCount.Width = 266; ColumnCount.Width = 119;
// //
// FormReportSecureComponents // FormReportSecureComponents
// //
AutoScaleDimensions = new SizeF(8F, 20F); AutoScaleDimensions = new SizeF(8F, 20F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(800, 450); ClientSize = new Size(845, 450);
Controls.Add(dataGridView); Controls.Add(dataGridView);
Controls.Add(buttonSaveToExcel); Controls.Add(buttonSaveToExcel);
Name = "FormReportSecureComponents"; Name = "FormReportSecureComponents";
@ -98,8 +99,8 @@
private Button buttonSaveToExcel; private Button buttonSaveToExcel;
private DataGridView dataGridView; private DataGridView dataGridView;
private DataGridViewTextBoxColumn ColumnComponent;
private DataGridViewTextBoxColumn ColumnSecure; private DataGridViewTextBoxColumn ColumnSecure;
private DataGridViewTextBoxColumn ColumnComponent;
private DataGridViewTextBoxColumn ColumnCount; private DataGridViewTextBoxColumn ColumnCount;
} }
} }

View File

@ -24,8 +24,8 @@ namespace SecuritySystemView.Report
dataGridView.Rows.Clear(); dataGridView.Rows.Clear();
foreach (var elem in dict) foreach (var elem in dict)
{ {
dataGridView.Rows.Add(new object[] { elem.ComponentName, "", "" }); dataGridView.Rows.Add(new object[] { elem.SecureName, "", "" });
foreach (var listElem in elem.Secures) foreach (var listElem in elem.Components)
{ {
dataGridView.Rows.Add(new object[] { "", listElem.Item1, listElem.Item2 }); dataGridView.Rows.Add(new object[] { "", listElem.Item1, listElem.Item2 });
} }

View File

@ -117,10 +117,10 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="ColumnComponent.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnSecure.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="ColumnSecure.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnComponent.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="ColumnCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="ColumnCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">