diff --git a/Labaratory/Labaratory/Labaratory.csproj b/Labaratory/Labaratory/Labaratory.csproj
index 38f2631..8e7e902 100644
--- a/Labaratory/Labaratory/Labaratory.csproj
+++ b/Labaratory/Labaratory/Labaratory.csproj
@@ -95,6 +95,9 @@
Model1.tt
+
+ Model1.tt
+
diff --git a/Labaratory/Labaratory/Models/LoggnHistory.cs b/Labaratory/Labaratory/Models/LoggnHistory.cs
new file mode 100644
index 0000000..06176ab
--- /dev/null
+++ b/Labaratory/Labaratory/Models/LoggnHistory.cs
@@ -0,0 +1,22 @@
+//------------------------------------------------------------------------------
+//
+// Этот код создан по шаблону.
+//
+// Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+// Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+//
+//------------------------------------------------------------------------------
+
+namespace Labaratory.Models
+{
+ using System;
+ using System.Collections.Generic;
+
+ public partial class LoggnHistory
+ {
+ public int ID { get; set; }
+ public string Login { get; set; }
+ public Nullable AttemptTime { get; set; }
+ public Nullable IsSuccess { get; set; }
+ }
+}
diff --git a/Labaratory/Labaratory/Models/Model1.Context.cs b/Labaratory/Labaratory/Models/Model1.Context.cs
index 401adb4..c8498bc 100644
--- a/Labaratory/Labaratory/Models/Model1.Context.cs
+++ b/Labaratory/Labaratory/Models/Model1.Context.cs
@@ -39,5 +39,6 @@ namespace Labaratory.Models
public virtual DbSet Service_Statuses { get; set; }
public virtual DbSet Services { get; set; }
public virtual DbSet Users { get; set; }
+ public virtual DbSet LoggnHistories { get; set; }
}
}
diff --git a/Labaratory/Labaratory/Models/Model1.Designer.cs b/Labaratory/Labaratory/Models/Model1.Designer.cs
index e29ec55..4cfa274 100644
--- a/Labaratory/Labaratory/Models/Model1.Designer.cs
+++ b/Labaratory/Labaratory/Models/Model1.Designer.cs
@@ -1,4 +1,4 @@
-// Создание кода T4 для модели "C:\Users\usersql\source\repos\UP01TASK3\Labaratory\Labaratory\Models\Model1.edmx" включено.
+// Создание кода T4 для модели "C:\Users\usersql\Source\Repos\UP01TASK3\Labaratory\Labaratory\Models\Model1.edmx" включено.
// Чтобы включить формирование кода прежних версий, измените значение свойства "Стратегия создания кода" конструктора
// на "Legacy ObjectContext". Это свойство доступно в окне "Свойства", если модель
// открыта в конструкторе.
diff --git a/Labaratory/Labaratory/Models/Model1.edmx b/Labaratory/Labaratory/Models/Model1.edmx
index 2ba6fbc..0b22d44 100644
--- a/Labaratory/Labaratory/Models/Model1.edmx
+++ b/Labaratory/Labaratory/Models/Model1.edmx
@@ -4,7 +4,7 @@
-
+
@@ -46,6 +46,17 @@
+
+
+
+
+
+
+
+
+
+
@@ -71,6 +82,7 @@
+
@@ -385,6 +397,14 @@
+
+ SELECT
+ [LoggnHistory].[ID] AS [ID],
+ [LoggnHistory].[Login] AS [Login],
+ [LoggnHistory].[AttemptTime] AS [AttemptTime],
+ [LoggnHistory].[IsSuccess] AS [IsSuccess]
+ FROM [dbo].[LoggnHistory] AS [LoggnHistory]
+
@@ -458,8 +478,7 @@
-
-
+
@@ -547,6 +566,7 @@
+
@@ -916,7 +936,17 @@
+
+
+
+
+
+
+
+
+
+
@@ -989,6 +1019,7 @@
+
@@ -1085,6 +1116,16 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Labaratory/Labaratory/Models/Model1.edmx.diagram b/Labaratory/Labaratory/Models/Model1.edmx.diagram
index 0f82470..deaa12d 100644
--- a/Labaratory/Labaratory/Models/Model1.edmx.diagram
+++ b/Labaratory/Labaratory/Models/Model1.edmx.diagram
@@ -36,6 +36,7 @@
+
diff --git a/Labaratory/Labaratory/Models/Order.cs b/Labaratory/Labaratory/Models/Order.cs
index d2d8299..b30b407 100644
--- a/Labaratory/Labaratory/Models/Order.cs
+++ b/Labaratory/Labaratory/Models/Order.cs
@@ -26,6 +26,7 @@ namespace Labaratory.Models
public Nullable Patient { get; set; }
public Nullable Status { get; set; }
public Nullable TotalExecutionDays { get; set; }
+ public string Barcode { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection Invoices { get; set; }
diff --git a/Labaratory/Labaratory/ViewModels/Laborant.cs b/Labaratory/Labaratory/ViewModels/Laborant.cs
index 2d51f34..958e060 100644
--- a/Labaratory/Labaratory/ViewModels/Laborant.cs
+++ b/Labaratory/Labaratory/ViewModels/Laborant.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using System.Windows;
using System.Threading.Tasks;
namespace Labaratory.ViewModels
@@ -13,6 +14,71 @@ namespace Labaratory.ViewModels
public Laborant(Models.User user)
{
CurrentUser = user;
+ CalculateNextNumber();
+ }
+ private string _barcodeInput;
+ private string _suggestedNumber;
+ private Models.LaboratoryDBEntities db = new Models.LaboratoryDBEntities();
+
+ public string BarcodeInput
+ {
+ get => _barcodeInput;
+ set { _barcodeInput = value; OnPropertyChanged(); }
+ }
+
+ public string SuggestedNumber
+ {
+ get => _suggestedNumber;
+ set { _suggestedNumber = value; OnPropertyChanged(); }
+ }
+ private void CalculateNextNumber()
+ {
+ // Находим последний ID в заказах (кроме архивных, если есть флаг IsArchived)
+ //var lastId = db.Orders.OrderByDescending(o => o.ID).Select(o => o.ID).FirstOrDefault();
+ //SuggestedNumber = (lastId + 1).ToString();
+ BarcodeInput = SuggestedNumber; // Устанавливаем как значение по умолчанию
+ }
+ private string GetNextOrderNumber()
+ {
+ // Находим максимальный ID_Order
+ var lastId = db.Orders.OrderByDescending(o => o.ID_Order).Select(o => o.ID_Order).FirstOrDefault();
+ return (lastId + 1).ToString();
+ }
+
+ // Формирование полного штрих-кода по ТЗ
+ private string CreateFullBarcodeString(string orderId)
+ {
+ string datePart = DateTime.Now.ToString("ddMMyyyy");
+
+ // Генерируем 6 случайных цифр
+ Random rnd = new Random();
+ string randomPart = "";
+ for (int i = 0; i < 6; i++) randomPart += rnd.Next(0, 10).ToString();
+
+ // Результат: ID + Дата + 6 цифр
+ return $"{orderId}{datePart}{randomPart}";
+ }
+ public void ProcessOrder()
+ {
+ if (db.Orders.Any(o => o.Barcode == BarcodeInput))
+ {
+ MessageBox.Show("Такой код пробирки уже существует!");
+ return;
+ }
+
+ // Формируем полный код: ID + Дата + 6 случайных символов
+ string fullCode = GenerateFullBarcode(BarcodeInput);
+
+ // Сохраняем в PDF и БД
+ //SaveToPdf(fullCode);
+ //SaveOrderToDb(fullCode);
+ }
+
+ private string GenerateFullBarcode(string orderId)
+ {
+ string datePart = DateTime.Now.ToString("ddMMyyyy");
+ string uniquePart = Guid.NewGuid().ToString("N").Substring(0, 6); // 6 случайных символов
+ return $"{orderId}{datePart}{uniquePart}";
}
}
}
diff --git a/Labaratory/Labaratory/Views/AdminWindow.xaml b/Labaratory/Labaratory/Views/AdminWindow.xaml
index e7f4894..b6d039b 100644
--- a/Labaratory/Labaratory/Views/AdminWindow.xaml
+++ b/Labaratory/Labaratory/Views/AdminWindow.xaml
@@ -1,12 +1,22 @@
-
+ Title="AdminWindow" Height="450" Width="800"
+ Background="{ui:ThemeResource ApplicationBackgroundBrush}"
+ Foreground="{ui:ThemeResource TextFillColorPrimaryBrush}">
-
+
+
+
+
+
+
+
+
diff --git a/Labaratory/Labaratory/Views/LaborantWindow.xaml b/Labaratory/Labaratory/Views/LaborantWindow.xaml
index 74e1ef6..6d1d341 100644
--- a/Labaratory/Labaratory/Views/LaborantWindow.xaml
+++ b/Labaratory/Labaratory/Views/LaborantWindow.xaml
@@ -4,9 +4,33 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Labaratory.Views"
+ xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
mc:Ignorable="d"
- Title="Laborant" Height="450" Width="800">
+ Title="Laborant" Height="450" Width="800"
+ Background="{ui:ThemeResource ApplicationBackgroundBrush}"
+ Foreground="{ui:ThemeResource TextFillColorPrimaryBrush}">
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Labaratory/Labaratory/Views/LaborantWindow.xaml.cs b/Labaratory/Labaratory/Views/LaborantWindow.xaml.cs
index 6739134..428f865 100644
--- a/Labaratory/Labaratory/Views/LaborantWindow.xaml.cs
+++ b/Labaratory/Labaratory/Views/LaborantWindow.xaml.cs
@@ -22,6 +22,7 @@ namespace Labaratory.Views
public Laborant()
{
InitializeComponent();
+ DataContext = new Laborant();
}
}
}