App refactor done

This commit is contained in:
Michał Zieliński
2025-11-05 20:50:25 +01:00
parent b65ea7d17f
commit 5bee3912f1
97 changed files with 2454 additions and 2320 deletions

View File

@@ -15,23 +15,23 @@ DOCKER_BACKUP_PATH=${DOCKER_BACKUP_DIR}/${BACKUP_FILE}
#SERVER VARIABLES #SERVER VARIABLES
REMOTE_HOST="bim-it.pl" REMOTE_HOST="bim-it.pl"
REMOTE_USER="mz" REMOTE_USER="mz"
REMOTE_SA_PASSWORD="v](8Lc|RfG" REMOTE_SA_PASSWORD="9832&^*&huihj"
REMOTE_BACKUP_DIR="/tmp" REMOTE_BACKUP_DIR="/tmp"
ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo rm ${REMOTE_BACKUP_DIR}/${BACKUP_FILE}" ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo rm ${REMOTE_BACKUP_DIR}/${BACKUP_FILE}"
ssh ${REMOTE_USER}@${REMOTE_HOST} "/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '${REMOTE_SA_PASSWORD}' -Q \"BACKUP DATABASE [${DB_NAME}] TO DISK = '${REMOTE_BACKUP_DIR}/${BACKUP_FILE}'\"" ssh ${REMOTE_USER}@${REMOTE_HOST} "/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '${REMOTE_SA_PASSWORD}' -Q \"BACKUP DATABASE [${DB_NAME}] TO DISK = '${REMOTE_BACKUP_DIR}/${BACKUP_FILE}'\""
scp ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_BACKUP_DIR}/${BACKUP_FILE} ${LOCAL_BACKUP_DIR}/ scp ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_BACKUP_DIR}/${BACKUP_FILE} ${LOCAL_BACKUP_DIR}/
docker exec -i ${DOCKER_CONTAINER_NAME} mkdir -p ${DOCKER_BACKUP_DIR} podman exec -i ${DOCKER_CONTAINER_NAME} mkdir -p ${DOCKER_BACKUP_DIR}
docker cp "${LOCAL_BACKUP_PATH}" "${DOCKER_CONTAINER_NAME}:${DOCKER_BACKUP_PATH}" podman cp "${LOCAL_BACKUP_PATH}" "${DOCKER_CONTAINER_NAME}:${DOCKER_BACKUP_PATH}"
docker exec --user=root -i ${DOCKER_CONTAINER_NAME} chown mssql:mssql "$DOCKER_BACKUP_PATH" podman exec --user=root -i ${DOCKER_CONTAINER_NAME} chown mssql:mssql "$DOCKER_BACKUP_PATH"
LOGICAL_FILE_INFO=$(docker exec -i ${DOCKER_CONTAINER_NAME} ${DOCKER_SQLCMD} -C -S localhost -U SA -P "${DOCKER_SA_PASSWORD}" -Q "RESTORE FILELISTONLY FROM DISK = '${DOCKER_BACKUP_PATH}'" 2>&1) LOGICAL_FILE_INFO=$(podman exec -i ${DOCKER_CONTAINER_NAME} ${DOCKER_SQLCMD} -C -S localhost -U SA -P "${DOCKER_SA_PASSWORD}" -Q "RESTORE FILELISTONLY FROM DISK = '${DOCKER_BACKUP_PATH}'" 2>&1)
DATA_FILE=$(echo "$LOGICAL_FILE_INFO" | awk 'NR==3 {print $1}' | tr -d '[:space:]') DATA_FILE=$(echo "$LOGICAL_FILE_INFO" | awk 'NR==3 {print $1}' | tr -d '[:space:]')
LOG_FILE=$(echo "$LOGICAL_FILE_INFO" | awk 'NR==4 {print $1}' | tr -d '[:space:]') LOG_FILE=$(echo "$LOGICAL_FILE_INFO" | awk 'NR==4 {print $1}' | tr -d '[:space:]')
RESTORE_OUTPUT=$( RESTORE_OUTPUT=$(
docker exec -i ${DOCKER_CONTAINER_NAME} ${DOCKER_SQLCMD} -C -S localhost -U SA -P "${DOCKER_SA_PASSWORD}" -Q " podman exec -i ${DOCKER_CONTAINER_NAME} ${DOCKER_SQLCMD} -C -S localhost -U SA -P "${DOCKER_SA_PASSWORD}" -Q "
IF EXISTS (SELECT name FROM sys.databases WHERE name = '${DB_NAME}') IF EXISTS (SELECT name FROM sys.databases WHERE name = '${DB_NAME}')
BEGIN BEGIN
PRINT 'Database ${DB_NAME} exists. Dropping the database.'; PRINT 'Database ${DB_NAME} exists. Dropping the database.';

View File

@@ -1,14 +1,14 @@
using Google.Apis.Auth; using Google.Apis.Auth;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.IdentityModel.Tokens; using Microsoft.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt; using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims; using System.Security.Claims;
using System.Text; using System.Text;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
using Microsoft.EntityFrameworkCore;
namespace DiunaBI.WebAPI.Controllers; namespace DiunaBI.API.Controllers;
[ApiController] [ApiController]
[Route("api/[controller]")] [Route("api/[controller]")]

View File

@@ -2,11 +2,10 @@ using System.Text;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using DiunaBI.Infrastructure.Data;
using DiunaBI.Core.Database.Context; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Models;
namespace DiunaBI.WebAPI.Controllers; namespace DiunaBI.API.Controllers;
[ApiController] [ApiController]
[Route("api/[controller]")] [Route("api/[controller]")]

View File

@@ -4,12 +4,11 @@ using Google.Apis.Sheets.v4;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
using DiunaBI.Core.Services; using DiunaBI.Infrastructure.Services;
using DiunaBI.Core.Interfaces;
namespace DiunaBI.WebAPI.Controllers; namespace DiunaBI.API.Controllers;
[ApiController] [ApiController]
[Route("api/[controller]")] [Route("api/[controller]")]

View File

@@ -1,8 +1,8 @@
using DiunaBI.Core.Services; using DiunaBI.Infrastructure.Services;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
namespace DiunaBI.WebAPI.Controllers; namespace DiunaBI.API.Controllers;
[ApiController] [ApiController]
[Route("api/[controller]")] [Route("api/[controller]")]

View File

@@ -3,6 +3,7 @@
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>DiunaBI.WebAPI</RootNamespace>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
@@ -20,7 +21,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\DiunaBI.Core\DiunaBI.Core.csproj" /> <ProjectReference Include="..\DiunaBI.Infrastructure\DiunaBI.Infrastructure.csproj" />
<ProjectReference Include="..\DiunaBI.Application\DiunaBI.Application.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -4,11 +4,10 @@ using Microsoft.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt; using System.IdentityModel.Tokens.Jwt;
using System.Reflection; using System.Reflection;
using System.Text; using System.Text;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
using DiunaBI.Core.Services; using DiunaBI.Infrastructure.Services;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using Serilog; using Serilog;
using DiunaBI.Core.Interfaces;
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);

View File

@@ -0,0 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>12.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\DiunaBI.Domain\DiunaBI.Domain.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AngouriMath" Version="1.4.0-preview.3" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" />
</ItemGroup>
</Project>

View File

@@ -1,24 +0,0 @@
using Microsoft.EntityFrameworkCore;
using DiunaBI.Core.Models;
using Microsoft.Extensions.Logging;
namespace DiunaBI.Core.Database.Context;
public class AppDbContext(DbContextOptions<AppDbContext> options) : DbContext(options)
{
public DbSet<User> Users { get; init; }
public DbSet<Layer> Layers { get; init; }
public DbSet<Record> Records { get; init; }
public DbSet<ProcessSource> ProcessSources { get; init; }
public DbSet<DataInbox> DataInbox { get; init; }
public DbSet<QueueJob> QueueJobs { get; init; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ProcessSource>().HasKey(x => new
{
x.LayerId,
x.SourceId
});
}
}

View File

@@ -1,29 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageReference Include="Google.Apis.Drive.v3" Version="1.68.0.3490" />
<PackageReference Include="Google.Apis.Sheets.v4" Version="1.68.0.3525" />
<PackageReference Include="Google.Apis.Auth" Version="1.68.0" />
<PackageReference Include="AngouriMath" Version="1.4.0-preview.3" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.0" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>12.0</LangVersion>
</PropertyGroup>
</Project>

View File

@@ -1,18 +1,14 @@
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace DiunaBI.Core.Models; namespace DiunaBI.Domain.Entities;
public class DataInbox public class DataInbox
{ {
#region Properties #region Properties
[Key]
public Guid Id { get; set; } public Guid Id { get; set; }
[StringLength(50)]
public required string Name { get; init; } public required string Name { get; init; }
[StringLength(50)]
public required string Source { get; set; } public required string Source { get; set; }
[StringLength(int.MaxValue)]
public required string Data { get; init; } public required string Data { get; init; }
public DateTime CreatedAt { get; set; } public DateTime CreatedAt { get; set; }
#endregion #endregion

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace DiunaBI.Core.Models; namespace DiunaBI.Domain.Entities;
public enum LayerType public enum LayerType
{ {
@@ -14,30 +14,19 @@ public enum LayerType
public class Layer public class Layer
{ {
#region Properties #region Properties
[Key]
public Guid Id { get; init; } public Guid Id { get; init; }
[Required]
public int Number { get; init; } public int Number { get; init; }
[Required]
[MaxLength(50)]
public string? Name { get; set; } public string? Name { get; set; }
[Required]
public LayerType Type { get; init; } public LayerType Type { get; init; }
[Required]
public DateTime CreatedAt { get; set; } public DateTime CreatedAt { get; set; }
[Required]
public DateTime ModifiedAt { get; set; } public DateTime ModifiedAt { get; set; }
[Required]
public bool IsDeleted { get; init; } = false; public bool IsDeleted { get; init; } = false;
[Required]
public bool IsCancelled { get; init; } = false; public bool IsCancelled { get; init; } = false;
#endregion #endregion
#region Relations #region Relations
public ICollection<Record>? Records { get; init; } public ICollection<Record>? Records { get; init; }
[Required]
public Guid CreatedById { get; set; } public Guid CreatedById { get; set; }
public User? CreatedBy { get; init; } public User? CreatedBy { get; init; }
[Required]
public Guid ModifiedById { get; set; } public Guid ModifiedById { get; set; }
public User? ModifiedBy { get; init; } public User? ModifiedBy { get; init; }
public Guid? ParentId { get; init; } public Guid? ParentId { get; init; }

View File

@@ -1,14 +1,12 @@
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace DiunaBI.Core.Models; namespace DiunaBI.Domain.Entities;
public class ProcessSource public class ProcessSource
{ {
#region Relations #region Relations
[Required]
public Guid LayerId { get; init; } public Guid LayerId { get; init; }
[Required]
public Guid SourceId { get; init; } public Guid SourceId { get; init; }
public Layer? Source { get; init; } public Layer? Source { get; init; }
#endregion #endregion

View File

@@ -1,56 +1,26 @@
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace DiunaBI.Core.Models; namespace DiunaBI.Domain.Entities;
public class QueueJob public class QueueJob
{ {
[Key]
public Guid Id { get; set; } = Guid.NewGuid(); public Guid Id { get; set; } = Guid.NewGuid();
[Required]
public Guid LayerId { get; set; } public Guid LayerId { get; set; }
[Required]
[MaxLength(200)]
public string LayerName { get; set; } = string.Empty; public string LayerName { get; set; } = string.Empty;
[Required]
[MaxLength(100)]
public string PluginName { get; set; } = string.Empty; public string PluginName { get; set; } = string.Empty;
[Required]
public JobType JobType { get; set; } public JobType JobType { get; set; }
public int Priority { get; set; } = 0; // 0 = highest priority public int Priority { get; set; } = 0; // 0 = highest priority
[Required]
public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
public int RetryCount { get; set; } = 0; public int RetryCount { get; set; } = 0;
public int MaxRetries { get; set; } = 5; public int MaxRetries { get; set; } = 5;
[Required]
public JobStatus Status { get; set; } = JobStatus.Pending; public JobStatus Status { get; set; } = JobStatus.Pending;
[MaxLength(1000)]
public string? LastError { get; set; } public string? LastError { get; set; }
public DateTime? LastAttemptAt { get; set; } public DateTime? LastAttemptAt { get; set; }
public DateTime? CompletedAt { get; set; } public DateTime? CompletedAt { get; set; }
[Required]
public Guid CreatedById { get; set; } public Guid CreatedById { get; set; }
[Required]
public DateTime CreatedAtUtc { get; set; } = DateTime.UtcNow; public DateTime CreatedAtUtc { get; set; } = DateTime.UtcNow;
[Required]
public Guid ModifiedById { get; set; } public Guid ModifiedById { get; set; }
[Required]
public DateTime ModifiedAtUtc { get; set; } = DateTime.UtcNow; public DateTime ModifiedAtUtc { get; set; } = DateTime.UtcNow;
} }

View File

@@ -1,15 +1,12 @@
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace DiunaBI.Core.Models; namespace DiunaBI.Domain.Entities;
public class Record public class Record
{ {
#region Properties #region Properties
[Key]
public Guid Id { get; set; } public Guid Id { get; set; }
[Required]
[StringLength(50)]
public string? Code { get; init; } public string? Code { get; init; }
public double? Value1 { get; set; } public double? Value1 { get; set; }
public double? Value2 { get; set; } public double? Value2 { get; set; }
@@ -43,18 +40,14 @@ public class Record
public double? Value30 { get; set; } public double? Value30 { get; set; }
public double? Value31 { get; set; } public double? Value31 { get; set; }
public double? Value32 { get; set; } public double? Value32 { get; set; }
//Description fields
[StringLength(10000)]
public string? Desc1 { get; set; } public string? Desc1 { get; set; }
public DateTime CreatedAt { get; set; } public DateTime CreatedAt { get; set; }
public DateTime ModifiedAt { get; set; } public DateTime ModifiedAt { get; set; }
public bool IsDeleted { get; init; } public bool IsDeleted { get; init; }
#endregion #endregion
#region Relations #region Relations
[Required]
public Guid CreatedById { get; set; } public Guid CreatedById { get; set; }
public User? CreatedBy { get; init; } public User? CreatedBy { get; init; }
[Required]
public Guid ModifiedById { get; set; } public Guid ModifiedById { get; set; }
public User? ModifiedBy { get; init; } public User? ModifiedBy { get; init; }
public Guid LayerId { get; set; } public Guid LayerId { get; set; }

View File

@@ -1,16 +1,13 @@
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace DiunaBI.Core.Models; namespace DiunaBI.Domain.Entities;
public class User public class User
{ {
#region Properties #region Properties
[Key]
public Guid Id { get; init; } public Guid Id { get; init; }
[StringLength(50)]
public string? Email { get; init; } public string? Email { get; init; }
[StringLength(50)]
public string? UserName { get; init; } public string? UserName { get; init; }
public DateTime CreatedAt { get; init; } public DateTime CreatedAt { get; init; }
#endregion #endregion

View File

@@ -0,0 +1,183 @@
using Microsoft.EntityFrameworkCore;
using DiunaBI.Domain.Entities;
namespace DiunaBI.Infrastructure.Data;
public class AppDbContext(DbContextOptions<AppDbContext> options) : DbContext(options)
{
public DbSet<User> Users { get; init; }
public DbSet<Layer> Layers { get; init; }
public DbSet<Record> Records { get; init; }
public DbSet<ProcessSource> ProcessSources { get; init; }
public DbSet<DataInbox> DataInbox { get; init; }
public DbSet<QueueJob> QueueJobs { get; init; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().HasKey(x => x.Id);
modelBuilder.Entity<User>().Property(x => x.Email).HasMaxLength(50);
modelBuilder.Entity<User>().Property(x => x.UserName).HasMaxLength(50);
modelBuilder.Entity<Layer>().HasKey(x => x.Id);
modelBuilder.Entity<Layer>().Property(x => x.Number).IsRequired();
modelBuilder.Entity<Layer>().Property(x => x.Name).IsRequired().HasMaxLength(50);
modelBuilder.Entity<Layer>().Property(x => x.Type).IsRequired().HasConversion<int>();
modelBuilder.Entity<Layer>().Property(x => x.CreatedAt).IsRequired();
modelBuilder.Entity<Layer>().Property(x => x.ModifiedAt).IsRequired();
modelBuilder.Entity<Layer>().Property(x => x.IsDeleted).IsRequired().HasDefaultValue(false);
modelBuilder.Entity<Layer>().Property(x => x.IsCancelled).IsRequired();
modelBuilder.Entity<Layer>().Property(x => x.CreatedById).IsRequired();
modelBuilder.Entity<Layer>().Property(x => x.ModifiedById).IsRequired();
modelBuilder.Entity<Layer>()
.HasOne(x => x.CreatedBy)
.WithMany()
.HasForeignKey(x => x.CreatedById)
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Layer>()
.HasOne(x => x.ModifiedBy)
.WithMany()
.HasForeignKey(x => x.ModifiedById)
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Layer>()
.HasMany(x => x.Records)
.WithOne()
.HasForeignKey(r => r.LayerId)
.OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<Record>().HasKey(x => x.Id);
modelBuilder.Entity<Record>().Property(x => x.Code).IsRequired().HasMaxLength(50);
modelBuilder.Entity<Record>().Property(x => x.Desc1).HasMaxLength(10000);
modelBuilder.Entity<Record>().Property(x => x.CreatedAt);
modelBuilder.Entity<Record>().Property(x => x.ModifiedAt);
modelBuilder.Entity<Record>().Property(x => x.IsDeleted);
modelBuilder.Entity<Record>().Property(x => x.CreatedById).IsRequired();
modelBuilder.Entity<Record>().Property(x => x.ModifiedById).IsRequired();
modelBuilder.Entity<Record>().Property(x => x.LayerId).IsRequired();
modelBuilder.Entity<Record>()
.HasOne(x => x.CreatedBy)
.WithMany()
.HasForeignKey(x => x.CreatedById)
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Record>()
.HasOne(x => x.ModifiedBy)
.WithMany()
.HasForeignKey(x => x.ModifiedById)
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Record>()
.HasOne<Layer>()
.WithMany(l => l.Records!)
.HasForeignKey(x => x.LayerId)
.OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<ProcessSource>().HasKey(x => new { x.LayerId, x.SourceId });
modelBuilder.Entity<ProcessSource>().Property(x => x.LayerId).IsRequired();
modelBuilder.Entity<ProcessSource>().Property(x => x.SourceId).IsRequired();
modelBuilder.Entity<ProcessSource>()
.HasOne<Layer>()
.WithMany()
.HasForeignKey(x => x.LayerId)
.OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<ProcessSource>()
.HasOne(x => x.Source)
.WithMany()
.HasForeignKey(x => x.SourceId)
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<DataInbox>().HasKey(x => x.Id);
modelBuilder.Entity<DataInbox>().Property(x => x.Name).IsRequired().HasMaxLength(50);
modelBuilder.Entity<DataInbox>().Property(x => x.Source).IsRequired().HasMaxLength(50);
modelBuilder.Entity<DataInbox>().Property(x => x.Data).IsRequired();
modelBuilder.Entity<DataInbox>().Property(x => x.CreatedAt);
modelBuilder.Entity<QueueJob>().HasKey(x => x.Id);
modelBuilder.Entity<QueueJob>().Property(x => x.LayerId).IsRequired();
modelBuilder.Entity<QueueJob>().Property(x => x.LayerName).IsRequired().HasMaxLength(200);
modelBuilder.Entity<QueueJob>().Property(x => x.PluginName).IsRequired().HasMaxLength(100);
modelBuilder.Entity<QueueJob>().Property(x => x.JobType).IsRequired().HasConversion<int>();
modelBuilder.Entity<QueueJob>().Property(x => x.Priority);
modelBuilder.Entity<QueueJob>().Property(x => x.CreatedAt).IsRequired();
modelBuilder.Entity<QueueJob>().Property(x => x.RetryCount);
modelBuilder.Entity<QueueJob>().Property(x => x.MaxRetries);
modelBuilder.Entity<QueueJob>().Property(x => x.Status).IsRequired().HasConversion<int>();
modelBuilder.Entity<QueueJob>().Property(x => x.LastError).HasMaxLength(1000);
modelBuilder.Entity<QueueJob>().Property(x => x.LastAttemptAt);
modelBuilder.Entity<QueueJob>().Property(x => x.CompletedAt);
modelBuilder.Entity<QueueJob>().Property(x => x.CreatedById).IsRequired();
modelBuilder.Entity<QueueJob>().Property(x => x.CreatedAtUtc).IsRequired();
modelBuilder.Entity<QueueJob>().Property(x => x.ModifiedById).IsRequired();
modelBuilder.Entity<QueueJob>().Property(x => x.ModifiedAtUtc).IsRequired();
// Configure automatic timestamps for entities with CreatedAt/ModifiedAt
ConfigureTimestamps(modelBuilder);
}
private void ConfigureTimestamps(ModelBuilder modelBuilder)
{
foreach (var entityType in modelBuilder.Model.GetEntityTypes())
{
// Check if entity has CreatedAt property
var createdAtProperty = entityType.FindProperty("CreatedAt");
if (createdAtProperty != null)
{
modelBuilder.Entity(entityType.ClrType)
.Property("CreatedAt")
.HasDefaultValueSql("NOW()");
}
// Check if entity has ModifiedAt property
var modifiedAtProperty = entityType.FindProperty("ModifiedAt");
if (modifiedAtProperty != null)
{
modelBuilder.Entity(entityType.ClrType)
.Property("ModifiedAt")
.HasDefaultValueSql("NOW()");
}
}
}
public override int SaveChanges()
{
UpdateTimestamps();
return base.SaveChanges();
}
public override Task<int> SaveChangesAsync(CancellationToken cancellationToken = default)
{
UpdateTimestamps();
return base.SaveChangesAsync(cancellationToken);
}
private void UpdateTimestamps()
{
var entities = ChangeTracker.Entries()
.Where(e => e.State == EntityState.Added || e.State == EntityState.Modified);
foreach (var entity in entities)
{
// Try to set CreatedAt for new entities
if (entity.State == EntityState.Added)
{
var createdAtProperty = entity.Properties.FirstOrDefault(p => p.Metadata.Name == "CreatedAt");
if (createdAtProperty != null)
{
createdAtProperty.CurrentValue = DateTime.UtcNow;
}
}
// Always update ModifiedAt
var modifiedAtProperty = entity.Properties.FirstOrDefault(p => p.Metadata.Name == "ModifiedAt");
if (modifiedAtProperty != null)
{
modifiedAtProperty.CurrentValue = DateTime.UtcNow;
}
}
}
}

View File

@@ -4,14 +4,14 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design; using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
namespace DiunaBI.Core.Database.Context; namespace DiunaBI.Infrastructure.Data;
public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<AppDbContext> public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<AppDbContext>
{ {
public AppDbContext CreateDbContext(string[] args) public AppDbContext CreateDbContext(string[] args)
{ {
var configuration = new ConfigurationBuilder() var configuration = new ConfigurationBuilder()
.SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../DiunaBI.WebAPI")) .SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../DiunaBI.API"))
.AddJsonFile("appsettings.json", optional: false) .AddJsonFile("appsettings.json", optional: false)
.AddJsonFile("appsettings.Development.json", optional: true) .AddJsonFile("appsettings.Development.json", optional: true)
.Build(); .Build();

View File

@@ -0,0 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>12.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\DiunaBI.Domain\DiunaBI.Domain.csproj" />
<ProjectReference Include="..\DiunaBI.Application\DiunaBI.Application.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.0" />
<PackageReference Include="Google.Apis.Sheets.v4" Version="1.68.0.3525" />
<PackageReference Include="Google.Apis.Drive.v3" Version="1.68.0.3490" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
</ItemGroup>
</Project>

View File

@@ -1,6 +1,6 @@
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
namespace DiunaBI.Core.Interfaces; namespace DiunaBI.Infrastructure.Interfaces;
public interface IDataExporter public interface IDataExporter
{ {

View File

@@ -1,6 +1,6 @@
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
namespace DiunaBI.Core.Interfaces; namespace DiunaBI.Infrastructure.Interfaces;
public interface IDataImporter public interface IDataImporter
{ {

View File

@@ -1,6 +1,6 @@
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
namespace DiunaBI.Core.Interfaces; namespace DiunaBI.Infrastructure.Interfaces;
public interface IDataProcessor public interface IDataProcessor
{ {

View File

@@ -1,4 +1,4 @@
namespace DiunaBI.Core.Interfaces; namespace DiunaBI.Infrastructure.Interfaces;
public interface IPlugin public interface IPlugin
{ {

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class Initial partial class Initial
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class Initial : Migration public partial class Initial : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class DataSetsAndDataRows partial class DataSetsAndDataRows
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class DataSetsAndDataRows : Migration public partial class DataSetsAndDataRows : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class RenameFields partial class RenameFields
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -2,7 +2,7 @@
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class RenameFields : Migration public partial class RenameFields : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class DataSetIdOnDataRow partial class DataSetIdOnDataRow
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class DataSetIdOnDataRow : Migration public partial class DataSetIdOnDataRow : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class RenameModels partial class RenameModels
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class RenameModels : Migration public partial class RenameModels : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class LayerType partial class LayerType
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -2,7 +2,7 @@
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class LayerType : Migration public partial class LayerType : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class RecordValues partial class RecordValues
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -2,7 +2,7 @@
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class RecordValues : Migration public partial class RecordValues : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class Layerparent partial class Layerparent
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class Layerparent : Migration public partial class Layerparent : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class ProcessSource partial class ProcessSource
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class ProcessSource : Migration public partial class ProcessSource : Migration

View File

@@ -6,8 +6,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -18,7 +18,7 @@ namespace DiunaBI.Core.Migrations
partial class TypeO partial class TypeO
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -2,7 +2,7 @@
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class TypeO : Migration public partial class TypeO : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class RecordValue32 partial class RecordValue32
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -2,7 +2,7 @@
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class RecordValue32 : Migration public partial class RecordValue32 : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class Changerecordvaluetype partial class Changerecordvaluetype
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -2,7 +2,7 @@
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class Changerecordvaluetype : Migration public partial class Changerecordvaluetype : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class AfterCodeRefactor partial class AfterCodeRefactor
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -2,7 +2,7 @@
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class AfterCodeRefactor : Migration public partial class AfterCodeRefactor : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class DataInboxModel partial class DataInboxModel
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class DataInboxModel : Migration public partial class DataInboxModel : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class QueueJobs partial class QueueJobs
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class QueueJobs : Migration public partial class QueueJobs : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class LongerDesc1 partial class LongerDesc1
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -2,7 +2,7 @@
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class LongerDesc1 : Migration public partial class LongerDesc1 : Migration

View File

@@ -5,8 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -17,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class LayersIsCancelled partial class LayersIsCancelled
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -2,7 +2,7 @@
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class LayersIsCancelled : Migration public partial class LayersIsCancelled : Migration

View File

@@ -1,11 +1,12 @@
// <auto-generated /> // <auto-generated />
using System; using System;
using DiunaBI.Core.Database.Context;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -16,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class QueueJobRefactor partial class QueueJobRefactor
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class QueueJobRefactor : Migration public partial class QueueJobRefactor : Migration

View File

@@ -1,11 +1,12 @@
// <auto-generated /> // <auto-generated />
using System; using System;
using DiunaBI.Core.Database.Context;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -16,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class DataInboxLayerId partial class DataInboxLayerId
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class DataInboxLayerId : Migration public partial class DataInboxLayerId : Migration

View File

@@ -1,11 +1,12 @@
// <auto-generated /> // <auto-generated />
using System; using System;
using DiunaBI.Core.Database.Context;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
#nullable disable #nullable disable
@@ -16,7 +17,7 @@ namespace DiunaBI.Core.Migrations
partial class RemoveDataInboxLayerId partial class RemoveDataInboxLayerId
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class RemoveDataInboxLayerId : Migration public partial class RemoveDataInboxLayerId : Migration

View File

@@ -1,6 +1,6 @@
// <auto-generated /> // <auto-generated />
using System; using System;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Data;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata;
@@ -8,7 +8,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable #nullable disable
namespace DiunaBI.Core.Migrations namespace DiunaBI.Infrastructure.Migrations
{ {
[DbContext(typeof(AppDbContext))] [DbContext(typeof(AppDbContext))]
partial class AppDbContextModelSnapshot : ModelSnapshot partial class AppDbContextModelSnapshot : ModelSnapshot

View File

@@ -1,11 +1,8 @@
using System;
using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.Linq;
using AngouriMath; using AngouriMath;
using DiunaBI.Core.Models; using DiunaBI.Domain.Entities;
namespace DiunaBI.Core.Services.Calculations; namespace DiunaBI.Infrastructure.Services.Calculations;
public class BaseCalc public class BaseCalc
{ {

View File

@@ -1,9 +1,8 @@
using Google.Apis.Auth.OAuth2; using Google.Apis.Auth.OAuth2;
using Google.Apis.Drive.v3; using Google.Apis.Drive.v3;
using Google.Apis.Services; using Google.Apis.Services;
using System.IO;
namespace DiunaBI.Core.Services; namespace DiunaBI.Infrastructure.Services;
public class GoogleDriveHelper public class GoogleDriveHelper
{ {

View File

@@ -1,9 +1,8 @@
using Google.Apis.Auth.OAuth2; using Google.Apis.Auth.OAuth2;
using Google.Apis.Services; using Google.Apis.Services;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using System.IO;
namespace DiunaBI.Core.Services; namespace DiunaBI.Infrastructure.Services;
public class GoogleSheetsHelper public class GoogleSheetsHelper
{ {

View File

@@ -1,13 +1,9 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection; using System.Reflection;
using DiunaBI.Core.Interfaces; using DiunaBI.Infrastructure.Interfaces;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace DiunaBI.Core.Services; namespace DiunaBI.Infrastructure.Services;
public class PluginManager public class PluginManager
{ {

View File

@@ -1,9 +1,7 @@
using System; using System.Text.RegularExpressions;
using System.Collections.Generic; using DiunaBI.Domain.Entities;
using System.Text.RegularExpressions;
using DiunaBI.Core.Models;
namespace DiunaBI.Core.Services; namespace DiunaBI.Infrastructure.Services;
public static class ProcessHelper public static class ProcessHelper
{ {

View File

@@ -11,6 +11,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\DiunaBI.Core\DiunaBI.Core.csproj" /> <ProjectReference Include="..\DiunaBI.Domain\DiunaBI.Domain.csproj" />
<ProjectReference Include="..\DiunaBI.Infrastructure\DiunaBI.Infrastructure.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -1,5 +1,5 @@
using DiunaBI.Core.Interfaces; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Models; using DiunaBI.Infrastructure.Interfaces;
namespace DiunaBI.Plugins.Morska.Exporters; namespace DiunaBI.Plugins.Morska.Exporters;

View File

@@ -1,11 +1,11 @@
using System.Globalization; using System.Globalization;
using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Services;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using Google.Apis.Sheets.v4.Data; using Google.Apis.Sheets.v4.Data;
using DiunaBI.Core.Models;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using DiunaBI.Plugins.Morska.Exporters;
namespace DiunaBI.Core.Services.Exports; namespace DiunaBI.Plugins.Morska.Exporters;
public class GoogleSheetExport : MorskaBaseExporter public class GoogleSheetExport : MorskaBaseExporter
{ {

View File

@@ -1,5 +1,5 @@
using DiunaBI.Core.Interfaces; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Models; using DiunaBI.Infrastructure.Interfaces;
namespace DiunaBI.Plugins.Morska.Importers; namespace DiunaBI.Plugins.Morska.Importers;

View File

@@ -1,9 +1,10 @@
using System.Globalization; using System.Globalization;
using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
namespace DiunaBI.Plugins.Morska.Importers; namespace DiunaBI.Plugins.Morska.Importers;

View File

@@ -1,11 +1,11 @@
using System.Globalization; using System.Globalization;
using System.Text; using System.Text;
using System.Text.Json; using System.Text.Json;
using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using DiunaBI.Infrastructure.Services;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
using DiunaBI.Core.Services;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using Google.Apis.Sheets.v4.Data; using Google.Apis.Sheets.v4.Data;

View File

@@ -1,9 +1,9 @@
using System.Globalization; using System.Globalization;
using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
namespace DiunaBI.Plugins.Morska.Importers; namespace DiunaBI.Plugins.Morska.Importers;

View File

@@ -1,9 +1,10 @@
using System.Globalization; using System.Globalization;
using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
namespace DiunaBI.Plugins.Morska.Importers; namespace DiunaBI.Plugins.Morska.Importers;

View File

@@ -1,6 +1,5 @@
using DiunaBI.Core.Interfaces; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Models; using DiunaBI.Infrastructure.Interfaces;
using Microsoft.Extensions.Logging;
namespace DiunaBI.Plugins.Morska.Processors; namespace DiunaBI.Plugins.Morska.Processors;

View File

@@ -1,12 +1,11 @@
using System.Globalization; using System.Globalization;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using DiunaBI.Core.Services; using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using DiunaBI.Infrastructure.Services.Calculations;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using Google.Apis.Sheets.v4.Data; using Google.Apis.Sheets.v4.Data;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
using DiunaBI.Core.Services.Calculations;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace DiunaBI.Plugins.Morska.Processors; namespace DiunaBI.Plugins.Morska.Processors;

View File

@@ -1,11 +1,11 @@
using System.Globalization; using System.Globalization;
using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using DiunaBI.Infrastructure.Services;
using DiunaBI.Infrastructure.Services.Calculations;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using Google.Apis.Sheets.v4.Data; using Google.Apis.Sheets.v4.Data;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
using DiunaBI.Core.Services;
using DiunaBI.Core.Services.Calculations;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace DiunaBI.Plugins.Morska.Processors; namespace DiunaBI.Plugins.Morska.Processors;

View File

@@ -1,11 +1,11 @@
using System.Globalization; using System.Globalization;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using DiunaBI.Core.Services; using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using DiunaBI.Infrastructure.Services;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using Google.Apis.Sheets.v4.Data; using Google.Apis.Sheets.v4.Data;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace DiunaBI.Plugins.Morska.Processors; namespace DiunaBI.Plugins.Morska.Processors;

View File

@@ -1,7 +1,7 @@
using DiunaBI.Core.Services; using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using DiunaBI.Infrastructure.Services;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace DiunaBI.Plugins.Morska.Processors; namespace DiunaBI.Plugins.Morska.Processors;

View File

@@ -1,7 +1,7 @@
using DiunaBI.Core.Services; using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using DiunaBI.Infrastructure.Services;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace DiunaBI.Plugins.Morska.Processors; namespace DiunaBI.Plugins.Morska.Processors;

View File

@@ -1,9 +1,9 @@
using DiunaBI.Core.Services; using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using DiunaBI.Infrastructure.Services;
using DiunaBI.Infrastructure.Services.Calculations;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
using DiunaBI.Core.Services.Calculations;
namespace DiunaBI.Plugins.Morska.Processors; namespace DiunaBI.Plugins.Morska.Processors;

View File

@@ -1,9 +1,9 @@
using Microsoft.EntityFrameworkCore; using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using DiunaBI.Infrastructure.Services;
using DiunaBI.Infrastructure.Services.Calculations;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
using DiunaBI.Core.Services;
using DiunaBI.Core.Services.Calculations;
namespace DiunaBI.Plugins.Morska.Processors; namespace DiunaBI.Plugins.Morska.Processors;

View File

@@ -1,7 +1,7 @@
using Microsoft.EntityFrameworkCore; using DiunaBI.Domain.Entities;
using DiunaBI.Core.Models; using DiunaBI.Infrastructure.Data;
using DiunaBI.Core.Database.Context; using DiunaBI.Infrastructure.Services;
using DiunaBI.Core.Services; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;

View File

@@ -1,9 +1,9 @@
using Microsoft.EntityFrameworkCore; using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using DiunaBI.Infrastructure.Services;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
using DiunaBI.Core.Services;
namespace DiunaBI.Plugins.Morska.Processors; namespace DiunaBI.Plugins.Morska.Processors;

View File

@@ -1,11 +1,11 @@
using System.Globalization; using System.Globalization;
using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using DiunaBI.Infrastructure.Services;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using Google.Apis.Sheets.v4.Data; using Google.Apis.Sheets.v4.Data;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
using DiunaBI.Core.Services;
namespace DiunaBI.Plugins.Morska.Processors; namespace DiunaBI.Plugins.Morska.Processors;

View File

@@ -1,8 +1,8 @@
using Microsoft.EntityFrameworkCore; using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
namespace DiunaBI.Plugins.Morska.Processors; namespace DiunaBI.Plugins.Morska.Processors;

View File

@@ -1,7 +1,7 @@
using DiunaBI.Core.Services; using DiunaBI.Domain.Entities;
using DiunaBI.Infrastructure.Data;
using DiunaBI.Infrastructure.Services;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using DiunaBI.Core.Models;
using DiunaBI.Core.Database.Context;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace DiunaBI.Plugins.Morska.Processors; namespace DiunaBI.Plugins.Morska.Processors;

View File

@@ -18,7 +18,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\DiunaBI.WebAPI\DiunaBI.WebAPI.csproj" /> <ProjectReference Include="..\DiunaBI.API\DiunaBI.API.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -3,14 +3,18 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17 # Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59 VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.WebAPI", "DiunaBI.WebAPI\DiunaBI.WebAPI.csproj", "{D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.API", "DiunaBI.API\DiunaBI.API.csproj", "{D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.Core", "DiunaBI.Core\DiunaBI.Core.csproj", "{0282E3CC-3BE1-4610-B65F-BC266A2FCA6E}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.Plugins.Morska", "DiunaBI.Plugins.Morska\DiunaBI.Plugins.Morska.csproj", "{B5416A3F-550A-468D-852F-20B24243FD68}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.Plugins.Morska", "DiunaBI.Plugins.Morska\DiunaBI.Plugins.Morska.csproj", "{B5416A3F-550A-468D-852F-20B24243FD68}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.Tests", "DiunaBI.Tests\DiunaBI.Tests.csproj", "{7D99AF7E-1FC7-4EC0-A320-F1A81D396F93}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.Tests", "DiunaBI.Tests\DiunaBI.Tests.csproj", "{7D99AF7E-1FC7-4EC0-A320-F1A81D396F93}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.Domain", "DiunaBI.Domain\DiunaBI.Domain.csproj", "{8C701560-EF39-4203-8EB9-16AB32CA2CAB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.Application", "DiunaBI.Application\DiunaBI.Application.csproj", "{5F8C40E9-F51E-48A5-840F-4309C873C6C6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.Infrastructure", "DiunaBI.Infrastructure\DiunaBI.Infrastructure.csproj", "{0B2E03F3-A1F7-4C7F-BCA7-386979C93346}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -24,10 +28,6 @@ Global
{D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}.Debug|Any CPU.Build.0 = Debug|Any CPU {D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}.Release|Any CPU.ActiveCfg = Release|Any CPU {D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}.Release|Any CPU.Build.0 = Release|Any CPU {D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}.Release|Any CPU.Build.0 = Release|Any CPU
{0282E3CC-3BE1-4610-B65F-BC266A2FCA6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0282E3CC-3BE1-4610-B65F-BC266A2FCA6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0282E3CC-3BE1-4610-B65F-BC266A2FCA6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0282E3CC-3BE1-4610-B65F-BC266A2FCA6E}.Release|Any CPU.Build.0 = Release|Any CPU
{B5416A3F-550A-468D-852F-20B24243FD68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B5416A3F-550A-468D-852F-20B24243FD68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B5416A3F-550A-468D-852F-20B24243FD68}.Debug|Any CPU.Build.0 = Debug|Any CPU {B5416A3F-550A-468D-852F-20B24243FD68}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B5416A3F-550A-468D-852F-20B24243FD68}.Release|Any CPU.ActiveCfg = Release|Any CPU {B5416A3F-550A-468D-852F-20B24243FD68}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -40,5 +40,17 @@ Global
{7D99AF7E-1FC7-4EC0-A320-F1A81D396F93}.Debug|Any CPU.Build.0 = Debug|Any CPU {7D99AF7E-1FC7-4EC0-A320-F1A81D396F93}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7D99AF7E-1FC7-4EC0-A320-F1A81D396F93}.Release|Any CPU.ActiveCfg = Release|Any CPU {7D99AF7E-1FC7-4EC0-A320-F1A81D396F93}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7D99AF7E-1FC7-4EC0-A320-F1A81D396F93}.Release|Any CPU.Build.0 = Release|Any CPU {7D99AF7E-1FC7-4EC0-A320-F1A81D396F93}.Release|Any CPU.Build.0 = Release|Any CPU
{8C701560-EF39-4203-8EB9-16AB32CA2CAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8C701560-EF39-4203-8EB9-16AB32CA2CAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8C701560-EF39-4203-8EB9-16AB32CA2CAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8C701560-EF39-4203-8EB9-16AB32CA2CAB}.Release|Any CPU.Build.0 = Release|Any CPU
{5F8C40E9-F51E-48A5-840F-4309C873C6C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5F8C40E9-F51E-48A5-840F-4309C873C6C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5F8C40E9-F51E-48A5-840F-4309C873C6C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5F8C40E9-F51E-48A5-840F-4309C873C6C6}.Release|Any CPU.Build.0 = Release|Any CPU
{0B2E03F3-A1F7-4C7F-BCA7-386979C93346}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0B2E03F3-A1F7-4C7F-BCA7-386979C93346}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0B2E03F3-A1F7-4C7F-BCA7-386979C93346}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0B2E03F3-A1F7-4C7F-BCA7-386979C93346}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal