diff --git a/CarCenterDatabaseImplement/CarCenterDatabaseImplement.csproj b/CarCenterDatabaseImplement/CarCenterDatabaseImplement.csproj
index aed3a89..56543e4 100644
--- a/CarCenterDatabaseImplement/CarCenterDatabaseImplement.csproj
+++ b/CarCenterDatabaseImplement/CarCenterDatabaseImplement.csproj
@@ -6,10 +6,6 @@
enable
-
-
-
-
diff --git a/CarCenterDatabaseImplement/Models/Client.cs b/CarCenterDatabaseImplement/Models/Client.cs
new file mode 100644
index 0000000..f224d55
--- /dev/null
+++ b/CarCenterDatabaseImplement/Models/Client.cs
@@ -0,0 +1,50 @@
+using CarCenterContracts.BindingModels;
+using CarCenterContracts.Extensions;
+using CarCenterContracts.ViewModels;
+using CarCenterDataModels;
+using System.ComponentModel.DataAnnotations;
+
+namespace CarCenterDatabaseImplement.Models
+{
+ public class Client : IClientModel
+ {
+ [Required]
+ public int DirectorId { get; private set; }
+ [Required]
+ public string Name { get; private set; } = string.Empty;
+ [Required]
+ public double Price { get; private set; }
+ [Required]
+ public int Course { get; private set; }
+
+ public int Id { get; private set; }
+ [Required]
+ public Director? Director { get; private set; }
+
+ [Required]
+ public List Cars { get; private set; } = new();
+
+
+ public static Client Create(ClientBindingModel model) => model.CastWithCommonProperties();
+
+ public static implicit operator ClientViewModel?(Client? model)
+ {
+ if (model == null)
+ {
+ return null;
+ }
+ var res = model.CastWithCommonProperties();
+ res.DirectorLogin = model.Director?.Login ?? string.Empty;
+ res.Cars = model.Cars.Select(x => (CarViewModel)x.Car).ToList();
+ return res;
+ }
+
+ public void Update(ClientBindingModel model)
+ {
+ Price = model.Price;
+ Course = model.Course;
+ }
+
+ public ClientViewModel GetViewModel() => this.CastWithCommonProperties();
+ }
+}
diff --git a/CarCenterDatabaseImplement/Models/Director.cs b/CarCenterDatabaseImplement/Models/Director.cs
new file mode 100644
index 0000000..b4ab62c
--- /dev/null
+++ b/CarCenterDatabaseImplement/Models/Director.cs
@@ -0,0 +1,32 @@
+using CarCenterContracts.BindingModels;
+using CarCenterContracts.ViewModels;
+using CarCenterDataModels;
+using System.ComponentModel.DataAnnotations;
+using CarCenterContracts.Extensions;
+
+namespace CarCenterDatabaseImplement.Models
+{
+ public class Director : IDirectorModel
+ {
+ public int Id { get; private set; }
+ [Required]
+ public string FirstName { get; private set; } = string.Empty;
+ [Required]
+ public string LastName { get; private set; } = string.Empty;
+ [Required]
+ public string Login { get; private set; } = string.Empty;
+ [Required]
+ public string Password { get; private set; } = string.Empty;
+
+ public string PhoneNumber { get; set; } = string.Empty;
+
+ [Required]
+ public List? Clients { get; private set; }
+ [Required]
+ public List? Requirements { get; private set; }
+
+ public static Director Create(DirectorBindingModel model) => model.CastWithCommonProperties();
+
+ public static implicit operator DirectorViewModel?(Director? model) => model?.CastWithCommonProperties();
+ }
+}