Skip to content

Commit a6fff0c

Browse files
committed
LogDTO: Create column Operation
1 parent f9812c0 commit a6fff0c

File tree

6 files changed

+286
-1
lines changed

6 files changed

+286
-1
lines changed

src/DispenserProvider.DataBase/DispenserContext.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
using DispenserProvider.DataBase.Models;
44
using ConfiguredSqlConnection.Extensions;
55
using Net.Web3.EthereumWallet.Extensions;
6+
using DispenserProvider.DataBase.Models.Types;
7+
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
68

79
namespace DispenserProvider.DataBase;
810

@@ -100,6 +102,9 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
100102
{
101103
entity.HasKey(e => e.Signature);
102104

105+
entity.Property(e => e.Operation)
106+
.HasConversion(new EnumToStringConverter<OperationType>());
107+
103108
entity.HasMany(e => e.CreationDispensers)
104109
.WithOne(e => e.CreationLog)
105110
.HasForeignKey(e => e.CreationLogSignature)

src/DispenserProvider.DataBase/Models/LogDTO.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.ComponentModel.DataAnnotations.Schema;
1+
using DispenserProvider.DataBase.Models.Types;
2+
using System.ComponentModel.DataAnnotations.Schema;
23

34
namespace DispenserProvider.DataBase.Models;
45

@@ -10,6 +11,9 @@ public class LogDTO
1011
[Column(TypeName = "datetime2(0)")]
1112
public DateTime CreationTime { get; set; }
1213

14+
[Column(TypeName = "nvarchar(32)")]
15+
public OperationType Operation { get; set; }
16+
1317
public virtual List<DispenserDTO> CreationDispensers { get; set; } = [];
1418
public virtual List<DispenserDTO> DeletionDispensers { get; set; } = [];
1519
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
namespace DispenserProvider.DataBase.Models.Types;
2+
3+
public enum OperationType
4+
{
5+
Creation,
6+
Deletion
7+
}

src/DispenserProvider.Migrations/Migrations/20241205141433_Create-Operation-Column-In-LogDTO.Designer.cs

Lines changed: 236 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using Microsoft.EntityFrameworkCore.Migrations;
2+
3+
#nullable disable
4+
5+
namespace DispenserProvider.DataBase.Migrations
6+
{
7+
/// <inheritdoc />
8+
public partial class CreateOperationColumnInLogDTO : Migration
9+
{
10+
/// <inheritdoc />
11+
protected override void Up(MigrationBuilder migrationBuilder)
12+
{
13+
migrationBuilder.AddColumn<string>(
14+
name: "Operation",
15+
table: "Logs",
16+
type: "nvarchar(32)",
17+
nullable: false,
18+
defaultValue: "");
19+
}
20+
21+
/// <inheritdoc />
22+
protected override void Down(MigrationBuilder migrationBuilder)
23+
{
24+
migrationBuilder.DropColumn(
25+
name: "Operation",
26+
table: "Logs");
27+
}
28+
}
29+
}

src/DispenserProvider.Migrations/Migrations/DispenserContextModelSnapshot.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
109109
b.Property<DateTime>("CreationTime")
110110
.HasColumnType("datetime2(0)");
111111

112+
b.Property<string>("Operation")
113+
.IsRequired()
114+
.HasColumnType("nvarchar(32)");
115+
112116
b.HasKey("Signature");
113117

114118
b.ToTable("Logs");

0 commit comments

Comments
 (0)