diff --git a/HardwareShop/HardwareShopContracts/BindingModels/BuildBindingModel.cs b/HardwareShop/HardwareShopContracts/BindingModels/BuildBindingModel.cs index 5726e43..9caaf5f 100644 --- a/HardwareShop/HardwareShopContracts/BindingModels/BuildBindingModel.cs +++ b/HardwareShop/HardwareShopContracts/BindingModels/BuildBindingModel.cs @@ -1,5 +1,4 @@ using HardwareShopDataModels.Models; -using HardwareShopDataModels.Models; using System.ComponentModel; namespace HardwareShopContracts.BindingModels { diff --git a/HardwareShop/HardwareShopContracts/BindingModels/CommentBindingModel.cs b/HardwareShop/HardwareShopContracts/BindingModels/CommentBindingModel.cs index 09991f9..ad748e1 100644 --- a/HardwareShop/HardwareShopContracts/BindingModels/CommentBindingModel.cs +++ b/HardwareShop/HardwareShopContracts/BindingModels/CommentBindingModel.cs @@ -1,5 +1,4 @@ using HardwareShopDataModels.Models; -using HardwareShopDataModels.Models; using System.ComponentModel; namespace HardwareShopContracts.BindingModels diff --git a/HardwareShop/HardwareShopContracts/BindingModels/PurchaseBindingModel.cs b/HardwareShop/HardwareShopContracts/BindingModels/PurchaseBindingModel.cs index 378629c..654d33b 100644 --- a/HardwareShop/HardwareShopContracts/BindingModels/PurchaseBindingModel.cs +++ b/HardwareShop/HardwareShopContracts/BindingModels/PurchaseBindingModel.cs @@ -1,6 +1,5 @@ using HardwareShopDataModels.Enums; using HardwareShopDataModels.Models; -using HardwareShopDataModels.Models; using System.ComponentModel; namespace HardwareShopContracts.BindingModels { diff --git a/HardwareShop/HardwareShopContracts/StoragesContracts/IBuildStorage.cs b/HardwareShop/HardwareShopContracts/StoragesContracts/IBuildStorage.cs index 8771e49..bca831f 100644 --- a/HardwareShop/HardwareShopContracts/StoragesContracts/IBuildStorage.cs +++ b/HardwareShop/HardwareShopContracts/StoragesContracts/IBuildStorage.cs @@ -7,7 +7,7 @@ namespace HardwareShopContracts.StoragesContracts public interface IBuildStorage { List GetFullList(); - List GetFilteredList(BuildSearchModel model); + List GetFilteredList(UserSearchModel model); BuildViewModel? GetElement(BuildSearchModel model); BuildViewModel? Insert(BuildBindingModel model); BuildViewModel? Update(BuildBindingModel model); diff --git a/HardwareShop/HardwareShopDatabaseImplement/HardwareShopDatabaseImplement.csproj b/HardwareShop/HardwareShopDatabaseImplement/HardwareShopDatabaseImplement.csproj index 47df5db..352a24a 100644 --- a/HardwareShop/HardwareShopDatabaseImplement/HardwareShopDatabaseImplement.csproj +++ b/HardwareShop/HardwareShopDatabaseImplement/HardwareShopDatabaseImplement.csproj @@ -21,7 +21,7 @@ - + diff --git a/HardwareShop/HardwareShopDatabaseImplement/Implements/IUserStorage.cs b/HardwareShop/HardwareShopDatabaseImplement/Implements/IUserStorage.cs new file mode 100644 index 0000000..70cb874 --- /dev/null +++ b/HardwareShop/HardwareShopDatabaseImplement/Implements/IUserStorage.cs @@ -0,0 +1,21 @@ +using HardwareShopContracts.BindingModels; +using HardwareShopContracts.SearchModels; +using HardwareShopContracts.ViewModels; + +namespace HardwareShopContracts.StoragesContracts +{ + public interface IUsertorage + { + List GetFullList(); + + List GetFilteredList(UserSearchModel model); + + UserViewModel? GetElement(UserSearchModel model); + + UserViewModel? Insert(UserBindingModel model); + + UserViewModel? Update(UserBindingModel model); + + UserViewModel? Delete(UserBindingModel model); + } +} \ No newline at end of file diff --git a/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/BuildStorage.cs b/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/BuildStorage.cs new file mode 100644 index 0000000..4c35463 --- /dev/null +++ b/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/BuildStorage.cs @@ -0,0 +1,60 @@ +using HardwareShopContracts.BindingModels; +using HardwareShopContracts.SearchModels; +using HardwareShopContracts.ViewModels; +using HardwareShopDatabaseImplement; +using Microsoft.EntityFrameworkCore; + +namespace HardwareShopContracts.StoragesContracts +{ + public class BuildStorage : IBuildStorage + { + public List GetFullList() + { + using var context = new HardwareShopDatabase(); + return context.Builds + .Include(x => x.Components) + .ThenInclude(x => x.Component) + .Include(x => x.Comments) + .ToList() + .Select(x => x.GetViewModel) + .ToList(); + } + + public List GetFilteredList(UserSearchModel model) + { + if (model.Id.HasValue) + { + return new(); + } + using var context = new HardwareShopDatabase(); + return context.Builds + .Include(x => x.Components) + .ThenInclude(x => x.Component) + .Include(x => x.Comments) + .Where(x => x.UserId == model.Id) + .ToList() + .Select(x => x.GetViewModel) + .ToList(); + } + + public BuildViewModel? GetElement(BuildSearchModel model) + { + throw new NotImplementedException(); + } + + public BuildViewModel? Insert(BuildBindingModel model) + { + throw new NotImplementedException(); + } + + public BuildViewModel? Update(BuildBindingModel model) + { + throw new NotImplementedException(); + } + + public BuildViewModel? Delete(BuildBindingModel model) + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/CommentStorage.cs b/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/CommentStorage.cs new file mode 100644 index 0000000..50b307e --- /dev/null +++ b/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/CommentStorage.cs @@ -0,0 +1,39 @@ +using HardwareShopContracts.BindingModels; +using HardwareShopContracts.SearchModels; +using HardwareShopContracts.ViewModels; + +namespace HardwareShopContracts.StoragesContracts +{ + public class CommentStorage : ICommentStorage + { + public List GetFullList() + { + throw new NotImplementedException(); + } + + public List GetFilteredList(CommentSearchModel model) + { + throw new NotImplementedException(); + } + + public CommentViewModel? GetElement(CommentSearchModel model) + { + throw new NotImplementedException(); + } + + public CommentViewModel? Insert(CommentBindingModel model) + { + throw new NotImplementedException(); + } + + public CommentViewModel? Update(CommentBindingModel model) + { + throw new NotImplementedException(); + } + + public CommentViewModel? Delete(CommentBindingModel model) + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/PurchaseStorage.cs b/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/PurchaseStorage.cs new file mode 100644 index 0000000..bf40285 --- /dev/null +++ b/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/PurchaseStorage.cs @@ -0,0 +1,39 @@ +using HardwareShopContracts.BindingModels; +using HardwareShopContracts.SearchModels; +using HardwareShopContracts.ViewModels; + +namespace HardwareShopContracts.StoragesContracts +{ + public class PurchaseStorage : IPurchaseStorage + { + public List GetFullList() + { + throw new NotImplementedException(); + } + + public List GetFilteredList(PurchaseSearchModel model) + { + throw new NotImplementedException(); + } + + public PurchaseViewModel? GetElement(PurchaseSearchModel model) + { + throw new NotImplementedException(); + } + + public PurchaseViewModel? Insert(PurchaseBindingModel model) + { + throw new NotImplementedException(); + } + + public PurchaseViewModel? Update(PurchaseBindingModel model) + { + throw new NotImplementedException(); + } + + public PurchaseViewModel? Delete(PurchaseBindingModel model) + { + throw new NotImplementedException(); + } + } +} diff --git a/HardwareShop/HardwareShopDatabaseImplement/Models/Storekeeper/Order.cs b/HardwareShop/HardwareShopDatabaseImplement/Models/Storekeeper/Order.cs index 2d35035..6adf3bb 100644 --- a/HardwareShop/HardwareShopDatabaseImplement/Models/Storekeeper/Order.cs +++ b/HardwareShop/HardwareShopDatabaseImplement/Models/Storekeeper/Order.cs @@ -1,6 +1,5 @@ using HardwareShopDataModels.Enums; using HardwareShopDataModels.Models; -using HardwareShopDataModels.Models; using System.ComponentModel; namespace HardwareShopDatabaseImplement.Models.Storekeeper {