diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/FurnitureAssemblyDatabase.cs b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/FurnitureAssemblyDatabase.cs new file mode 100644 index 0000000..82c107b --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/FurnitureAssemblyDatabase.cs @@ -0,0 +1,33 @@ +using FurnitureAssemblyStorekeeperDatabaseImplement.Models; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FurnitureAssemblyStorekeeperDatabaseImplement +{ + public class FurnitureAssemblyDatabase : DbContext + { + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + if (optionsBuilder.IsConfigured == false) + { + optionsBuilder.UseNpgsql("Host=zyzf.space;Port=5434;Database=kursach;Username=postgres;Password=kursach"); + } + base.OnConfiguring(optionsBuilder); + } + public virtual DbSet Sets { get; set; } + public virtual DbSet SetFurnitureModules { get; set; } + public virtual DbSet FurnitureModules { get; set; } + public virtual DbSet FurnitureModuleFurnitures { get; set; } + public virtual DbSet Furnitures { get; set; } + public virtual DbSet FurnitureMaterials { get; set; } + public virtual DbSet Materials { get; set; } + public virtual DbSet Roles { get; set; } + public virtual DbSet Scopes { get; set; } + public virtual DbSet Users { get; set; } + public virtual DbSet Orders { get; set; } + } +} diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/FurnitureAssemblyStorekeeperDatabaseImplement.csproj b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/FurnitureAssemblyStorekeeperDatabaseImplement.csproj new file mode 100644 index 0000000..5e3c8f1 --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/FurnitureAssemblyStorekeeperDatabaseImplement.csproj @@ -0,0 +1,20 @@ + + + + net6.0 + enable + enable + + + + + + + + + + + + + + diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Implements/FurnitureStorage.cs b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Implements/FurnitureStorage.cs new file mode 100644 index 0000000..60e9769 --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Implements/FurnitureStorage.cs @@ -0,0 +1,117 @@ +using FurnitureAssembly_Storekeeper_Contracts.BindingModels; +using FurnitureAssembly_Storekeeper_Contracts.SearchModels; +using FurnitureAssembly_Storekeeper_Contracts.StoragesContracts; +using FurnitureAssembly_Storekeeper_Contracts.ViewModels; +using FurnitureAssemblyStorekeeperDatabaseImplement.Models; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FurnitureAssemblyStorekeeperDatabaseImplement.Implements +{ + public class FurnitureStorage : IFurnitureStorage + { + public List GetFullList() + { + using var context = new FurnitureAssemblyDatabase(); + return context.Furnitures + .Include(x => x.User) + .Include(x => x.Materials) + .ThenInclude(x => x.Material).ToList() + .Select(x => x.GetViewModel).ToList(); + } + public List GetFilteredList(FurnitureSearchModel model) + { + using var context = new FurnitureAssemblyDatabase(); + if (!string.IsNullOrEmpty(model.FurnitureName)) + { + return context.Furnitures + .Include(x => x.User) + .Include(x => x.Materials) + .ThenInclude(x => x.Material) + .Where(x => x.Name.Contains(model.FurnitureName)).ToList() + .Select(x => x.GetViewModel).ToList(); + } + else if (model.UserId.HasValue) + { + return context.Furnitures + .Include(x => x.User) + .Include(x => x.Materials) + .ThenInclude(x => x.Material) + .Where(x => x.UserId == model.UserId) + .Select(x => x.GetViewModel).ToList(); + } + else + { + return new(); + } + } + public FurnitureViewModel? GetElement(FurnitureSearchModel model) + { + if (string.IsNullOrEmpty(model.FurnitureName) && + !model.Id.HasValue) + { + return null; + } + using var context = new FurnitureAssemblyDatabase(); + return context.Furnitures.Include(x => x.User) + .Include(x => x.Materials).ThenInclude(x => x.Material) + .FirstOrDefault(x => (!string.IsNullOrEmpty(model.FurnitureName) && x.Name == model.FurnitureName) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel; + } + public FurnitureViewModel? Insert(FurnitureBindingModel model) + { + using var context = new FurnitureAssemblyDatabase(); + var newFurniture = Furniture.Create(context, model); + if (newFurniture == null) + { + return null; + } + context.Furnitures.Add(newFurniture); + context.SaveChanges(); + return newFurniture.GetViewModel; + } + public FurnitureViewModel? Update(FurnitureBindingModel model) + { + using var context = new FurnitureAssemblyDatabase(); + using var transaction = context.Database.BeginTransaction(); + try + { + var furniture = context.Furnitures + .Include(x => x.User) + .FirstOrDefault(rec => rec.Id == model.Id); + if (furniture == null) + { + return null; + } + furniture.Update(model); + context.SaveChanges(); + furniture.UpdateMaterials(context, model); + transaction.Commit(); + return furniture.GetViewModel; + } + catch + { + transaction.Rollback(); + throw; + } + } + public FurnitureViewModel? Delete(FurnitureBindingModel model) + { + using var context = new FurnitureAssemblyDatabase(); + var element = context.Furnitures + .Include(x => x.User) + .Include(x => x.Materials) + .FirstOrDefault(rec => rec.Id == model.Id); + if (element != null) + { + context.Furnitures.Remove(element); + context.SaveChanges(); + return element.GetViewModel; + } + return null; + } + } +} diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Implements/MaterialStorage.cs b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Implements/MaterialStorage.cs new file mode 100644 index 0000000..6d1dd8b --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Implements/MaterialStorage.cs @@ -0,0 +1,99 @@ +using FurnitureAssembly_Storekeeper_Contracts.BindingModels; +using FurnitureAssembly_Storekeeper_Contracts.SearchModels; +using FurnitureAssembly_Storekeeper_Contracts.StoragesContracts; +using FurnitureAssembly_Storekeeper_Contracts.ViewModels; +using FurnitureAssemblyStorekeeperDatabaseImplement.Models; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FurnitureAssemblyStorekeeperDatabaseImplement.Implements +{ + public class MaterialStorage : IMaterialStorage + { + public List GetFullList() + { + using var context = new FurnitureAssemblyDatabase(); + return context.Materials + .Include(x => x.User) + .Include(x => x.Scope) + .Select(x => x.GetViewModel) + .ToList(); + } + public List GetFilteredList(MaterialSearchModel model) + { + using var context = new FurnitureAssemblyDatabase(); + if (!string.IsNullOrEmpty(model.MaterialName)) + { + return context.Materials + .Include(x => x.User) + .Include(x => x.Scope) + .Where(x => x.Name.Contains(model.MaterialName)) + .Select(x => x.GetViewModel).ToList(); + } + + else + { + return new(); + } + } + public MaterialViewModel? GetElement(MaterialSearchModel model) + { + if (string.IsNullOrEmpty(model.MaterialName) && !model.Id.HasValue) + { + return null; + } + using var context = new FurnitureAssemblyDatabase(); + return context.Materials + .Include(x => x.User) + .Include(x => x.Scope) + .FirstOrDefault(x => (!string.IsNullOrEmpty(model.MaterialName) && x.Name == model.MaterialName) || + (model.Id.HasValue && x.Id == model.Id)) + ?.GetViewModel; + } + public MaterialViewModel? Insert(MaterialBindingModel model) + { + var newMaterial = Material.Create(model); + if (newMaterial == null) + { + return null; + } + using var context = new FurnitureAssemblyDatabase(); + context.Materials.Add(newMaterial); + context.SaveChanges(); + return newMaterial.GetViewModel; + } + public MaterialViewModel? Update(MaterialBindingModel model) + { + using var context = new FurnitureAssemblyDatabase(); + var material = context.Materials + .Include(x => x.User) + .FirstOrDefault(x => x.Id == model.Id); + if (material == null) + { + return null; + } + material.Update(model); + context.SaveChanges(); + return material.GetViewModel; + } + public MaterialViewModel? Delete(MaterialBindingModel model) + { + using var context = new FurnitureAssemblyDatabase(); + var element = context.Materials + .Include(x => x.User) + .FirstOrDefault(rec => rec.Id == model.Id); + if (element != null) + { + context.Materials.Remove(element); + context.SaveChanges(); + return element.GetViewModel; + } + return null; + } + } +} diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Implements/ScopeStorage.cs b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Implements/ScopeStorage.cs new file mode 100644 index 0000000..93f168a --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Implements/ScopeStorage.cs @@ -0,0 +1,99 @@ +using FurnitureAssembly_Storekeeper_Contracts.BindingModels; +using FurnitureAssembly_Storekeeper_Contracts.SearchModels; +using FurnitureAssembly_Storekeeper_Contracts.StoragesContracts; +using FurnitureAssembly_Storekeeper_Contracts.ViewModels; +using FurnitureAssemblyStorekeeperDatabaseImplement.Models; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FurnitureAssemblyStorekeeperDatabaseImplement.Implements +{ + public class ScopeStorage : IScopeStorage + { + public List GetFullList() + { + using var context = new FurnitureAssemblyDatabase(); + return context.Scopes + .Include(x => x.Materials) + .Select(x => x.GetViewModel) + .ToList(); + } + public List GetFilteredList(ScopeSearchModel model) + { + if (model == null) + { + return new(); + } + if (!string.IsNullOrEmpty(model.ScopeName)) + { + using var context = new FurnitureAssemblyDatabase(); + return context.Scopes + .Include(x => x.Materials) + .Where(x => x.Name.Contains(model.ScopeName)) + .Select(x => x.GetViewModel) + .ToList(); + } + return new(); + } + public ScopeViewModel? GetElement(ScopeSearchModel model) + { + using var context = new FurnitureAssemblyDatabase(); + if (model.Id.HasValue) + { + return context.Scopes + .FirstOrDefault(x => (x.Id == model.Id)) + ?.GetViewModel; + } + else if (!string.IsNullOrEmpty(model.ScopeName)) + { + return context.Scopes + .FirstOrDefault(x => (x.Name == model.ScopeName)) + ?.GetViewModel; + } + return new(); + } + public ScopeViewModel? Insert(ScopeBindingModel model) + { + var newScope = Scope.Create(model); + if (newScope == null) + { + return null; + } + using var context = new FurnitureAssemblyDatabase(); + context.Scopes.Add(newScope); + context.SaveChanges(); + return newScope.GetViewModel; + } + public ScopeViewModel? Update(ScopeBindingModel model) + { + using var context = new FurnitureAssemblyDatabase(); + var scope = context.Scopes + .FirstOrDefault(x => x.Id == model.Id); + if (scope == null) + { + return null; + } + scope.Update(model); + context.SaveChanges(); + return scope.GetViewModel; + } + public ScopeViewModel? Delete(ScopeBindingModel model) + { + using var context = new FurnitureAssemblyDatabase(); + var element = context.Scopes + .Include(x => x.Materials) + .FirstOrDefault(rec => rec.Id == model.Id); + if (element != null) + { + context.Scopes.Remove(element); + context.SaveChanges(); + return element.GetViewModel; + } + return null; + } + } +} diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Implements/UserStorage.cs b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Implements/UserStorage.cs new file mode 100644 index 0000000..d017b65 --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Implements/UserStorage.cs @@ -0,0 +1,123 @@ +using FurnitureAssembly_Storekeeper_Contracts.BindingModels; +using FurnitureAssembly_Storekeeper_Contracts.SearchModels; +using FurnitureAssembly_Storekeeper_Contracts.StoragesContracts; +using FurnitureAssembly_Storekeeper_Contracts.ViewModels; +using FurnitureAssemblyStorekeeperDatabaseImplement.Models; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FurnitureAssemblyStorekeeperDatabaseImplement.Implements +{ + public class UserStorage : IUserStorage + { + public UserViewModel? Delete(UserBindingModel model) + { + using var context = new FurnitureAssemblyDatabase(); + var element = context + .Users.FirstOrDefault(rec => rec.Id == model.Id); + if (element != null) + { + var deletedElement = context.Users + .Include(x => x.Orders) + .Include(x => x.Furnitures) + .Include(x => x.Materials) + .FirstOrDefault(x => x.Id == model.Id) + ?.GetViewModel; + context.Users.Remove(element); + context.SaveChanges(); + return deletedElement; + } + return null; + } + public UserViewModel? GetElement(UserSearchModel model) + { + if (!model.Id.HasValue) + { + return null; + } + using var context = new FurnitureAssemblyDatabase(); + return context.Users + .Include(x => x.Orders) + .Include(x => x.Furnitures) + .Include(x => x.Materials) + .FirstOrDefault(x => model.Id.HasValue && x.Id == model.Id) + ?.GetViewModel; + } + public List GetFilteredList(UserSearchModel model) + { + using var context = new FurnitureAssemblyDatabase(); + if (model.Id.HasValue) + { + return context.Users + .Include(x => x.Orders) + .Include(x => x.Furnitures) + .Include(x => x.Materials) + .Where(x => x.Id == model.Id) + .Select(x => x.GetViewModel) + .ToList(); + } + else if (model.RoleId.HasValue) + { + return context.Users + .Include(x => x.Orders) + .Include(x => x.Furnitures) + .Include(x => x.Materials) + .Where(x => x.RoleId == model.RoleId) + .Select(x => x.GetViewModel) + .ToList(); + } + else + { + return new(); + } + } + public List GetFullList() + { + using var context = new FurnitureAssemblyDatabase(); + return context.Users + .Include(x => x.Orders) + .Include(x => x.Furnitures) + .Include(x => x.Materials) + .Select(x => x.GetViewModel) + .ToList(); + } + public UserViewModel? Insert(UserBindingModel model) + { + var newUser = User.Create(model); + if (newUser == null) + { + return null; + } + using var context = new FurnitureAssemblyDatabase(); + context.Users.Add(newUser); + context.SaveChanges(); + return context.Users + .Include(x => x.Orders) + .Include(x => x.Furnitures) + .Include(x => x.Materials) + .FirstOrDefault(x => x.Id == newUser.Id) + ?.GetViewModel; + } + public UserViewModel? Update(UserBindingModel model) + { + using var context = new FurnitureAssemblyDatabase(); + var user = context.Users.FirstOrDefault(x => x.Id == model.Id); + if (user == null) + { + return null; + } + user.Update(model); + context.SaveChanges(); + return context.Users + .Include(x => x.Orders) + .Include(x => x.Furnitures) + .Include(x => x.Materials) + .FirstOrDefault(x => x.Id == model.Id) + ?.GetViewModel; + } + } +} diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/Furniture.cs b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/Furniture.cs new file mode 100644 index 0000000..fc00993 --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/Furniture.cs @@ -0,0 +1,115 @@ +using FurnitureAssembly_Storekeeper_Contracts.BindingModels; +using FurnitureAssembly_Storekeeper_Contracts.ViewModels; +using FurnitureAssembly_Storekeeper_DataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FurnitureAssemblyStorekeeperDatabaseImplement.Models +{ + public class Furniture : IFurniture + { + public int Id { get; set; } + [Required] + public string Name { get; set; } = string.Empty; + [Required] + public double Cost { get; set; } + [Required] + public DateTime DateCreate { get; set; } = DateTime.Now; + [Required] + public int UserId { get; set; } + public virtual IUser User{ get; set; } + + public Dictionary? _furnitureMaterials = null; + [NotMapped] + public Dictionary FurnitureMaterials + { + get + { + if (_furnitureMaterials == null) + { + _furnitureMaterials = Materials + .ToDictionary(recPC => recPC.MaterialId, recPC => + (recPC.Material as IMaterial, recPC.Count)); + } + return _furnitureMaterials; + } + } + [ForeignKey("FurnitureId")] + public virtual List Materials { get; set; } = new(); + public static Furniture Create(FurnitureAssemblyDatabase context, FurnitureBindingModel model) + { + return new Furniture() + { + Id = model.Id, + Name = model.Name, + Cost = model.Cost, + UserId = model.User.Id, + DateCreate = model.DateCreate, + Materials = model.FurnitureMaterials.Select(x => new FurnitureMaterial + { + Material = context.Materials.First(y => y.Id == x.Key), + Count = x.Value.Item2 + }).ToList() + }; + } + public void Update(FurnitureBindingModel model) + { + if (model == null) + { + return; + } + Name = model.Name; + Cost = model.Cost; + } + public FurnitureViewModel GetViewModel => new() + { + Id = Id, + Name = Name, + Cost = Cost, + User = User, + DateCreate = DateCreate, + FurnitureMaterials = FurnitureMaterials + }; + + Dictionary IFurniture.FurnitureMaterials => throw new NotImplementedException(); + + IUser IFurniture.User => throw new NotImplementedException(); + + public void UpdateMaterials(FurnitureAssemblyDatabase context, FurnitureBindingModel model) + { + var furnitureMaterials = context.FurnitureMaterials.Where(rec => + rec.FurnitureId == model.Id).ToList(); + if (furnitureMaterials != null && furnitureMaterials.Count > 0) + { // удалили те, которых нет в модели + context.FurnitureMaterials.RemoveRange(furnitureMaterials.Where(rec + => !model.FurnitureMaterials.ContainsKey(rec.MaterialId))); + context.SaveChanges(); + // обновили количество у существующих записей + foreach (var updateMaterial in furnitureMaterials) + { + updateMaterial.Count = model.FurnitureMaterials[updateMaterial.MaterialId].Item2; + model.FurnitureMaterials.Remove(updateMaterial.MaterialId); + } + context.SaveChanges(); + } + var furniture = context.Furnitures.First(x => x.Id == Id); + foreach (var pc in model.FurnitureMaterials) + { + context.FurnitureMaterials.Add(new FurnitureMaterial + { + Furniture = furniture, + Material = context.Materials.First(x => x.Id == pc.Key), + Count = pc.Value.Item2 + }); + context.SaveChanges(); + } + _furnitureMaterials = null; + } + } +} diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/FurnitureMaterial.cs b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/FurnitureMaterial.cs new file mode 100644 index 0000000..3949169 --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/FurnitureMaterial.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FurnitureAssemblyStorekeeperDatabaseImplement.Models +{ + public class FurnitureMaterial + { + public int Id { get; set; } + [Required] + public int FurnitureId { get; set; } + [Required] + public int MaterialId { get; set; } + [Required] + public int Count { get; set; } + public virtual Furniture Furniture { get; set; } = new(); + public virtual Material Material { get; set; } = new(); + } +} diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/Material.cs b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/Material.cs new file mode 100644 index 0000000..6f4b88e --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/Material.cs @@ -0,0 +1,64 @@ +using FurnitureAssembly_Storekeeper_Contracts.BindingModels; +using FurnitureAssembly_Storekeeper_Contracts.ViewModels; +using FurnitureAssembly_Storekeeper_DataModels.Models; +using FurnitureAssemblyStorekeeperDatabaseImplement.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FurnitureAssemblyStorekeeperDatabaseImplement.Models +{ + public class Material : IMaterial + { + public int Id { get; set; } + [Required] + public string Name { get; set; } = string.Empty; + [Required] + public double Cost { get; set; } + [Required] + public int ScopeId { get; set; } + public virtual IScope Scope { get; set; } + [Required] + public int UserId { get; set; } + public virtual User User { get; set; } + [ForeignKey("MaterialId")] + public virtual List FurnitureMaterials { get; set; } = new(); + public static Material? Create(MaterialBindingModel model) + { + if (model == null) + { + return null; + } + return new Material() + { + Id = model.Id, + Name = model.Name, + Cost = model.Cost, + ScopeId = model.Scope.Id + }; + } + public void Update(MaterialBindingModel model) + { + if (model == null) + { + return; + } + Name = model.Name; + Cost = model.Cost; + ScopeId = model.Scope.Id; + } + public MaterialViewModel GetViewModel => new() + { + Id = Id, + Name = Name, + Cost = Cost, + Scope = Scope + }; + + } +} diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/Role.cs b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/Role.cs new file mode 100644 index 0000000..cfed312 --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/Role.cs @@ -0,0 +1,48 @@ +using FurnitureAssembly_Storekeeper_Contracts.BindingModels; +using FurnitureAssembly_Storekeeper_Contracts.ViewModels; +using FurnitureAssembly_Storekeeper_DataModels.Models; +using FurnitureAssembly_WorkerDatabaseImplement.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FurnitureAssemblyStorekeeperDatabaseImplement.Models +{ + public class Role : IRole + { + public int Id { get; set; } + [Required] + public string Name { get; set; } = string.Empty; + [ForeignKey("RoleId")] + public virtual List Users { get; set; } = new(); + public static Role? Create(RoleBindingModel? model) + { + if (model == null) + { + return null; + } + return new Role() + { + Id = model.Id, + Name = model.Name + }; + } + public void Update(RoleBindingModel? model) + { + if (model == null) + { + return; + } + Name = model.Name; + } + public RoleViewModel GetViewModel => new() + { + Id = Id, + Name = Name + }; + } +} diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/Scope.cs b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/Scope.cs new file mode 100644 index 0000000..66f5c9d --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/Scope.cs @@ -0,0 +1,47 @@ +using FurnitureAssembly_Storekeeper_Contracts.BindingModels; +using FurnitureAssembly_Storekeeper_Contracts.ViewModels; +using FurnitureAssembly_Storekeeper_DataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FurnitureAssemblyStorekeeperDatabaseImplement.Models +{ + public class Scope : IScope + { + public int Id { get; set; } + [Required] + public string Name { get; set; } = string.Empty; + [ForeignKey("ScopeId")] + public virtual List Materials { get; set; } = new(); + public static Scope? Create(ScopeBindingModel? model) + { + if (model == null) + { + return null; + } + return new Scope() + { + Id = model.Id, + Name = model.Name + }; + } + public void Update(ScopeBindingModel? model) + { + if (model == null) + { + return; + } + Name = model.Name; + } + public ScopeViewModel GetViewModel => new() + { + Id = Id, + Name = Name + }; + } +} diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/User.cs b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/User.cs new file mode 100644 index 0000000..3496ff5 --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssemblyStorekeeperDatabaseImplement/Models/User.cs @@ -0,0 +1,67 @@ +using FurnitureAssembly_Storekeeper_Contracts.BindingModels; +using FurnitureAssembly_Storekeeper_Contracts.ViewModels; +using FurnitureAssembly_Storekeeper_DataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FurnitureAssemblyStorekeeperDatabaseImplement.Models +{ + public class User : IUser + { + public int Id { get; set; } + [Required] + public string Login { get; set; } = string.Empty; + [Required] + public string Password { get; set; } = string.Empty; + [Required] + public string UserName { get; set; } = string.Empty; + [Required] + public int RoleId { get; set; } + public virtual IRole Role { get; set; } + [ForeignKey("UserId")] + public virtual List Orders { get; set; } = new(); + [ForeignKey("FurnitureId")] + public virtual List Furnitures { get; set; } = new(); + [ForeignKey("MaterialId")] + public virtual List Materials { get; set; } = new(); + public static User? Create(UserBindingModel? model) + { + if (model == null) + { + return null; + } + return new User() + { + Id = model.Id, + Login = model.Login, + Password = model.Password, + UserName = model.UserName, + RoleId = model.Role.Id + }; + } + public void Update(UserBindingModel? model) + { + if (model == null) + { + return; + } + Login = model.Login; + Password = model.Password; + UserName = model.UserName; + RoleId = model.Role.Id; + } + public UserViewModel GetViewModel => new() + { + Id = Id, + Password = Password, + Login = Login, + UserName = UserName, + Role = Role + }; + } +} diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper.sln b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper.sln index 9c3100c..5351806 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper.sln +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper.sln @@ -7,9 +7,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FurnitureAssembly_Storekeep EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FurnitureAssembly_Storekeeper_DataModels", "FurnitureAssembly_Storekeeper_Models\FurnitureAssembly_Storekeeper_DataModels.csproj", "{30209964-F5C9-441D-A83D-7462ECE07B06}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FurnitureAssembly_Storekeeper_Contracts", "FurnitureAssembly_Storekeeper_Contracts\FurnitureAssembly_Storekeeper_Contracts.csproj", "{487F90DA-C4AC-4407-A382-953DA3689C2A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FurnitureAssembly_Storekeeper_Contracts", "FurnitureAssembly_Storekeeper_Contracts\FurnitureAssembly_Storekeeper_Contracts.csproj", "{487F90DA-C4AC-4407-A382-953DA3689C2A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FurnitureAssembly_Storekeeper_BusinessLogic", "FurnitureAssembly_Storekeeper_BusinessLogic\FurnitureAssembly_Storekeeper_BusinessLogic.csproj", "{EC0BAC5C-D13B-4BB1-9E88-68FC69995BC6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FurnitureAssembly_Storekeeper_BusinessLogic", "FurnitureAssembly_Storekeeper_BusinessLogic\FurnitureAssembly_Storekeeper_BusinessLogic.csproj", "{EC0BAC5C-D13B-4BB1-9E88-68FC69995BC6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FurnitureAssemblyStorekeeperDatabaseImplement", "FurnitureAssemblyStorekeeperDatabaseImplement\FurnitureAssemblyStorekeeperDatabaseImplement.csproj", "{3FE1A0A6-FA67-4F4C-9167-97164498D927}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -33,6 +35,10 @@ Global {EC0BAC5C-D13B-4BB1-9E88-68FC69995BC6}.Debug|Any CPU.Build.0 = Debug|Any CPU {EC0BAC5C-D13B-4BB1-9E88-68FC69995BC6}.Release|Any CPU.ActiveCfg = Release|Any CPU {EC0BAC5C-D13B-4BB1-9E88-68FC69995BC6}.Release|Any CPU.Build.0 = Release|Any CPU + {3FE1A0A6-FA67-4F4C-9167-97164498D927}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3FE1A0A6-FA67-4F4C-9167-97164498D927}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3FE1A0A6-FA67-4F4C-9167-97164498D927}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3FE1A0A6-FA67-4F4C-9167-97164498D927}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/FurnitureLogic.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/FurnitureLogic.cs index fd63a8c..5a4e43e 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/FurnitureLogic.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/FurnitureLogic.cs @@ -92,18 +92,18 @@ namespace FurnitureAssembly_Storekeeper_BusinessLogic.BusinessLogics { return; } - if (string.IsNullOrEmpty(model.FurnitureName)) + if (string.IsNullOrEmpty(model.Name)) { - throw new ArgumentNullException("Нет названия продукта",nameof(model.FurnitureName)); + throw new ArgumentNullException("Нет названия продукта",nameof(model.Name)); } - if (model.FurnitureCost <= 0) + if (model.Cost <= 0) { - throw new ArgumentNullException("Цена компонента должна быть больше 0", nameof(model.FurnitureCost)); + throw new ArgumentNullException("Цена компонента должна быть больше 0", nameof(model.Cost)); } - _logger.LogInformation("Furniture. FurnitureName:{FurnitureName}. Cost:{Cost}. Id: {Id}", model.FurnitureName, model.FurnitureCost, model.Id); + _logger.LogInformation("Furniture. FurnitureName:{FurnitureName}. Cost:{Cost}. Id: {Id}", model.Name, model.Cost, model.Id); var element = _FurnitureStorage.GetElement(new FurnitureSearchModel { - FurnitureName = model.FurnitureName + FurnitureName = model.Name }); if (element != null && element.Id != model.Id) { diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/MaterialLogic.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/MaterialLogic.cs index ffcbd71..d0f362f 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/MaterialLogic.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/MaterialLogic.cs @@ -90,19 +90,19 @@ namespace FurnitureAssembly_Storekeeper_BusinessLogic.BusinessLogics { return; } - if (string.IsNullOrEmpty(model.MaterialName)) + if (string.IsNullOrEmpty(model.Name)) { throw new ArgumentNullException("Нет названия компонента", - nameof(model.MaterialName)); + nameof(model.Name)); } if (model.Cost <= 0) { throw new ArgumentNullException("Цена компонента должна быть больше 0", nameof(model.Cost)); } - _logger.LogInformation("Material. MaterialName:{MaterialName}. Cost:{ Cost}. Id: {Id}", model.MaterialName, model.Cost, model.Id); + _logger.LogInformation("Material. MaterialName:{MaterialName}. Cost:{ Cost}. Id: {Id}", model.Name, model.Cost, model.Id); var element = _MaterialStorage.GetElement(new MaterialSearchModel { - MaterialName = model.MaterialName + MaterialName = model.Name }); if (element != null && element.Id != model.Id) { diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/RoleLogic.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/RoleLogic.cs index 56de8ab..6b91512 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/RoleLogic.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/RoleLogic.cs @@ -90,16 +90,16 @@ namespace FurnitureAssembly_Storekeeper_BusinessLogic.BusinessLogics { return; } - if (string.IsNullOrEmpty(model.RoleName)) + if (string.IsNullOrEmpty(model.Name)) { throw new ArgumentNullException("Нет названия роли", - nameof(model.RoleName)); + nameof(model.Name)); } - _logger.LogInformation("Role. RoleName:{RoleName}. Id: {Id}", model.RoleName, model.Id); + _logger.LogInformation("Role. RoleName:{RoleName}. Id: {Id}", model.Name, model.Id); var element = _RoleStorage.GetElement(new RoleSearchModel { - RoleName = model.RoleName + RoleName = model.Name }); if (element != null && element.Id != model.Id) { diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/ScopeLogic.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/ScopeLogic.cs index 0e7c086..44a87b8 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/ScopeLogic.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_BusinessLogic/BusinessLogics/ScopeLogic.cs @@ -90,15 +90,15 @@ namespace FurnitureAssembly_Storekeeper_BusinessLogic.BusinessLogics { return; } - if (string.IsNullOrEmpty(model.ScopeName)) + if (string.IsNullOrEmpty(model.Name)) { throw new ArgumentNullException("Нет названия области использования", - nameof(model.ScopeName)); + nameof(model.Name)); } - _logger.LogInformation("Scope. ScopeName:{ScopeName}. Id: {Id}", model.ScopeName,model.Id); + _logger.LogInformation("Scope. ScopeName:{ScopeName}. Id: {Id}", model.Name,model.Id); var element = _ScopeStorage.GetElement(new ScopeSearchModel { - ScopeName = model.ScopeName + ScopeName = model.Name }); if (element != null && element.Id != model.Id) { diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/FurnitureBindingModel.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/FurnitureBindingModel.cs index a80ef36..0d310d9 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/FurnitureBindingModel.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/FurnitureBindingModel.cs @@ -9,9 +9,9 @@ namespace FurnitureAssembly_Storekeeper_Contracts.BindingModels { public class FurnitureBindingModel : IFurniture { - public string FurnitureName { get; set; } = string.Empty; + public string Name { get; set; } = string.Empty; - public double FurnitureCost {get; set; } + public double Cost {get; set; } public DateTime DateCreate { get; set; } = DateTime.Now; diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/MaterialBindingModel.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/MaterialBindingModel.cs index 0b25001..8fb8ceb 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/MaterialBindingModel.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/MaterialBindingModel.cs @@ -9,11 +9,11 @@ namespace FurnitureAssembly_Storekeeper_Contracts.BindingModels { public class MaterialBindingModel : IMaterial { - public string MaterialName { get; set; } = string.Empty; + public string Name { get; set; } = string.Empty; public double Cost { get; set; } - public IScope scope { get; set; } = new ScopeBindingModel(); + public IScope Scope { get; set; } = new ScopeBindingModel(); public int Id { get; set; } } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/RoleBindingModel.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/RoleBindingModel.cs index 78c4a95..04f4c11 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/RoleBindingModel.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/RoleBindingModel.cs @@ -9,7 +9,7 @@ namespace FurnitureAssembly_Storekeeper_Contracts.BindingModels { public class RoleBindingModel : IRole { - public string RoleName { get; set; } = string.Empty; + public string Name { get; set; } = string.Empty; public int Id {get; set;} } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/ScopeBindingModel.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/ScopeBindingModel.cs index 07e4952..7620a31 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/ScopeBindingModel.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/BindingModels/ScopeBindingModel.cs @@ -9,7 +9,7 @@ namespace FurnitureAssembly_Storekeeper_Contracts.BindingModels { public class ScopeBindingModel : IScope { - public string ScopeName { get; set; } = string.Empty; + public string Name { get; set; } = string.Empty; public int Id { get; set; } } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/SearchModels/FurnitureSearchModel.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/SearchModels/FurnitureSearchModel.cs index a5c063d..8e67663 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/SearchModels/FurnitureSearchModel.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/SearchModels/FurnitureSearchModel.cs @@ -10,5 +10,6 @@ namespace FurnitureAssembly_Storekeeper_Contracts.SearchModels { public int? Id { get; set; } public string? FurnitureName { get; set; } + public int? UserId { get; set; } } } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/SearchModels/UserSearchModel.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/SearchModels/UserSearchModel.cs index 7e795dd..9bd7ec4 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/SearchModels/UserSearchModel.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/SearchModels/UserSearchModel.cs @@ -12,5 +12,6 @@ namespace FurnitureAssembly_Storekeeper_Contracts.SearchModels public string? Login { get; set; } public string? Password { get; set; } + public int? RoleId { get; set; } } } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/FurnitureViewModel.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/FurnitureViewModel.cs index 402e0b7..f76b6ff 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/FurnitureViewModel.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/FurnitureViewModel.cs @@ -11,9 +11,9 @@ namespace FurnitureAssembly_Storekeeper_Contracts.ViewModels public class FurnitureViewModel : IFurniture { [DisplayName("Название изделия")] - public string FurnitureName { get; set; } = string.Empty; + public string Name { get; set; } = string.Empty; [DisplayName("Цена изделия")] - public double FurnitureCost { get; set; } + public double Cost { get; set; } [DisplayName("Дата создания")] public DateTime DateCreate { get; set; } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/MaterialViewModel.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/MaterialViewModel.cs index 13292c2..73390ba 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/MaterialViewModel.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/MaterialViewModel.cs @@ -9,11 +9,11 @@ namespace FurnitureAssembly_Storekeeper_Contracts.ViewModels { public class MaterialViewModel : IMaterial { - public string MaterialName { get; set; } = string.Empty; + public string Name { get; set; } = string.Empty; public double Cost { get; set; } - public IScope scope { get; set; } = new ScopeViewModel(); + public IScope Scope { get; set; } = new ScopeViewModel(); public int Id { get; set; } } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/RoleViewModel.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/RoleViewModel.cs index 39c2e3f..3498182 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/RoleViewModel.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/RoleViewModel.cs @@ -9,7 +9,7 @@ namespace FurnitureAssembly_Storekeeper_Contracts.ViewModels { public class RoleViewModel : IRole { - public string RoleName { get; set; } = string.Empty; + public string Name { get; set; } = string.Empty; public int Id { get; set; } } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/ScopeViewModel.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/ScopeViewModel.cs index d0ae17d..8068573 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/ScopeViewModel.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Contracts/ViewModels/ScopeViewModel.cs @@ -9,7 +9,7 @@ namespace FurnitureAssembly_Storekeeper_Contracts.ViewModels { public class ScopeViewModel : IScope { - public string ScopeName { get; set; } = string.Empty; + public string Name { get; set; } = string.Empty; public int Id { get; set; } } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Enums/PaymentType.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Enums/PaymentType.cs new file mode 100644 index 0000000..7a13813 --- /dev/null +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Enums/PaymentType.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FurnitureAssemblyStorekeeperDatabaseImplement.Enums +{ + public enum PaymentType + { + Неизвестен = -1, + Наличными = 0, + Картой = 1, + Смешанный = 2 + } +} diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IFurniture.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IFurniture.cs index 0457547..a88d520 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IFurniture.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IFurniture.cs @@ -8,8 +8,8 @@ namespace FurnitureAssembly_Storekeeper_DataModels.Models { public interface IFurniture : IId { - string FurnitureName { get; } - double FurnitureCost { get; } + string Name { get; } + double Cost { get; } DateTime DateCreate { get; } Dictionary FurnitureMaterials { get; } IUser User { get; } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IMaterial.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IMaterial.cs index d465527..32766f0 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IMaterial.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IMaterial.cs @@ -8,8 +8,8 @@ namespace FurnitureAssembly_Storekeeper_DataModels.Models { public interface IMaterial : IId { - string MaterialName { get; } + string Name { get; } double Cost { get; } - IScope scope { get; } + IScope Scope { get; } } } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IRole.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IRole.cs index 8dcb2b1..8b2ebf5 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IRole.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IRole.cs @@ -8,6 +8,6 @@ namespace FurnitureAssembly_Storekeeper_DataModels.Models { public interface IRole : IId { - string RoleName { get; } + string Name { get; } } } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IScope.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IScope.cs index 37d6496..c7053b7 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IScope.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IScope.cs @@ -8,6 +8,6 @@ namespace FurnitureAssembly_Storekeeper_DataModels.Models { public interface IScope : IId { - string ScopeName { get; } + string Name { get; } } } diff --git a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IUser.cs b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IUser.cs index 83a2c26..537da8d 100644 --- a/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IUser.cs +++ b/FurnitureAssembly_Storekeeper/FurnitureAssembly_Storekeeper_Models/Models/IUser.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace FurnitureAssembly_Storekeeper_DataModels.Models { - public interface IUser + public interface IUser : IId { string Login { get;} string Password { get;}