diff --git a/Bookshop/Bookshop.sln b/Bookshop/Bookshop.sln
index b08eefa..b953496 100644
--- a/Bookshop/Bookshop.sln
+++ b/Bookshop/Bookshop.sln
@@ -3,7 +3,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.3.32825.248
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BookshopView", "BookshopView\BookshopView.csproj", "{96DE30E7-2B91-4357-954F-31B755339128}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BookshopDataModels", "BookshopDataModels\BookshopDataModels.csproj", "{36D7E02E-39EE-4C04-9AEB-6298B67D935C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BookshopView", "BookshopView\BookshopView.csproj", "{8406C468-605F-4932-AB19-2BFD98480D19}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BookshopContracts", "BookshopContracts\BookshopContracts.csproj", "{9BC70D3F-9F6E-4B9B-A519-5C46417A9B6D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,10 +15,18 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {96DE30E7-2B91-4357-954F-31B755339128}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {96DE30E7-2B91-4357-954F-31B755339128}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {96DE30E7-2B91-4357-954F-31B755339128}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {96DE30E7-2B91-4357-954F-31B755339128}.Release|Any CPU.Build.0 = Release|Any CPU
+ {36D7E02E-39EE-4C04-9AEB-6298B67D935C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {36D7E02E-39EE-4C04-9AEB-6298B67D935C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {36D7E02E-39EE-4C04-9AEB-6298B67D935C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {36D7E02E-39EE-4C04-9AEB-6298B67D935C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8406C468-605F-4932-AB19-2BFD98480D19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8406C468-605F-4932-AB19-2BFD98480D19}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8406C468-605F-4932-AB19-2BFD98480D19}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8406C468-605F-4932-AB19-2BFD98480D19}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9BC70D3F-9F6E-4B9B-A519-5C46417A9B6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9BC70D3F-9F6E-4B9B-A519-5C46417A9B6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9BC70D3F-9F6E-4B9B-A519-5C46417A9B6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9BC70D3F-9F6E-4B9B-A519-5C46417A9B6D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Bookshop/BookshopContracts/BindingModels/AuthorBindingModel.cs b/Bookshop/BookshopContracts/BindingModels/AuthorBindingModel.cs
new file mode 100644
index 0000000..f232391
--- /dev/null
+++ b/Bookshop/BookshopContracts/BindingModels/AuthorBindingModel.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BookshopDataModels.Models;
+
+namespace BookshopContracts.BindingModels
+{
+ public class AuthorBindingModel : IAuthorModel
+ {
+ public int Id { get; set; }
+ public string AuthorName { get; set; } = string.Empty;
+ public string Country { get; set; } = string.Empty;
+ }
+}
diff --git a/Bookshop/BookshopContracts/BindingModels/BookBindingModel.cs b/Bookshop/BookshopContracts/BindingModels/BookBindingModel.cs
new file mode 100644
index 0000000..5d50685
--- /dev/null
+++ b/Bookshop/BookshopContracts/BindingModels/BookBindingModel.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BookshopDataModels.Models;
+
+namespace BookshopContracts.BindingModels
+{
+ public class BookBindingModel : IBookModel
+ {
+ public int Id { get; set; }
+ public string Title { get; set; } = string.Empty;
+ public int YearOfPublication { get; set; }
+ public int AuthorId { get; set; }
+ public int GenreId { get; set; }
+ }
+}
diff --git a/Bookshop/BookshopContracts/BindingModels/GenreBindingModel.cs b/Bookshop/BookshopContracts/BindingModels/GenreBindingModel.cs
new file mode 100644
index 0000000..a55ed92
--- /dev/null
+++ b/Bookshop/BookshopContracts/BindingModels/GenreBindingModel.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BookshopDataModels.Models;
+
+namespace BookshopContracts.BindingModels
+{
+ public class GenreBindingModel : IGenreModel
+ {
+ public int Id { get; set; }
+ public string GenreName { get; set; } = string.Empty;
+ }
+}
diff --git a/Bookshop/BookshopContracts/BindingModels/InstanceBindingModel.cs b/Bookshop/BookshopContracts/BindingModels/InstanceBindingModel.cs
new file mode 100644
index 0000000..4cd1f2d
--- /dev/null
+++ b/Bookshop/BookshopContracts/BindingModels/InstanceBindingModel.cs
@@ -0,0 +1,19 @@
+using BookshopDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopContracts.BindingModels
+{
+ public class InstanceBindingModel : IInstanceModel
+ {
+ public int Id { get; set; }
+ public bool Pictures { get; set; }
+ public int StockQuantity { get; set; }
+ public double Price { get; set; }
+ public int BookId { get; set; }
+ public int PublisherId { get; set; }
+ }
+}
diff --git a/Bookshop/BookshopContracts/BindingModels/OrderBindingModel.cs b/Bookshop/BookshopContracts/BindingModels/OrderBindingModel.cs
new file mode 100644
index 0000000..d664ece
--- /dev/null
+++ b/Bookshop/BookshopContracts/BindingModels/OrderBindingModel.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BookshopDataModels.Models;
+
+namespace BookshopContracts.BindingModels
+{
+ public class OrderBindingModel : IOrderModel
+ {
+ public int Id { get; set; }
+ public DateTime OrderDate { get; set; }
+ public int Quantity { get; set; }
+ public int InstanceId { get; set; }
+ public int UserId { get; set; }
+ }
+}
diff --git a/Bookshop/BookshopContracts/BindingModels/PublisherBindingModel.cs b/Bookshop/BookshopContracts/BindingModels/PublisherBindingModel.cs
new file mode 100644
index 0000000..1056322
--- /dev/null
+++ b/Bookshop/BookshopContracts/BindingModels/PublisherBindingModel.cs
@@ -0,0 +1,18 @@
+using BookshopDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopContracts.BindingModels
+{
+ public class PublisherBindingModel : IPublisherModel
+ {
+ public int Id { get; set; }
+ public string PublisherName { get; set; } = string.Empty;
+ public string Address { get; set; } = string.Empty;
+ public string PhoneNumber { get; set; } = string.Empty;
+ public string Email { get; set; } = string.Empty;
+ }
+}
diff --git a/Bookshop/BookshopContracts/BindingModels/ReviewBindingModel.cs b/Bookshop/BookshopContracts/BindingModels/ReviewBindingModel.cs
new file mode 100644
index 0000000..2cba0a8
--- /dev/null
+++ b/Bookshop/BookshopContracts/BindingModels/ReviewBindingModel.cs
@@ -0,0 +1,18 @@
+using BookshopDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopContracts.BindingModels
+{
+ public class ReviewBindingModel : IReviewModel
+ {
+ public int Id { get; set; }
+ public string ReviewText { get; set; } = string.Empty;
+ public DateTime ReviewDate { get; set; }
+ public int InstanceId { get; set; }
+ public int UserId { get; set; }
+ }
+}
diff --git a/Bookshop/BookshopContracts/BindingModels/UserBindingModel.cs b/Bookshop/BookshopContracts/BindingModels/UserBindingModel.cs
new file mode 100644
index 0000000..3656660
--- /dev/null
+++ b/Bookshop/BookshopContracts/BindingModels/UserBindingModel.cs
@@ -0,0 +1,16 @@
+using BookshopDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopContracts.BindingModels
+{
+ public class UserBindingModel : IUserModel
+ {
+ public int Id { get; set; }
+ public string Username { get; set; } = string.Empty;
+ public string UserEmail { get; set; } = string.Empty;
+ }
+}
diff --git a/Bookshop/BookshopContracts/BookshopContracts.csproj b/Bookshop/BookshopContracts/BookshopContracts.csproj
new file mode 100644
index 0000000..0c36139
--- /dev/null
+++ b/Bookshop/BookshopContracts/BookshopContracts.csproj
@@ -0,0 +1,18 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Bookshop/BookshopContracts/BusinessLogicsContracts/IAuthorLogic.cs b/Bookshop/BookshopContracts/BusinessLogicsContracts/IAuthorLogic.cs
new file mode 100644
index 0000000..816c0c8
--- /dev/null
+++ b/Bookshop/BookshopContracts/BusinessLogicsContracts/IAuthorLogic.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BookshopContracts.BindingModels;
+
+namespace BookshopContracts.BusinessLogicsContracts
+{
+ public interface IAuthorLogic
+ {
+ List? ReadList(AuthorSearchModel? model);
+ AuthorViewModel? ReadElement(AuthorSearchModel model);
+ bool Create(AuthorBindingModel model);
+ bool Update(AuthorBindingModel model);
+ bool Delete(AuthorBindingModel model);
+ }
+}
diff --git a/Bookshop/BookshopContracts/BusinessLogicsContracts/IBookLogic.cs b/Bookshop/BookshopContracts/BusinessLogicsContracts/IBookLogic.cs
new file mode 100644
index 0000000..6377957
--- /dev/null
+++ b/Bookshop/BookshopContracts/BusinessLogicsContracts/IBookLogic.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BookshopContracts.BindingModels;
+
+namespace BookshopContracts.BusinessLogicsContracts
+{
+ public interface IBookLogic
+ {
+ List? ReadList(BookSearchModel? model);
+ BookViewModel? ReadElement(BookSearchModel model);
+ bool Create(BookBindingModel model);
+ bool Update(BookBindingModel model);
+ bool Delete(BookBindingModel model);
+ }
+}
diff --git a/Bookshop/BookshopContracts/BusinessLogicsContracts/IGenreLogic.cs b/Bookshop/BookshopContracts/BusinessLogicsContracts/IGenreLogic.cs
new file mode 100644
index 0000000..ce1ad00
--- /dev/null
+++ b/Bookshop/BookshopContracts/BusinessLogicsContracts/IGenreLogic.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BookshopContracts.BindingModels;
+
+namespace BookshopContracts.BusinessLogicsContracts
+{
+ public interface IGenreLogic
+ {
+ List? ReadList(GenreSearchModel? model);
+ GenreViewModel? ReadElement(GenreSearchModel model);
+ bool Create(GenreBindingModel model);
+ bool Update(GenreBindingModel model);
+ bool Delete(GenreBindingModel model);
+ }
+}
diff --git a/Bookshop/BookshopContracts/BusinessLogicsContracts/IInstanceLogic.cs b/Bookshop/BookshopContracts/BusinessLogicsContracts/IInstanceLogic.cs
new file mode 100644
index 0000000..e48990f
--- /dev/null
+++ b/Bookshop/BookshopContracts/BusinessLogicsContracts/IInstanceLogic.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BookshopContracts.BindingModels;
+
+namespace BookshopContracts.BusinessLogicsContracts
+{
+ public interface IInstanceLogic
+ {
+ List? ReadList(InstanceSearchModel? model);
+ InstanceViewModel? ReadElement(InstanceSearchModel model);
+ bool Create(InstanceBindingModel model);
+ bool Update(InstanceBindingModel model);
+ bool Delete(InstanceBindingModel model);
+ }
+}
diff --git a/Bookshop/BookshopContracts/BusinessLogicsContracts/IOrderLogic.cs b/Bookshop/BookshopContracts/BusinessLogicsContracts/IOrderLogic.cs
new file mode 100644
index 0000000..57d4c6d
--- /dev/null
+++ b/Bookshop/BookshopContracts/BusinessLogicsContracts/IOrderLogic.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BookshopContracts.BindingModels;
+
+namespace BookshopContracts.BusinessLogicsContracts
+{
+ public interface IOrderLogic
+ {
+ List? ReadList(OrderSearchModel? model);
+ OrderViewModel? ReadElement(OrderSearchModel model);
+ bool Create(OrderBindingModel model);
+ bool Update(OrderBindingModel model);
+ bool Delete(OrderBindingModel model);
+ }
+}
diff --git a/Bookshop/BookshopContracts/BusinessLogicsContracts/IPublisherLogic.cs b/Bookshop/BookshopContracts/BusinessLogicsContracts/IPublisherLogic.cs
new file mode 100644
index 0000000..12608ab
--- /dev/null
+++ b/Bookshop/BookshopContracts/BusinessLogicsContracts/IPublisherLogic.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BookshopContracts.BindingModels;
+
+namespace BookshopContracts.BusinessLogicsContracts
+{
+ public interface IPublisherLogic
+ {
+ List? ReadList(PublisherSearchModel? model);
+ PublisherViewModel? ReadElement(PublisherSearchModel model);
+ bool Create(PublisherBindingModel model);
+ bool Update(PublisherBindingModel model);
+ bool Delete(PublisherBindingModel model);
+ }
+}
diff --git a/Bookshop/BookshopContracts/BusinessLogicsContracts/IReviewLogic.cs b/Bookshop/BookshopContracts/BusinessLogicsContracts/IReviewLogic.cs
new file mode 100644
index 0000000..731eba5
--- /dev/null
+++ b/Bookshop/BookshopContracts/BusinessLogicsContracts/IReviewLogic.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BookshopContracts.BindingModels;
+
+namespace BookshopContracts.BusinessLogicsContracts
+{
+ public interface IReviewLogic
+ {
+ List? ReadList(ReviewSearchModel? model);
+ ReviewViewModel? ReadElement(ReviewSearchModel model);
+ bool Create(ReviewBindingModel model);
+ bool Update(ReviewBindingModel model);
+ bool Delete(ReviewBindingModel model);
+ }
+}
diff --git a/Bookshop/BookshopContracts/BusinessLogicsContracts/IUserLogic.cs b/Bookshop/BookshopContracts/BusinessLogicsContracts/IUserLogic.cs
new file mode 100644
index 0000000..bcbf7ef
--- /dev/null
+++ b/Bookshop/BookshopContracts/BusinessLogicsContracts/IUserLogic.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using BookshopContracts.BindingModels;
+
+namespace BookshopContracts.BusinessLogicsContracts
+{
+ public interface IUserLogic
+ {
+ List? ReadList(UserSearchModel? model);
+ UserViewModel? ReadElement(UserSearchModel model);
+ bool Create(UserBindingModel model);
+ bool Update(UserBindingModel model);
+ bool Delete(UserBindingModel model);
+ }
+}
diff --git a/Bookshop/BookshopContracts/StorageContracts/IAuthorStorage.cs b/Bookshop/BookshopContracts/StorageContracts/IAuthorStorage.cs
new file mode 100644
index 0000000..72597d8
--- /dev/null
+++ b/Bookshop/BookshopContracts/StorageContracts/IAuthorStorage.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopContracts.StorageContracts
+{
+ internal class IAuthorStorage
+ {
+ }
+}
diff --git a/Bookshop/BookshopContracts/StorageContracts/IBookStorage.cs b/Bookshop/BookshopContracts/StorageContracts/IBookStorage.cs
new file mode 100644
index 0000000..5221eaf
--- /dev/null
+++ b/Bookshop/BookshopContracts/StorageContracts/IBookStorage.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopContracts.StorageContracts
+{
+ internal class IBookStorage
+ {
+ }
+}
diff --git a/Bookshop/BookshopDataModels/BookshopDataModels.csproj b/Bookshop/BookshopDataModels/BookshopDataModels.csproj
new file mode 100644
index 0000000..132c02c
--- /dev/null
+++ b/Bookshop/BookshopDataModels/BookshopDataModels.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
diff --git a/Bookshop/BookshopDataModels/IId.cs b/Bookshop/BookshopDataModels/IId.cs
new file mode 100644
index 0000000..18795dd
--- /dev/null
+++ b/Bookshop/BookshopDataModels/IId.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopDataModels
+{
+ public interface IId
+ {
+ int Id { get; }
+ }
+}
diff --git a/Bookshop/BookshopDataModels/Models/IAuthorModel.cs b/Bookshop/BookshopDataModels/Models/IAuthorModel.cs
new file mode 100644
index 0000000..02d5016
--- /dev/null
+++ b/Bookshop/BookshopDataModels/Models/IAuthorModel.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopDataModels.Models
+{
+ public interface IAuthorModel : IId
+ {
+ string AuthorName { get; }
+ string Country { get; }
+ }
+}
diff --git a/Bookshop/BookshopDataModels/Models/IBookModel.cs b/Bookshop/BookshopDataModels/Models/IBookModel.cs
new file mode 100644
index 0000000..933dc40
--- /dev/null
+++ b/Bookshop/BookshopDataModels/Models/IBookModel.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopDataModels.Models
+{
+ public interface IBookModel : IId
+ {
+ string Title { get; }
+ int YearOfPublication { get; }
+ int AuthorId { get; }
+ int GenreId { get; }
+ }
+}
diff --git a/Bookshop/BookshopDataModels/Models/IGenreModel.cs b/Bookshop/BookshopDataModels/Models/IGenreModel.cs
new file mode 100644
index 0000000..640612a
--- /dev/null
+++ b/Bookshop/BookshopDataModels/Models/IGenreModel.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopDataModels.Models
+{
+ public interface IGenreModel : IId
+ {
+ string GenreName { get; }
+ }
+}
diff --git a/Bookshop/BookshopDataModels/Models/IInstanceModel.cs b/Bookshop/BookshopDataModels/Models/IInstanceModel.cs
new file mode 100644
index 0000000..a3870e9
--- /dev/null
+++ b/Bookshop/BookshopDataModels/Models/IInstanceModel.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopDataModels.Models
+{
+ public interface IInstanceModel : IId
+ {
+ bool Pictures { get; }
+ int StockQuantity { get; }
+ double Price { get; }
+ int BookId { get; }
+ int PublisherId { get; }
+ }
+}
diff --git a/Bookshop/BookshopDataModels/Models/IOrderModel.cs b/Bookshop/BookshopDataModels/Models/IOrderModel.cs
new file mode 100644
index 0000000..f9f4151
--- /dev/null
+++ b/Bookshop/BookshopDataModels/Models/IOrderModel.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopDataModels.Models
+{
+ public interface IOrderModel : IId
+ {
+ DateTime OrderDate { get; }
+ int Quantity { get; }
+ int InstanceId { get; }
+ int UserId { get; }
+ }
+}
diff --git a/Bookshop/BookshopDataModels/Models/IPublisherModel.cs b/Bookshop/BookshopDataModels/Models/IPublisherModel.cs
new file mode 100644
index 0000000..8213b0a
--- /dev/null
+++ b/Bookshop/BookshopDataModels/Models/IPublisherModel.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopDataModels.Models
+{
+ public interface IPublisherModel : IId
+ {
+ string PublisherName { get; }
+ string Address { get; }
+ string PhoneNumber { get; }
+ string Email { get; }
+ }
+}
diff --git a/Bookshop/BookshopDataModels/Models/IReviewModel.cs b/Bookshop/BookshopDataModels/Models/IReviewModel.cs
new file mode 100644
index 0000000..b54cf00
--- /dev/null
+++ b/Bookshop/BookshopDataModels/Models/IReviewModel.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopDataModels.Models
+{
+ public interface IReviewModel
+ {
+ string ReviewText { get; }
+ DateTime ReviewDate { get; }
+ int InstanceId { get; }
+ int UserId { get; }
+ }
+}
diff --git a/Bookshop/BookshopDataModels/Models/IUserModel.cs b/Bookshop/BookshopDataModels/Models/IUserModel.cs
new file mode 100644
index 0000000..c6eea0a
--- /dev/null
+++ b/Bookshop/BookshopDataModels/Models/IUserModel.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BookshopDataModels.Models
+{
+ public interface IUserModel
+ {
+ string Username { get; }
+ string UserEmail { get; }
+ }
+}