diff --git a/LibraryManagement.Api/Brokers/Storages/StorageBroker.ReaderBook.cs b/LibraryManagement.Api/Brokers/Storages/IStorageBroker.Book.cs similarity index 61% rename from LibraryManagement.Api/Brokers/Storages/StorageBroker.ReaderBook.cs rename to LibraryManagement.Api/Brokers/Storages/IStorageBroker.Book.cs index 52a25fe..457a43f 100644 --- a/LibraryManagement.Api/Brokers/Storages/StorageBroker.ReaderBook.cs +++ b/LibraryManagement.Api/Brokers/Storages/IStorageBroker.Book.cs @@ -3,13 +3,12 @@ // Free To Use To Build Reliable Library Management Solutions //----------------------------------------------------------- -using LibraryManagement.Api.Models.Foundations.ReaderBooks; -using Microsoft.EntityFrameworkCore; +using LibraryManagement.Api.Models.Foundations.Books; namespace LibraryManagement.Api.Brokers.Storages { - public partial class StorageBroker + public partial interface IStorageBroker { - public DbSet ReaderBooks { get; set; } + ValueTask InsertBookAsync(Book book); } } diff --git a/LibraryManagement.Api/Brokers/Storages/IStorageBroker.cs b/LibraryManagement.Api/Brokers/Storages/IStorageBroker.cs new file mode 100644 index 0000000..9c3d701 --- /dev/null +++ b/LibraryManagement.Api/Brokers/Storages/IStorageBroker.cs @@ -0,0 +1,10 @@ +//----------------------------------------------------------- +// Copyright (c) Coalition of Good-Hearted Engineers +// Free To Use To Build Reliable Library Management Solutions +//----------------------------------------------------------- + +namespace LibraryManagement.Api.Brokers.Storages +{ + public partial interface IStorageBroker + { } +} diff --git a/LibraryManagement.Api/Brokers/Storages/StorageBroker.Book.cs b/LibraryManagement.Api/Brokers/Storages/StorageBroker.Book.cs index ca31164..feb6675 100644 --- a/LibraryManagement.Api/Brokers/Storages/StorageBroker.Book.cs +++ b/LibraryManagement.Api/Brokers/Storages/StorageBroker.Book.cs @@ -11,5 +11,8 @@ namespace LibraryManagement.Api.Brokers.Storages public partial class StorageBroker { public DbSet Books { get; set; } + + public async ValueTask InsertBookAsync(Book book) => + await InsertAsync(book); } } diff --git a/LibraryManagement.Api/Brokers/Storages/StorageBroker.cs b/LibraryManagement.Api/Brokers/Storages/StorageBroker.cs index ecd7112..659d8b8 100644 --- a/LibraryManagement.Api/Brokers/Storages/StorageBroker.cs +++ b/LibraryManagement.Api/Brokers/Storages/StorageBroker.cs @@ -9,7 +9,7 @@ namespace LibraryManagement.Api.Brokers.Storages { - public partial class StorageBroker : EFxceptionsContext + public partial class StorageBroker : EFxceptionsContext, IStorageBroker { private readonly IConfiguration configuration; @@ -19,6 +19,15 @@ public StorageBroker(IConfiguration configuration) this.Database.Migrate(); } + public async ValueTask InsertAsync(T @object) + { + var broker = new StorageBroker(this.configuration); + broker.Entry(@object).State = EntityState.Added; + await broker.SaveChangesAsync(); + + return @object; + } + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { string connectionString =