diff --git a/Confectionery/ConfectioneryBusinessLogic/BusinessLogics/ReportLogic.cs b/Confectionery/ConfectioneryBusinessLogic/BusinessLogics/ReportLogic.cs
index d16fc8d..54366ca 100644
--- a/Confectionery/ConfectioneryBusinessLogic/BusinessLogics/ReportLogic.cs
+++ b/Confectionery/ConfectioneryBusinessLogic/BusinessLogics/ReportLogic.cs
@@ -69,10 +69,9 @@ namespace ConfectioneryBusinessLogic.BusinessLogics
///
public List GetOrders(ReportBindingModel model)
{
- return _orderStorage.GetFilteredList(new OrderSearchModel
+ var ABC = _orderStorage.GetFilteredList(new OrderSearchModel
{
- DateFrom
- = model.DateFrom,
+ DateFrom = model.DateFrom,
DateTo = model.DateTo
})
.Select(x => new ReportOrdersViewModel
@@ -80,9 +79,12 @@ namespace ConfectioneryBusinessLogic.BusinessLogics
Id = x.Id,
DateCreate = x.DateCreate,
PastryName = x.PastryName,
- Sum = x.Sum
+ Sum = x.Sum,
+ Status = x.Status.ToString()
})
.ToList();
+
+ return ABC;
}
///
/// Сохранение компонент в файл-Word
diff --git a/Confectionery/ConfectioneryBusinessLogic/OfficePackage/AbstractSaveToPdf.cs b/Confectionery/ConfectioneryBusinessLogic/OfficePackage/AbstractSaveToPdf.cs
index 308992c..fffa27a 100644
--- a/Confectionery/ConfectioneryBusinessLogic/OfficePackage/AbstractSaveToPdf.cs
+++ b/Confectionery/ConfectioneryBusinessLogic/OfficePackage/AbstractSaveToPdf.cs
@@ -16,8 +16,7 @@ namespace ConfectioneryBusinessLogic.OfficePackage
CreateParagraph(new PdfParagraph
{
Text = info.Title,
- Style =
- "NormalTitle",
+ Style = "NormalTitle",
ParagraphAlignment = PdfParagraphAlignmentType.Center
});
CreateParagraph(new PdfParagraph
@@ -25,10 +24,10 @@ namespace ConfectioneryBusinessLogic.OfficePackage
Text = $"с { info.DateFrom.ToShortDateString() } по { info.DateTo.ToShortDateString() }", Style = "Normal",
ParagraphAlignment = PdfParagraphAlignmentType.Center
});
- CreateTable(new List { "2cm", "3cm", "6cm", "3cm" });
+ CreateTable(new List { "2cm", "3cm", "6cm", "3cm", "4cm" });
CreateRow(new PdfRowParameters
{
- Texts = new List { "Номер", "Дата заказа", "Изделие", "Сумма" },
+ Texts = new List { "Номер", "Дата заказа", "Изделие", "Статус", "Сумма" },
Style = "NormalTitle",
ParagraphAlignment = PdfParagraphAlignmentType.Center
});
@@ -36,7 +35,7 @@ namespace ConfectioneryBusinessLogic.OfficePackage
{
CreateRow(new PdfRowParameters
{
- Texts = new List { order.Id.ToString(), order.DateCreate.ToShortDateString(), order.PastryName, order.Sum.ToString() },
+ Texts = new List { order.Id.ToString(), order.DateCreate.ToShortDateString(), order.PastryName, order.Status, order.Sum.ToString() },
Style = "Normal",
ParagraphAlignment = PdfParagraphAlignmentType.Left
});
diff --git a/Confectionery/ConfectioneryContracts/ViewModels/ReportOrdersViewModel.cs b/Confectionery/ConfectioneryContracts/ViewModels/ReportOrdersViewModel.cs
index e10b334..4bfd056 100644
--- a/Confectionery/ConfectioneryContracts/ViewModels/ReportOrdersViewModel.cs
+++ b/Confectionery/ConfectioneryContracts/ViewModels/ReportOrdersViewModel.cs
@@ -15,5 +15,7 @@ namespace ConfectioneryContracts.ViewModels
public string PastryName { get; set; } = string.Empty;
public double Sum { get; set; }
+
+ public string Status { get; set; } = string.Empty;
}
}
diff --git a/Confectionery/ConfectioneryDatabaseImplement/Implements/OrderStorage.cs b/Confectionery/ConfectioneryDatabaseImplement/Implements/OrderStorage.cs
index deea67e..5f9faf1 100644
--- a/Confectionery/ConfectioneryDatabaseImplement/Implements/OrderStorage.cs
+++ b/Confectionery/ConfectioneryDatabaseImplement/Implements/OrderStorage.cs
@@ -3,6 +3,7 @@ using ConfectioneryContracts.SearchModels;
using ConfectioneryContracts.StoragesContracts;
using ConfectioneryContracts.ViewModels;
using ConfectioneryDatabaseImplement.Models;
+using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -44,15 +45,28 @@ namespace ConfectioneryDatabaseImplement.Implements
public List GetFilteredList(OrderSearchModel model)
{
- if (!model.Id.HasValue)
- {
- return new();
- }
-
- using var context = new ConfectioneryDatabase();
-
- return context.Orders.Where(x => x.Id == model.Id).Select(x => GetViewModel(x)).ToList();
- }
+ using var context = new ConfectioneryDatabase();
+ if (model.Id.HasValue)
+ {
+ return context.Orders
+ .Include(x => x.Pastry)
+ .Where(x => x.Id == model.Id)
+ .Select(x => x.GetViewModel)
+ .ToList();
+ }
+ else if (model.DateFrom != null && model.DateTo != null)
+ {
+ return context.Orders
+ .Include(x => x.Pastry)
+ .Where(x => x.DateCreate >= model.DateFrom && x.DateCreate <= model.DateTo)
+ .Select(x => x.GetViewModel)
+ .ToList();
+ }
+ else
+ {
+ return new();
+ }
+ }
public List GetFullList()
{
diff --git a/Confectionery/ConfectioneryDatabaseImplement/Models/Order.cs b/Confectionery/ConfectioneryDatabaseImplement/Models/Order.cs
index 933b560..fe1eb90 100644
--- a/Confectionery/ConfectioneryDatabaseImplement/Models/Order.cs
+++ b/Confectionery/ConfectioneryDatabaseImplement/Models/Order.cs
@@ -15,6 +15,9 @@ namespace ConfectioneryDatabaseImplement.Models
{
[Required]
public int PastryId { get; set; }
+
+ public virtual Pastry Pastry { get; set; } = new();
+
[Required]
public int Count { get; set; }
[Required]
diff --git a/Confectionery/ConfectioneryView/ConfectioneryView.csproj b/Confectionery/ConfectioneryView/ConfectioneryView.csproj
index d15eaf6..cf143b6 100644
--- a/Confectionery/ConfectioneryView/ConfectioneryView.csproj
+++ b/Confectionery/ConfectioneryView/ConfectioneryView.csproj
@@ -16,6 +16,7 @@
+
@@ -26,4 +27,10 @@
+
+
+ Always
+
+
+
\ No newline at end of file
diff --git a/Confectionery/ConfectioneryView/FormMain.Designer.cs b/Confectionery/ConfectioneryView/FormMain.Designer.cs
index 5fe890f..8bfbd91 100644
--- a/Confectionery/ConfectioneryView/FormMain.Designer.cs
+++ b/Confectionery/ConfectioneryView/FormMain.Designer.cs
@@ -38,6 +38,10 @@
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();
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
@@ -104,7 +108,8 @@
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.справочникиToolStripMenuItem});
+ this.справочникиToolStripMenuItem,
+ this.отчётыToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(800, 24);
@@ -134,6 +139,37 @@
this.компонентыToolStripMenuItem.Text = "Компоненты";
this.компонентыToolStripMenuItem.Click += new System.EventHandler(this.ComponentsToolStripMenuItem_Click);
//
+ // отчётыToolStripMenuItem
+ //
+ this.отчётыToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.списокКомпонентовToolStripMenuItem,
+ this.компонентыПоИзделиямToolStripMenuItem,
+ this.списокЗаказовToolStripMenuItem});
+ this.отчётыToolStripMenuItem.Name = "отчётыToolStripMenuItem";
+ this.отчётыToolStripMenuItem.Size = new System.Drawing.Size(60, 20);
+ this.отчётыToolStripMenuItem.Text = "Отчёты";
+ //
+ // списокКомпонентовToolStripMenuItem
+ //
+ this.списокКомпонентовToolStripMenuItem.Name = "списокКомпонентовToolStripMenuItem";
+ this.списокКомпонентовToolStripMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.списокКомпонентовToolStripMenuItem.Text = "Список компонентов";
+ this.списокКомпонентовToolStripMenuItem.Click += new System.EventHandler(this.ComponentsDocxToolStripMenuItem_Click);
+ //
+ // компонентыПоИзделиямToolStripMenuItem
+ //
+ this.компонентыПоИзделиямToolStripMenuItem.Name = "компонентыПоИзделиямToolStripMenuItem";
+ this.компонентыПоИзделиямToolStripMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.компонентыПоИзделиямToolStripMenuItem.Text = "Компоненты по изделиям";
+ this.компонентыПоИзделиямToolStripMenuItem.Click += new System.EventHandler(this.PastryComponentsToolStripMenuItem_Click);
+ //
+ // списокЗаказовToolStripMenuItem
+ //
+ this.списокЗаказовToolStripMenuItem.Name = "списокЗаказовToolStripMenuItem";
+ this.списокЗаказовToolStripMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.списокЗаказовToolStripMenuItem.Text = "Список заказов";
+ this.списокЗаказовToolStripMenuItem.Click += new System.EventHandler(this.OrdersToolStripMenuItem_Click);
+ //
// FormMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
@@ -170,5 +206,9 @@
private ToolStripMenuItem справочникиToolStripMenuItem;
private ToolStripMenuItem кондитерскиеИзделияToolStripMenuItem;
private ToolStripMenuItem компонентыToolStripMenuItem;
+ private ToolStripMenuItem отчётыToolStripMenuItem;
+ private ToolStripMenuItem списокКомпонентовToolStripMenuItem;
+ private ToolStripMenuItem компонентыПоИзделиямToolStripMenuItem;
+ private ToolStripMenuItem списокЗаказовToolStripMenuItem;
}
}
\ No newline at end of file
diff --git a/Confectionery/ConfectioneryView/FormMain.cs b/Confectionery/ConfectioneryView/FormMain.cs
index d23b54b..356b5c6 100644
--- a/Confectionery/ConfectioneryView/FormMain.cs
+++ b/Confectionery/ConfectioneryView/FormMain.cs
@@ -1,4 +1,5 @@
using Confectionery;
+using ConfectioneryBusinessLogic.BusinessLogics;
using ConfectioneryContracts.BindingModels;
using ConfectioneryContracts.BusinessLogicsContracts;
using ConfectioneryDataModels.Enums;
@@ -19,11 +20,13 @@ namespace ConfectioneryView
{
private readonly ILogger _logger;
private readonly IOrderLogic _orderLogic;
- public FormMain(ILogger logger, IOrderLogic orderLogic)
+ private readonly IReportLogic _reportLogic;
+ public FormMain(ILogger logger, IOrderLogic orderLogic, IReportLogic reportLogic)
{
InitializeComponent();
_logger = logger;
_orderLogic = orderLogic;
+ _reportLogic = reportLogic;
}
private void FormMain_Load(object sender, EventArgs e)
{
@@ -182,6 +185,34 @@ e)
}
+ private void ComponentsDocxToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ using var dialog = new SaveFileDialog { Filter = "docx|*.docx" };
+ if (dialog.ShowDialog() == DialogResult.OK)
+ {
+ _reportLogic.SaveComponentsToWordFile(new ReportBindingModel { FileName = dialog.FileName });
+ MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+
+ private void PastryComponentsToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormReportPastryComponents));
+ if (service is FormReportPastryComponents form)
+ {
+ form.ShowDialog();
+ }
+ }
+
+ private void OrdersToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormReportOrders));
+ if (service is FormReportOrders form)
+ {
+ form.ShowDialog();
+ }
+ }
+
private void ButtonRef_Click(object sender, EventArgs e)
{
LoadData();
diff --git a/Confectionery/ConfectioneryView/FormReportOrders.Designer.cs b/Confectionery/ConfectioneryView/FormReportOrders.Designer.cs
new file mode 100644
index 0000000..65bf1b3
--- /dev/null
+++ b/Confectionery/ConfectioneryView/FormReportOrders.Designer.cs
@@ -0,0 +1,131 @@
+namespace ConfectioneryView
+{
+ partial class FormReportOrders
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.buttonMake = new System.Windows.Forms.Button();
+ this.buttonToPdf = new System.Windows.Forms.Button();
+ this.dateTimePickerFrom = new System.Windows.Forms.DateTimePicker();
+ this.dateTimePickerTo = new System.Windows.Forms.DateTimePicker();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.panel = new System.Windows.Forms.Panel();
+ this.panel.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // buttonMake
+ //
+ this.buttonMake.Location = new System.Drawing.Point(354, 3);
+ this.buttonMake.Name = "buttonMake";
+ this.buttonMake.Size = new System.Drawing.Size(127, 23);
+ this.buttonMake.TabIndex = 0;
+ this.buttonMake.Text = "Сформировать";
+ this.buttonMake.UseVisualStyleBackColor = true;
+ this.buttonMake.Click += new System.EventHandler(this.ButtonMake_Click);
+ //
+ // buttonToPdf
+ //
+ this.buttonToPdf.Location = new System.Drawing.Point(487, 5);
+ this.buttonToPdf.Name = "buttonToPdf";
+ this.buttonToPdf.Size = new System.Drawing.Size(75, 22);
+ this.buttonToPdf.TabIndex = 1;
+ this.buttonToPdf.Text = "В PDF";
+ this.buttonToPdf.UseVisualStyleBackColor = true;
+ this.buttonToPdf.Click += new System.EventHandler(this.ButtonToPdf_Click);
+ //
+ // dateTimePickerFrom
+ //
+ this.dateTimePickerFrom.Location = new System.Drawing.Point(28, 3);
+ this.dateTimePickerFrom.Name = "dateTimePickerFrom";
+ this.dateTimePickerFrom.Size = new System.Drawing.Size(144, 23);
+ this.dateTimePickerFrom.TabIndex = 2;
+ //
+ // dateTimePickerTo
+ //
+ this.dateTimePickerTo.Location = new System.Drawing.Point(204, 3);
+ this.dateTimePickerTo.Name = "dateTimePickerTo";
+ this.dateTimePickerTo.Size = new System.Drawing.Size(144, 23);
+ this.dateTimePickerTo.TabIndex = 3;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(3, 9);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(15, 15);
+ this.label1.TabIndex = 4;
+ this.label1.Text = "С";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(178, 9);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(21, 15);
+ this.label2.TabIndex = 5;
+ this.label2.Text = "по";
+ //
+ // panel
+ //
+ this.panel.Controls.Add(this.dateTimePickerFrom);
+ this.panel.Controls.Add(this.buttonToPdf);
+ this.panel.Controls.Add(this.label1);
+ this.panel.Controls.Add(this.buttonMake);
+ this.panel.Controls.Add(this.label2);
+ this.panel.Controls.Add(this.dateTimePickerTo);
+ this.panel.Location = new System.Drawing.Point(0, 0);
+ this.panel.Name = "panel";
+ this.panel.Size = new System.Drawing.Size(893, 32);
+ this.panel.TabIndex = 6;
+ //
+ // FormReportOrders
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(892, 325);
+ this.Controls.Add(this.panel);
+ this.Name = "FormReportOrders";
+ this.Text = "FormReportOrders";
+ this.Load += new System.EventHandler(this.FormReportOrders_Load);
+ this.panel.ResumeLayout(false);
+ this.panel.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private Button buttonMake;
+ private Button buttonToPdf;
+ private DateTimePicker dateTimePickerFrom;
+ private DateTimePicker dateTimePickerTo;
+ private Label label1;
+ private Label label2;
+ private Panel panel;
+ }
+}
\ No newline at end of file
diff --git a/Confectionery/ConfectioneryView/FormReportOrders.cs b/Confectionery/ConfectioneryView/FormReportOrders.cs
new file mode 100644
index 0000000..3793857
--- /dev/null
+++ b/Confectionery/ConfectioneryView/FormReportOrders.cs
@@ -0,0 +1,107 @@
+using ConfectioneryContracts.BindingModels;
+using ConfectioneryContracts.BusinessLogicsContracts;
+using Microsoft.Extensions.Logging;
+using Microsoft.Reporting.WinForms;
+using System.Windows.Forms;
+
+namespace ConfectioneryView
+{
+ public partial class FormReportOrders : Form
+ {
+ private readonly ReportViewer reportViewer;
+ private readonly ILogger _logger;
+ private readonly IReportLogic _logic;
+ public FormReportOrders(ILogger logger, IReportLogic logic)
+ {
+ InitializeComponent();
+ _logger = logger;
+ _logic = logic;
+ reportViewer = new ReportViewer
+ {
+ Dock = DockStyle.Bottom
+ };
+ try
+ {
+ reportViewer.LocalReport.LoadReportDefinition(new FileStream("ReportOrders.rdlc", FileMode.Open));
+ }catch(Exception ex){}
+
+ Controls.Clear();
+ Controls.Add(reportViewer);
+ Controls.Add(panel);
+ }
+
+ private void FormReportOrders_Load(object sender, EventArgs e)
+ {
+
+ }
+ private void ButtonMake_Click(object sender, EventArgs e)
+ {
+ if (dateTimePickerFrom.Value.Date >= dateTimePickerTo.Value.Date)
+ {
+ MessageBox.Show("Дата начала должна быть меньше даты окончания",
+ "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ try
+ {
+ var dataSource = _logic.GetOrders(new ReportBindingModel
+ {
+ DateFrom = DateTime.SpecifyKind(dateTimePickerFrom.Value, DateTimeKind.Utc),
+ DateTo = DateTime.SpecifyKind(dateTimePickerTo.Value, DateTimeKind.Utc)
+ });
+ var source = new ReportDataSource("DataSetOrders", dataSource);
+ reportViewer.LocalReport.DataSources.Clear();
+ reportViewer.LocalReport.DataSources.Add(source);
+ var parameters = new[] { new ReportParameter("ReportParameterPeriod",
+ $"c{dateTimePickerFrom.Value.ToShortDateString()} по {dateTimePickerTo.Value.ToShortDateString()}") };
+ reportViewer.LocalReport.SetParameters(parameters);
+ reportViewer.RefreshReport();
+ _logger.LogInformation("Загрузка списка заказов на период {From}-{To}", dateTimePickerFrom.Value.ToShortDateString(),
+ dateTimePickerTo.Value.ToShortDateString());
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка загрузки списка заказов на период");
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
+ MessageBoxIcon.Error);
+ }
+ }
+ private void ButtonToPdf_Click(object sender, EventArgs e)
+ {
+ System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
+ if (dateTimePickerFrom.Value.Date >= dateTimePickerTo.Value.Date)
+ {
+ MessageBox.Show("Дата начала должна быть меньше даты окончания",
+ "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ using var dialog = new SaveFileDialog
+ {
+ Filter = "pdf|*.pdf"
+ };
+ if (dialog.ShowDialog() == DialogResult.OK)
+ {
+ try
+ {
+ _logic.SaveOrdersToPdfFile(new ReportBindingModel
+ {
+ FileName = dialog.FileName,
+ DateFrom = DateTime.SpecifyKind(dateTimePickerFrom.Value, DateTimeKind.Utc),
+ DateTo = DateTime.SpecifyKind(dateTimePickerTo.Value, DateTimeKind.Utc)
+ });
+ _logger.LogInformation("Сохранение списка заказов на период {From}-{To}", dateTimePickerFrom.Value.ToShortDateString(),
+ dateTimePickerTo.Value.ToShortDateString());
+ MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK,
+ MessageBoxIcon.Information);
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка сохранения списка заказов на период");
+
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
+ MessageBoxIcon.Error);
+ }
+ }
+ }
+ }
+}
diff --git a/Confectionery/ConfectioneryView/FormReportOrders.resx b/Confectionery/ConfectioneryView/FormReportOrders.resx
new file mode 100644
index 0000000..f298a7b
--- /dev/null
+++ b/Confectionery/ConfectioneryView/FormReportOrders.resx
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/Confectionery/ConfectioneryView/Program.cs b/Confectionery/ConfectioneryView/Program.cs
index 31e62c4..626630d 100644
--- a/Confectionery/ConfectioneryView/Program.cs
+++ b/Confectionery/ConfectioneryView/Program.cs
@@ -55,6 +55,8 @@ namespace Confectionery
services.AddTransient();
services.AddTransient();
services.AddTransient();
+ services.AddTransient();
+ services.AddTransient();
}
}
}
\ No newline at end of file
diff --git a/Confectionery/ConfectioneryView/ReportOrders.rdlc b/Confectionery/ConfectioneryView/ReportOrders.rdlc
new file mode 100644
index 0000000..82f4000
--- /dev/null
+++ b/Confectionery/ConfectioneryView/ReportOrders.rdlc
@@ -0,0 +1,579 @@
+
+
+ 0
+
+
+
+ System.Data.DataSet
+ /* Local Connection */
+
+ 10791c83-cee8-4a38-bbd0-245fc17cefb3
+
+
+
+
+
+ ConfectioneryContractsViewModels
+ /* Local Query */
+
+
+
+ Id
+ System.Int32
+
+
+ DateCreate
+ System.DateTime
+
+
+ PastryName
+ System.String
+
+
+ Status
+ System.String
+
+
+ Sum
+ System.Double
+
+
+
+ ConfectioneryContracts.ViewModels
+ ReportOrdersViewModel
+ ConfectioneryContracts.ViewModels.ReportOrdersViewModel, ConfectioneryContracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Заказы
+
+
+
+
+
+
+ Textbox1
+ 0.70583cm
+ 19.67885cm
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ =Parameters!ReportParameterPeriod.Value
+
+
+
+
+
+
+ ReportParameterPeriod
+ 0.70583cm
+ 0.6cm
+ 19.67885cm
+ 1
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+ 4.56494cm
+
+
+ 4.56494cm
+
+
+ 2.5cm
+
+
+ 2.5cm
+
+
+ 4.56494cm
+
+
+
+
+ 0.74083cm
+
+
+
+
+ true
+ true
+
+
+
+
+ Id
+
+
+
+
+
+
+ Textbox2
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Date Create
+
+
+
+
+
+
+ Textbox4
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ PastryName
+
+
+
+
+
+
+ Textbox8
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Статус
+
+
+
+
+
+
+ Textbox7
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Sum
+
+
+
+
+
+
+ Textbox6
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ 0.74083cm
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Id.Value
+
+
+
+
+
+
+ Id
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!DateCreate.Value
+
+
+
+
+
+
+ DateCreate
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!PastryName.Value
+
+
+
+
+
+
+ PastryName
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Status.Value
+
+
+
+
+
+
+ Status
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Sum.Value
+
+
+
+
+
+
+ Sum
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ After
+
+
+
+
+
+
+ DataSetOrders
+ 1.87537cm
+ 0.98403cm
+ 1.48166cm
+ 18.69482cm
+ 2
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Итого:
+
+
+
+
+
+
+ Textbox3
+ 4.0132cm
+ 11.46387cm
+ 0.6cm
+ 2.5cm
+ 3
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ =Sum(Fields!Sum.Value, "DataSetOrders")
+
+
+
+
+
+
+ Textbox5
+ 4.0132cm
+ 13.96387cm
+ 0.6cm
+ 2.5cm
+ 4
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ 2in
+
+
+ 8.08183in
+
+ 29.7cm
+ 21cm
+ 2cm
+ 2cm
+ 2cm
+ 2cm
+ 0.13cm
+
+
+
+
+
+
+ String
+ true
+ ReportParameter1
+
+
+
+
+ 4
+ 2
+
+
+ 0
+ 0
+ ReportParameterPeriod
+
+
+
+
+ Cm
+ 32707729-e749-46dd-a114-7c43e1a2a795
+
\ No newline at end of file