Compare commits
2 Commits
build-1.0.5
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
| ce489f4464 | |||
| a49af51128 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -53,3 +53,5 @@ Thumbs.db
|
||||
*/obj
|
||||
Drab/.config
|
||||
Drab/drab.db
|
||||
Drab/drab.db-shm
|
||||
Drab/drab.db-wal
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0-windows</TargetFramework>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
using System;
|
||||
|
||||
namespace Drab.Core.Models;
|
||||
namespace Drab.Core.Models;
|
||||
|
||||
public class Result<TOk, TBad>
|
||||
{
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0-windows</TargetFramework>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Drab.LocalDb.Entities;
|
||||
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
using Drab.Logic.Services;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Reflection;
|
||||
using Drab.Logic.Services;
|
||||
|
||||
namespace Drab.Logic;
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0-windows</TargetFramework>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System.Printing">
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using Pcm.Db.Entities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Drab.Logic.Dtos;
|
||||
namespace Drab.Logic.Dtos;
|
||||
|
||||
public class DokDto
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
using Pcm.Db.Entities;
|
||||
|
||||
namespace Drab.Logic.Dtos;
|
||||
namespace Drab.Logic.Dtos;
|
||||
|
||||
public class MagDto
|
||||
{
|
||||
|
||||
@ -1,7 +1,4 @@
|
||||
using System.Linq;
|
||||
using Pcm.Db.Entities;
|
||||
|
||||
namespace Drab.Logic.Dtos;
|
||||
namespace Drab.Logic.Dtos;
|
||||
|
||||
public class PozDokDto
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
using Pcm.Db.Entities;
|
||||
|
||||
namespace Drab.Logic.Dtos;
|
||||
namespace Drab.Logic.Dtos;
|
||||
|
||||
public class TowarDto
|
||||
{
|
||||
|
||||
12
Drab.Logic/GlobalUsings.cs
Normal file
12
Drab.Logic/GlobalUsings.cs
Normal file
@ -0,0 +1,12 @@
|
||||
// Global using directives
|
||||
|
||||
global using Drab.Core.Configuration;
|
||||
global using Drab.LocalDb;
|
||||
global using Drab.LocalDb.Entities;
|
||||
global using Drab.Logic.Dtos;
|
||||
global using Drab.Logic.Interfaces;
|
||||
global using Drab.Logic.Models;
|
||||
global using Microsoft.Extensions.DependencyInjection;
|
||||
global using Microsoft.Extensions.Logging;
|
||||
global using NLog;
|
||||
global using Pcm.Db.Entities;
|
||||
@ -1,6 +1,4 @@
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Drab.Logic.Interfaces;
|
||||
namespace Drab.Logic.Interfaces;
|
||||
|
||||
public interface IDbFetcher
|
||||
{
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using Drab.LocalDb.Entities;
|
||||
using Drab.Logic.Dtos;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Drab.Logic.Interfaces;
|
||||
namespace Drab.Logic.Interfaces;
|
||||
|
||||
public interface ILocalOrderStore
|
||||
{
|
||||
|
||||
@ -1,7 +1,4 @@
|
||||
using Drab.Logic.Dtos;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Drab.Logic.Interfaces;
|
||||
namespace Drab.Logic.Interfaces;
|
||||
|
||||
public interface IOrderPdfGenerator
|
||||
{
|
||||
|
||||
@ -1,7 +1,4 @@
|
||||
using Drab.Logic.Dtos;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Drab.Logic.Interfaces;
|
||||
namespace Drab.Logic.Interfaces;
|
||||
|
||||
public interface IOrderProcessor
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using Drab.Core.Models;
|
||||
using Drab.Logic.Dtos;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Drab.Logic.Interfaces;
|
||||
|
||||
|
||||
@ -1,7 +1,4 @@
|
||||
using Drab.Logic.Models;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Drab.Logic.Interfaces;
|
||||
namespace Drab.Logic.Interfaces;
|
||||
|
||||
public interface IPrintService
|
||||
{
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
using Drab.Logic.Interfaces;
|
||||
using Drab.Logic.Services;
|
||||
using Drab.Logic.Services;
|
||||
using Drab.Logic.Utils;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace Drab.Logic.Ioc;
|
||||
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
using System.Drawing;
|
||||
|
||||
namespace Drab.Logic.Models;
|
||||
namespace Drab.Logic.Models;
|
||||
|
||||
public record PrintDocumentRequest(string FilePath, long DokId);
|
||||
|
||||
|
||||
@ -1,31 +1,10 @@
|
||||
using System;
|
||||
using Drab.LocalDb;
|
||||
using Drab.LocalDb.Entities;
|
||||
using Drab.Logic.Dtos;
|
||||
using Drab.Logic.Interfaces;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using NLog;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
namespace Drab.Logic.Services;
|
||||
|
||||
namespace Drab.Logic.Services;
|
||||
|
||||
public class LocalOrderStore : ILocalOrderStore
|
||||
public class LocalOrderStore(IServiceScopeFactory serviceScopeFactory) : ILocalOrderStore
|
||||
{
|
||||
|
||||
private readonly ILogger _logger;
|
||||
private readonly IServiceScopeFactory _serviceScopeFactory;
|
||||
|
||||
public LocalOrderStore(IServiceScopeFactory serviceScopeFactory)
|
||||
{
|
||||
_logger = LogManager.GetCurrentClassLogger();
|
||||
_serviceScopeFactory = serviceScopeFactory;
|
||||
}
|
||||
|
||||
public async Task<List<OrderDb>> GetAll()
|
||||
{
|
||||
using var scope = _serviceScopeFactory.CreateScope();
|
||||
using var scope = serviceScopeFactory.CreateScope();
|
||||
await using var dbContext = scope.ServiceProvider.GetService<LocalDbContext>();
|
||||
var fromDate = DateTime.UtcNow.AddDays(-30);
|
||||
|
||||
@ -38,7 +17,7 @@ public class LocalOrderStore : ILocalOrderStore
|
||||
|
||||
public async Task<DokDto> GetOrderById(long dokId)
|
||||
{
|
||||
using var scope = _serviceScopeFactory.CreateScope();
|
||||
using var scope = serviceScopeFactory.CreateScope();
|
||||
await using var dbContext = scope.ServiceProvider.GetService<LocalDbContext>();
|
||||
var order = dbContext.Orders.FirstOrDefault(x => x.DokId == dokId);
|
||||
|
||||
|
||||
@ -1,11 +1,4 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Drab.LocalDb;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
|
||||
namespace Drab.Logic.Services;
|
||||
|
||||
@ -35,21 +28,39 @@ public class OldOrdersCleanupService : BackgroundService
|
||||
.Where(o => o.Created < threshold)
|
||||
.ToList();
|
||||
|
||||
if (oldOrders.Count != 0)
|
||||
var filesToDelete = oldOrders
|
||||
.Select(o => Path.Combine(Constants.ReportsOutputPath, o.Filename))
|
||||
.Where(p => !string.IsNullOrWhiteSpace(p) && File.Exists(p))
|
||||
.ToList();
|
||||
|
||||
foreach (var path in filesToDelete)
|
||||
{
|
||||
try
|
||||
{
|
||||
File.Delete(path);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogWarning(ex, "Failed to delete file: {FilePath}", path);
|
||||
}
|
||||
}
|
||||
|
||||
if (oldOrders.Count > 0)
|
||||
{
|
||||
dbContext.Orders.RemoveRange(oldOrders);
|
||||
await dbContext.SaveChangesAsync(stoppingToken);
|
||||
|
||||
_logger.LogInformation("Usunięto {OldOrdersCount} starych zamówień.", oldOrders.Count);
|
||||
_logger.LogInformation("Removed {OrderCount} old orders and deleted {FileCount} files.",
|
||||
oldOrders.Count, filesToDelete.Count);
|
||||
}
|
||||
else
|
||||
{
|
||||
_logger.LogInformation("Nie znaleziono starych zamówień do usunięcia.");
|
||||
_logger.LogInformation("Nothing to do.");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Błąd podczas usuwania starych zamówień.");
|
||||
_logger.LogError(ex, "Error occured:");
|
||||
}
|
||||
|
||||
await Task.Delay(_interval, stoppingToken);
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
using System;
|
||||
|
||||
namespace Drab.Logic.Services;
|
||||
namespace Drab.Logic.Services;
|
||||
|
||||
public class OrderEventBus
|
||||
{
|
||||
|
||||
@ -1,27 +1,14 @@
|
||||
using Drab.Logic.Dtos;
|
||||
using Drab.Logic.Interfaces;
|
||||
using System.Reflection;
|
||||
using FastReport;
|
||||
using FastReport.Export.PdfSimple;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Drab.Logic.Services;
|
||||
|
||||
internal class OrderPdfGenerator : IOrderPdfGenerator
|
||||
internal class OrderPdfGenerator(ILogger<OrderPdfGenerator> logger) : IOrderPdfGenerator
|
||||
{
|
||||
private readonly ILogger _logger;
|
||||
|
||||
public OrderPdfGenerator()
|
||||
{
|
||||
_logger = LogManager.GetCurrentClassLogger();
|
||||
}
|
||||
|
||||
public Task<string> GenerateOrder(DokDto order)
|
||||
{
|
||||
_logger.Info($"Generate pdf document: {order.NrDok}");
|
||||
logger.LogInformation("Generate pdf document: {OrderNo}", order.NrDok);
|
||||
var cleanFilename = order.NrDok.Replace('/', '-');
|
||||
var orderFilename = $"Zam_{cleanFilename}_{order.Data:yyyy-MM-dd}_{order.Sklep}_{order.DokId}.pdf";
|
||||
var templatePath = Path.Combine(Constants.ReportsTemplatesPath, "Order.frx");
|
||||
@ -44,7 +31,7 @@ internal class OrderPdfGenerator : IOrderPdfGenerator
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.Error(e, "Error on generating order document: {OrderNo}", order.NrDok);
|
||||
logger.LogError(e, "Error on generating order document: {OrderNo}", order.NrDok);
|
||||
return Task.FromResult(string.Empty);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,20 +1,10 @@
|
||||
using Drab.LocalDb;
|
||||
using Drab.LocalDb.Entities;
|
||||
using Drab.Logic.Dtos;
|
||||
using Drab.Logic.Interfaces;
|
||||
using Drab.Logic.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Drab.Logic.Services;
|
||||
|
||||
public class OrderProcessor : IOrderProcessor
|
||||
{
|
||||
private readonly ILogger _logger;
|
||||
private readonly ILogger<OrderProcessor> _logger;
|
||||
private readonly IServiceScopeFactory _serviceScopeFactory;
|
||||
private readonly IPrintService _printService;
|
||||
private readonly IOrderPdfGenerator _orderPdfGenerator;
|
||||
@ -23,13 +13,13 @@ public class OrderProcessor : IOrderProcessor
|
||||
public OrderProcessor(IServiceScopeFactory serviceScopeFactory,
|
||||
IPrintService printService,
|
||||
IOrderPdfGenerator orderPdfGenerator,
|
||||
OrderEventBus eventBus)
|
||||
OrderEventBus eventBus, ILogger<OrderProcessor> logger)
|
||||
{
|
||||
_logger = LogManager.GetCurrentClassLogger();
|
||||
_serviceScopeFactory = serviceScopeFactory;
|
||||
_printService = printService;
|
||||
_orderPdfGenerator = orderPdfGenerator;
|
||||
_eventBus = eventBus;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task ProcessOrder(DokDto order)
|
||||
@ -40,7 +30,6 @@ public class OrderProcessor : IOrderProcessor
|
||||
return;
|
||||
|
||||
var filePath = await EnsureOrderPdfExists(order, dok);
|
||||
|
||||
var printResult = await PrintOrder(order, filePath);
|
||||
|
||||
if (printResult.IsSuccess)
|
||||
@ -57,7 +46,7 @@ public class OrderProcessor : IOrderProcessor
|
||||
if (dok != null)
|
||||
return dok;
|
||||
|
||||
_logger.Info("Creating new order - {OrderNo}", order.NrDok);
|
||||
_logger.LogInformation("Creating new order - {OrderNo}", order.NrDok);
|
||||
|
||||
dok = new OrderDb
|
||||
{
|
||||
@ -83,7 +72,7 @@ public class OrderProcessor : IOrderProcessor
|
||||
return fullPath;
|
||||
}
|
||||
|
||||
_logger.Info("Generating order file: {OrderNo}", order.NrDok);
|
||||
_logger.LogInformation("Generating order file: {OrderNo}", order.NrDok);
|
||||
|
||||
var generatedFilename = await _orderPdfGenerator.GenerateOrder(order);
|
||||
var newPath = Path.Combine(Constants.ReportsOutputPath, generatedFilename);
|
||||
@ -98,11 +87,11 @@ public class OrderProcessor : IOrderProcessor
|
||||
|
||||
private async Task<PrintDocumentResult> PrintOrder(DokDto order, string filePath)
|
||||
{
|
||||
_logger.Info("Printing order: {OrderNo}", order.NrDok);
|
||||
_logger.LogInformation("Printing order: {OrderNo}", order.NrDok);
|
||||
|
||||
var result = await _printService.PrintPdf(new PrintDocumentRequest(filePath, order.DokId));
|
||||
|
||||
_logger.Info("Printing result - OrderNo: {OrderNo}, Success: {IsSuccess}, Message: {Message}",
|
||||
_logger.LogInformation("Printing result - OrderNo: {OrderNo}, Success: {IsSuccess}, Message: {Message}",
|
||||
order.NrDok, result.IsSuccess, result.Message);
|
||||
|
||||
return result;
|
||||
@ -120,7 +109,7 @@ public class OrderProcessor : IOrderProcessor
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.Error(e, "Error retrieving order from database");
|
||||
_logger.LogError(e, "Error retrieving order from database");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,45 +1,41 @@
|
||||
using Drab.Core.Models;
|
||||
using Drab.Logic.Dtos;
|
||||
using Drab.Logic.Interfaces;
|
||||
using System.Globalization;
|
||||
using Drab.Core.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using NLog;
|
||||
using Pcm.Db;
|
||||
using Pcm.Db.Enums;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Drab.Core.Configuration;
|
||||
|
||||
namespace Drab.Logic.Services;
|
||||
|
||||
public class OrdersStore : IOrdersStore, IDisposable
|
||||
{
|
||||
private readonly ILogger _logger;
|
||||
private readonly ILogger<OrdersStore> _logger;
|
||||
private readonly IServiceScopeFactory _serviceScopeFactory;
|
||||
private readonly IDrabSettings _drabSettings;
|
||||
|
||||
public OrdersStore(IServiceScopeFactory serviceScopeFactory, IDrabSettings drabSettings)
|
||||
public OrdersStore(ILogger<OrdersStore> logger, IServiceScopeFactory serviceScopeFactory, IDrabSettings drabSettings)
|
||||
{
|
||||
_serviceScopeFactory = serviceScopeFactory;
|
||||
_drabSettings = drabSettings;
|
||||
_logger = LogManager.GetCurrentClassLogger();
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task<Result<List<DokDto>, string>> FetchOrders()
|
||||
{
|
||||
_logger.Info("Fetch new orders");
|
||||
_logger.LogInformation("Fetch new orders");
|
||||
|
||||
var now = DateTime.Now;
|
||||
var fallbackDate = now - TimeSpan.FromDays(30);
|
||||
DateTime date;
|
||||
|
||||
try
|
||||
{
|
||||
date = DateTime.ParseExact(_drabSettings.IgnoreOrdersBefore, "yyyy-MM-dd", CultureInfo.InvariantCulture);
|
||||
var parsed = DateTime.ParseExact(_drabSettings.IgnoreOrdersBefore, "yyyy-MM-dd", CultureInfo.InvariantCulture);
|
||||
date = (now - parsed).TotalDays > 30 ? fallbackDate : parsed;
|
||||
}
|
||||
catch
|
||||
{
|
||||
date = DateTime.Now - TimeSpan.FromDays(30);
|
||||
_logger.LogWarning("IgnoreOrdersBefore is invalid, falling back to last 30 days.");
|
||||
date = fallbackDate;
|
||||
}
|
||||
|
||||
using var scope = _serviceScopeFactory.CreateScope();
|
||||
@ -67,7 +63,7 @@ public class OrdersStore : IOrdersStore, IDisposable
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.Error(e, "Error on fetching orders");
|
||||
_logger.LogError(e, "Error on fetching orders");
|
||||
return Result.Failed<List<DokDto>, string>(e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,26 +1,11 @@
|
||||
using Drab.Core.Configuration;
|
||||
using Drab.Logic.Interfaces;
|
||||
using Drab.Logic.Models;
|
||||
using PdfiumViewer;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing.Printing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Drawing.Printing;
|
||||
using System.Printing;
|
||||
using System.Threading.Tasks;
|
||||
using PdfiumViewer;
|
||||
|
||||
namespace Drab.Logic.Services;
|
||||
|
||||
public class PrintService : IPrintService
|
||||
public class PrintService(IDrabSettings drabSettings) : IPrintService
|
||||
{
|
||||
private readonly IDrabSettings _drabSettings;
|
||||
|
||||
public PrintService(IDrabSettings drabSettings)
|
||||
{
|
||||
_drabSettings = drabSettings;
|
||||
}
|
||||
|
||||
public async Task<PrintDocumentResult> PrintPdf(PrintDocumentRequest request)
|
||||
{
|
||||
try
|
||||
@ -46,7 +31,7 @@ public class PrintService : IPrintService
|
||||
}
|
||||
}
|
||||
|
||||
await Task.Delay(TimeSpan.FromSeconds(_drabSettings.PrinterTimeoutSeconds));
|
||||
await Task.Delay(TimeSpan.FromSeconds(drabSettings.PrinterTimeoutSeconds));
|
||||
|
||||
var jobs = GetPrintJobs(request.DokId.ToString());
|
||||
if (jobs.Count == 0)
|
||||
|
||||
@ -1,12 +1,4 @@
|
||||
using Drab.Core.Configuration;
|
||||
using Drab.Logic.Interfaces;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
|
||||
namespace Drab.Logic.Utils;
|
||||
|
||||
@ -15,14 +7,14 @@ public class DbFetcher : BackgroundService
|
||||
private readonly IDrabSettings _drabSettings;
|
||||
private readonly IServiceScopeFactory _serviceScopeFactory;
|
||||
private readonly IOrderProcessor _orderProcessor;
|
||||
private readonly ILogger _logger;
|
||||
private readonly ILogger<DbFetcher> _logger;
|
||||
|
||||
public DbFetcher(IDrabSettings drabSettings, IServiceScopeFactory serviceScopeFactory, IOrderProcessor orderProcessor)
|
||||
public DbFetcher(IDrabSettings drabSettings, IServiceScopeFactory serviceScopeFactory, IOrderProcessor orderProcessor, ILogger<DbFetcher> logger)
|
||||
{
|
||||
_drabSettings = drabSettings;
|
||||
_serviceScopeFactory = serviceScopeFactory;
|
||||
_orderProcessor = orderProcessor;
|
||||
_logger = LogManager.GetCurrentClassLogger();
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
protected override Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
@ -31,12 +23,12 @@ public class DbFetcher : BackgroundService
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public async Task Start()
|
||||
private async Task Start()
|
||||
{
|
||||
await Task.Delay(TimeSpan.FromSeconds(2));
|
||||
while (true)
|
||||
{
|
||||
_logger.Info("Fetch database for new orders");
|
||||
_logger.LogInformation("Fetch database for new orders");
|
||||
try
|
||||
{
|
||||
using var scope = _serviceScopeFactory.CreateScope();
|
||||
@ -44,14 +36,14 @@ public class DbFetcher : BackgroundService
|
||||
var result = await orderStore.FetchOrders();
|
||||
|
||||
if (result.IsNotOk)
|
||||
_logger.Warn($"Fetch orders result failed: {result.Error}");
|
||||
_logger.LogWarning($"Fetch orders result failed: {result.Error}");
|
||||
|
||||
result.Value.ToList()
|
||||
.ForEach(x => _orderProcessor.ProcessOrder(x));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.Error(e, "Error on fetching new orders data:");
|
||||
_logger.LogError(e, "Error on fetching new orders data:");
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
using System.Globalization;
|
||||
using System.Net;
|
||||
using Drab.Core.Configuration;
|
||||
using Drab.Core.Ioc;
|
||||
@ -11,6 +12,15 @@ using NLog.Extensions.Logging;
|
||||
using Pcm.Db.Ioc;
|
||||
using Radzen;
|
||||
|
||||
|
||||
var culture = new CultureInfo("pl-PL");
|
||||
CultureInfo.DefaultThreadCurrentCulture = culture;
|
||||
CultureInfo.DefaultThreadCurrentUICulture = culture;
|
||||
CultureInfo.CurrentCulture = culture;
|
||||
CultureInfo.CurrentUICulture = culture;
|
||||
Thread.CurrentThread.CurrentCulture = culture;
|
||||
Thread.CurrentThread.CurrentUICulture = culture;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
var configurationBuilder = new ConfigurationBuilder()
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@using Drab.Ui.components
|
||||
@using Drab.Ui.Components
|
||||
@using Microsoft.AspNetCore.Components.Web
|
||||
@using Radzen
|
||||
|
||||
@ -18,7 +18,8 @@
|
||||
|
||||
<body>
|
||||
<Routes @rendermode="RenderMode.InteractiveServer"/>
|
||||
<script src="_content/Radzen.Blazor/Radzen.Blazor.js?v=@(typeof(Colors).Assembly.GetName().Version)"></script>
|
||||
<script src="_content/Radzen.Blazor/Radzen.Blazor.js?v=@(typeof(Colors).Assembly.GetName()
|
||||
.Version)"></script>
|
||||
<script src="_framework/blazor.web.js"></script>
|
||||
</body>
|
||||
|
||||
|
||||
@ -2,7 +2,8 @@
|
||||
@using Drab.LocalDb
|
||||
@using Drab.LocalDb.Entities
|
||||
@using Drab.Logic.Services
|
||||
@using Drab.Ui.components
|
||||
@using Drab.Ui.Components
|
||||
@using Microsoft.EntityFrameworkCore
|
||||
@using Radzen
|
||||
@inject LocalDbContext LocalDbContext
|
||||
@inject DialogService DialogService
|
||||
@ -64,20 +65,20 @@
|
||||
</RadzenDataGrid>
|
||||
|
||||
@code {
|
||||
IQueryable<OrderDb> _orders;
|
||||
List<OrderDb> _orders;
|
||||
private RadzenDataGrid<OrderDb>? _dataGridRef;
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
EventBus.OrdersChanged += OnOrdersChanged;
|
||||
_orders = LocalDbContext.Orders;
|
||||
_orders = LocalDbContext.Orders.AsNoTracking().ToList();
|
||||
}
|
||||
|
||||
private async Task RowClick(DataGridRowMouseEventArgs<OrderDb> obj)
|
||||
{
|
||||
await DialogService.OpenAsync<PdfViewer>($"Zamówienie {obj.Data.OrderNumber} - Sklep {obj.Data.Shop}",
|
||||
new Dictionary<string, object>() {{nameof(PdfViewer.Filename), obj.Data.Filename}},
|
||||
new DialogOptions()
|
||||
new Dictionary<string, object> {{nameof(PdfViewer.Filename), obj.Data.Filename}},
|
||||
new DialogOptions
|
||||
{
|
||||
CloseDialogOnEsc = true,
|
||||
CloseDialogOnOverlayClick = true,
|
||||
@ -92,8 +93,8 @@
|
||||
{
|
||||
InvokeAsync(() =>
|
||||
{
|
||||
_orders = LocalDbContext.Orders;
|
||||
_dataGridRef?.Reload();
|
||||
_orders = LocalDbContext.Orders.AsNoTracking().ToList();
|
||||
_dataGridRef?.RefreshDataAsync();
|
||||
StateHasChanged();
|
||||
return Task.CompletedTask;
|
||||
});
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft": "Warning",
|
||||
"Microsoft.Hosting.Lifetime": "Information"
|
||||
"Microsoft.Hosting.Lifetime": "Information",
|
||||
"Microsoft.EntityFrameworkCore.Model.Validation": "None"
|
||||
}
|
||||
},
|
||||
"ListenPort": 80,
|
||||
|
||||
@ -25,6 +25,8 @@
|
||||
</targets>
|
||||
|
||||
<rules>
|
||||
<logger name="Microsoft.EntityFrameworkCore.Model.Validation" minlevel="Info" final="true"/>
|
||||
<logger name="Microsoft.EntityFrameworkCore.Query" minlevel="Info" final="true"/>
|
||||
<logger name="Microsoft.Hosting.Lifetime" minlevel="Info" writeTo="File, Console" final="true"/>
|
||||
<logger name="Microsoft.*" maxlevel="Info" final="true"/>
|
||||
<logger name="System.Net.Http.*" maxlevel="Info" final="true"/>
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Akwizytor
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Artykul
|
||||
{
|
||||
|
||||
@ -1,7 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
#nullable disable
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Bank
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Blokadum
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class CentrStanZgody
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Cza
|
||||
{
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class DefinicjaKodu
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
#nullable disable
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class DokDodKth
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class DokKasa
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class DokKontoBankowe
|
||||
{
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class DokKontr
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class DokKur
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class DokPunkty
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class DokWalutum
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class DostProd
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Dostawca
|
||||
{
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class DzienRozl
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class DzienRozlParam
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class FormZgod
|
||||
{
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class FormaPlatnPos7
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class FormaPlatnosci
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class GrWartosc
|
||||
{
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class GrupaAkcyzowa
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class GrupaTow
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class GrupaUz
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class HarmCeny
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class HarmCykl
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class HarmHarm
|
||||
{
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class HarmWpi
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Istw
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Jm
|
||||
{
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KartaLoj
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KasKod
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KasPar
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KasTow
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Kasa
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KasaFormaPlatn
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KatParam
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Kategorium
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KodDod
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KodWazony
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Komentarz
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Konfig
|
||||
{
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KontoBankowe
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KontoBankoweKontr
|
||||
{
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KontoLoj
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KontrOpi
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
#nullable disable
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Kraj
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KrajStawka
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KthParWartosc
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KthParam
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KthTypO
|
||||
{
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KthWartosc
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class KursWaluty
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class LiniaLotnicza
|
||||
{
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class LogOperation
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class LogTypeDef
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class LogValChangeNum
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class LogValChangeTxt
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Lotnisko
|
||||
{
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Pcm.Db.Entities;
|
||||
namespace Pcm.Db.Entities;
|
||||
|
||||
public class Magazyn
|
||||
{
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user