Ухожу из шараги, мб дома еще поделаю

This commit is contained in:
Tonb73 2024-12-05 15:55:38 +03:00
parent 9dac978c93
commit 09255cb1c5
7 changed files with 40 additions and 9 deletions

View File

@ -12,6 +12,7 @@ public class TempClientTour
public int ClientId { get; private set; }
public int TourId { get; private set; }
public int EmployeeId { get; private set; }
public int RouteId { get; private set; }
public DateTime DepartureDate { get; private set; }
public int Cost { get; private set; }

View File

@ -32,7 +32,10 @@ public class Tour
return new Tour
{
Id = tempClientTour.Id,
EmployeeId = tempClientTour.EmployeeId
}
EmployeeId = tempClientTour.EmployeeId,
RouteId = tempClientTour.RouteId,
DepartureDate = tempClientTour.DepartureDate,
ClientTours = clientTours
};
}
}

View File

@ -39,6 +39,7 @@
отчетыToolStripMenuItem = new ToolStripMenuItem();
DirectoryReportToolStripMenuItem = new ToolStripMenuItem();
AddMoneyReportToolStripMenuItem = new ToolStripMenuItem();
TableReportToolStripMenuItem = new ToolStripMenuItem();
menuStrip1.SuspendLayout();
SuspendLayout();
//
@ -104,7 +105,7 @@
//
// отчетыToolStripMenuItem
//
отчетыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { DirectoryReportToolStripMenuItem, AddMoneyReportToolStripMenuItem });
отчетыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { DirectoryReportToolStripMenuItem, AddMoneyReportToolStripMenuItem, TableReportToolStripMenuItem });
отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem";
отчетыToolStripMenuItem.Size = new Size(88, 29);
отчетыToolStripMenuItem.Text = "Отчеты";
@ -125,6 +126,13 @@
AddMoneyReportToolStripMenuItem.Text = "Денежная диаграмма";
AddMoneyReportToolStripMenuItem.Click += AddMoneyReportToolStripMenuItem_Click;
//
// TableReportToolStripMenuItem
//
TableReportToolStripMenuItem.Name = "TableReportToolStripMenuItem";
TableReportToolStripMenuItem.Size = new Size(434, 34);
TableReportToolStripMenuItem.Text = "Сводка по туру";
TableReportToolStripMenuItem.Click += TableReportToolStripMenuItem_Click;
//
// FormTourAgency
//
AutoScaleDimensions = new SizeF(10F, 25F);
@ -158,5 +166,6 @@
private ToolStripMenuItem турToolStripMenuItem;
private ToolStripMenuItem DirectoryReportToolStripMenuItem;
private ToolStripMenuItem AddMoneyReportToolStripMenuItem;
private ToolStripMenuItem TableReportToolStripMenuItem;
}
}

View File

@ -97,4 +97,16 @@ public partial class FormTourAgency : Form
MessageBox.Show(ex.Message, "Îøèáêà ïðè çàãðóçêå", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void TableReportToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
_container.Resolve<FormExcelReport>().ShowDialog();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Îøèáêà ïðè çàãðóçêå", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}

View File

@ -20,11 +20,11 @@ public partial class FormExcelReport : Form
public FormExcelReport(IUnityContainer container, ITourRepository tourRepository )
{
InitializeComponent();
container = container ??
_container = container ??
throw new ArgumentNullException(nameof(container));
comboBoxTour.DataSource = tourRepository.ReadTours();
comboBoxTour.DisplayMember = "iD";
comboBoxTour.ValueMember = "ID";
comboBoxTour.ValueMember = "Id";
}

View File

@ -82,10 +82,16 @@ WHERE Id = @id";
try
{
using var connection = new NpgsqlConnection(_connectionString.ConnectionString);
var querySelect = @"SELECT * FROM Tour";
var tour = connection.Query<Tour>(querySelect);
var querySelect = @"
SELECT t.*, ct.TourId, ct.Cost FROM Tour t
INNER JOIN ClientTour ct ON ct.TourId = t.Id";
var tour = connection.Query<TempClientTour>(querySelect);
_logger.LogDebug("Получение объектов {json}", JsonConvert.SerializeObject(tour));
return tour;
return tour.GroupBy(
x => x.Id, y => y,
(key, value) => Tour.CreateEntity(value.First(),
value.Select(z => ClientTour.CreateEntity(0,z.ClientId, z.Id,z.Cost))
)).ToList();
}
catch (Exception ex)
{

View File

@ -52,7 +52,7 @@ internal class TableReport
endDate)
{
var data = _tourRepository.ReadTours().Select(x => new {
ClientId = x.ClientTours.FirstOrDefault(y => y.TourId == tourId).ClientId,
ClientId = 73,
Date = x.DepartureDate,
CountIn = (int?)null,
CountOut = (int?)null