ПИбд-22 Морозов Д.В. Лабораторная 4 #9

Closed
MorozovDanil wants to merge 4 commits from LabWork№4 into LabWork№3
10 changed files with 69 additions and 4 deletions
Showing only changes of commit 684d1c62eb - Show all commits

View File

@ -1,6 +1,7 @@
using ProjectRepairCompany.Entities.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -10,9 +11,17 @@ namespace ProjectRepairCompany.Entities;
public class Detail
{
public int Id { get; private set; }
[DisplayName("Название детали")]
public string NameDetail { get; private set; } = string.Empty;
[DisplayName("Количество деталей")]
public int NumberDetail { get; private set; }
[DisplayName("Стоимость детали")]
public double PriceDetail { get; private set; }
[DisplayName("Свойства детали")]
public DetailProperties DetailProperties { get; private set; }
public static Detail CreateEntity(int id, string nameDetail, int numberDetail, double priceDetail, DetailProperties detailProperties)

View File

@ -1,6 +1,7 @@
using ProjectRepairCompany.Entities.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -10,8 +11,14 @@ namespace ProjectRepairCompany.Entities;
public class Master
{
public int Id { get; private set; }
[DisplayName("ФИО работника")]
public string MasterName { get; private set; } = string.Empty;
[DisplayName("Дата начала работы")]
public DateTime StartDate { get; private set; }
[DisplayName("Должность")]
public MasterPost MasterPost { get; private set; }
public static Master CreateEntity(int id, string masterName, DateTime startDate, MasterPost masterPost)

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -9,11 +10,25 @@ namespace ProjectRepairCompany.Entities;
public class Order
{
public int Id { get; private set; }
[DisplayName("Дата заказа")]
public DateTime OrderDate { get; private set; }
[DisplayName("Дата начала выполнения ремонта")]
public DateTime DateCompletion { get; private set; }
[DisplayName("Дата выполнения заказа")]
public DateTime DateIssue { get; private set; }
[DisplayName("Стоимость заказа")]
public int FullPrice { get; private set; }
[Browsable(false)]
public int MasterId { get; private set; }
[DisplayName("Работник")]
public string MasterName { get; private set; } = string.Empty;
public IEnumerable<OrderDetail> OrderDetails { get; private set; } = [];
public static Order CreateOperation(int id, int fullPrice, int masterId, DateTime dateCompletion,

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -9,7 +10,11 @@ namespace ProjectRepairCompany.Entities;
public class Storage
{
public int Id { get; private set; }
[DisplayName ("Адрес склада")]
public string StorageAddress { get; private set; } = string.Empty;
[DisplayName("Вместимость склада")]
public int Capacity { get; private set; }
public static Storage CreateEntity(int id, string storageAddress, int capacity)

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -8,11 +9,23 @@ namespace ProjectRepairCompany.Entities;
public class StorageDetail
{
[Browsable(false)]
public int StorageId { get; private set; }
[Browsable(false)]
public int DetailId { get; private set; }
[DisplayName("Количество деталей")]
public int DetailCount { get; private set; }
[DisplayName("Дата поступления")]
public DateTime SupplyDate { get; private set; } // Дата поступления деталей
[DisplayName("Адрес склада")]
public string StorageAddress { get; private set; } = string.Empty;
[DisplayName("Название детали")]
public string DetailName { get; private set; } = string.Empty;
public static StorageDetail CreateOperation(int storageId, int detailId, int detailCount, DateTime supplyDate)
{
return new StorageDetail

View File

@ -97,6 +97,7 @@ namespace ProjectRepairCompany.Forms
try
{
dataGridView.DataSource = _detailRepository.ReadDetails();
dataGridView.Columns["Id"].Visible = false;
}
catch (Exception ex)
{

View File

@ -96,6 +96,7 @@ namespace ProjectRepairCompany.Forms
try
{
dataGridView.DataSource = _masterRepository.ReadMasters();
dataGridView.Columns["Id"].Visible = false;
}
catch (Exception ex)
{

View File

@ -92,7 +92,10 @@ namespace ProjectRepairCompany.Forms
}
private void LoadList() => dataGridView.DataSource = _storageRepository.ReadStorages();
private void LoadList() {
dataGridView.DataSource = _storageRepository.ReadStorages();
dataGridView.Columns["Id"].Visible = false;
}
private bool TryGetIdentifierFromSelectRow(out int id)
{
id = 0;

View File

@ -122,8 +122,11 @@ public class OrderRepository : IOrderRepository
connection.Open();
var querySelect = @"
SELECT o.*, od.DetailId, od.DetailCount From ""Order"" o
LEFT JOIN OrderDetail od ON o.Id = od.OrderId";
SELECT o.*, od.DetailId, od.DetailCount, m.MasterName as ""MasterName""
FROM ""Order"" o
LEFT JOIN OrderDetail od ON o.Id = od.OrderId
LEFT JOIN Master m ON m.Id = o.MasterId
WHERE (@MasterId IS NULL OR o.MasterId = @MasterId)";
var orders = connection.Query<TempOrderDetail>(querySelect);
_logger.LogDebug("Полученные объекты: {json}", JsonConvert.SerializeObject(orders));
return orders.GroupBy(x => x.Id, y => y,

View File

@ -48,7 +48,15 @@ VALUES (@StorageId, @DetailId, @DetailCount, @SupplyDate)";
try
{
using var connection = new NpgsqlConnection(_connectionString.ConnectionString);
var querySelect = "SELECT * FROM StorageDetail";
var querySelect = @"SELECT
sd.*,
s.StorageAddress as ""StorageAddress"",
d.NameDetail as ""DetailName""
FROM StorageDetail sd
LEFT JOIN Storage s ON s.Id = sd.StorageId
LEFT JOIN Detail d ON d.Id = sd.DetailId
WHERE (@storageId IS NULL OR sd.StorageId = @storageId)
AND (@detailId IS NULL OR sd.DetailId = @detailId)";
var storageDetails = connection.Query<StorageDetail>(querySelect);
_logger.LogDebug("Полученные объекты: {json}", JsonConvert.SerializeObject(storageDetails));
return storageDetails;