diff --git a/Bank/Bank.sln b/Bank/Bank.sln
new file mode 100644
index 0000000..c7f162b
--- /dev/null
+++ b/Bank/Bank.sln
@@ -0,0 +1,49 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.7.34202.233
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankView", "Bank\BankView.csproj", "{C867FBC3-FA1E-479D-8368-D6EFAA70CA4B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankBusinessLogic", "BankBusinessLogic\BankBusinessLogic.csproj", "{FB305193-03D5-40E1-84E9-A27A81D7DB83}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankDataModels", "BankDataModels\BankDataModels.csproj", "{A2791B88-CAB3-4D95-81E2-6724C9B6CB41}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankContracts", "BankContracts\BankContracts.csproj", "{060D1745-51EC-49A1-8FC0-B78E64DAE760}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankDatabaseImplement", "BankDatabaseImplement\BankDatabaseImplement.csproj", "{F485D64A-2C3A-419A-AB74-80DEC552BFEC}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C867FBC3-FA1E-479D-8368-D6EFAA70CA4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C867FBC3-FA1E-479D-8368-D6EFAA70CA4B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C867FBC3-FA1E-479D-8368-D6EFAA70CA4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C867FBC3-FA1E-479D-8368-D6EFAA70CA4B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FB305193-03D5-40E1-84E9-A27A81D7DB83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FB305193-03D5-40E1-84E9-A27A81D7DB83}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FB305193-03D5-40E1-84E9-A27A81D7DB83}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FB305193-03D5-40E1-84E9-A27A81D7DB83}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A2791B88-CAB3-4D95-81E2-6724C9B6CB41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A2791B88-CAB3-4D95-81E2-6724C9B6CB41}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A2791B88-CAB3-4D95-81E2-6724C9B6CB41}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A2791B88-CAB3-4D95-81E2-6724C9B6CB41}.Release|Any CPU.Build.0 = Release|Any CPU
+ {060D1745-51EC-49A1-8FC0-B78E64DAE760}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {060D1745-51EC-49A1-8FC0-B78E64DAE760}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {060D1745-51EC-49A1-8FC0-B78E64DAE760}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {060D1745-51EC-49A1-8FC0-B78E64DAE760}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F485D64A-2C3A-419A-AB74-80DEC552BFEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F485D64A-2C3A-419A-AB74-80DEC552BFEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F485D64A-2C3A-419A-AB74-80DEC552BFEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F485D64A-2C3A-419A-AB74-80DEC552BFEC}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {5A059AF9-7988-49CF-9629-146B6935892B}
+ EndGlobalSection
+EndGlobal
diff --git a/Bank/Bank/BankView.csproj b/Bank/Bank/BankView.csproj
new file mode 100644
index 0000000..b57c89e
--- /dev/null
+++ b/Bank/Bank/BankView.csproj
@@ -0,0 +1,11 @@
+
+
+
+ WinExe
+ net6.0-windows
+ enable
+ true
+ enable
+
+
+
\ No newline at end of file
diff --git a/Bank/Bank/Form1.Designer.cs b/Bank/Bank/Form1.Designer.cs
new file mode 100644
index 0000000..98ab8c1
--- /dev/null
+++ b/Bank/Bank/Form1.Designer.cs
@@ -0,0 +1,39 @@
+namespace Bank
+{
+ partial class Form1
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(800, 450);
+ this.Text = "Form1";
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/Bank/Bank/Form1.cs b/Bank/Bank/Form1.cs
new file mode 100644
index 0000000..10d9059
--- /dev/null
+++ b/Bank/Bank/Form1.cs
@@ -0,0 +1,10 @@
+namespace Bank
+{
+ public partial class Form1 : Form
+ {
+ public Form1()
+ {
+ InitializeComponent();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Bank/Bank/Form1.resx b/Bank/Bank/Form1.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/Bank/Bank/Form1.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/Bank/Bank/Program.cs b/Bank/Bank/Program.cs
new file mode 100644
index 0000000..dd4fcb7
--- /dev/null
+++ b/Bank/Bank/Program.cs
@@ -0,0 +1,17 @@
+namespace Bank
+{
+ internal static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ // To customize application configuration such as set high DPI settings or default font,
+ // see https://aka.ms/applicationconfiguration.
+ ApplicationConfiguration.Initialize();
+ Application.Run(new Form1());
+ }
+ }
+}
\ No newline at end of file
diff --git a/Bank/BankBusinessLogic/BankBusinessLogic.csproj b/Bank/BankBusinessLogic/BankBusinessLogic.csproj
new file mode 100644
index 0000000..a2ddd73
--- /dev/null
+++ b/Bank/BankBusinessLogic/BankBusinessLogic.csproj
@@ -0,0 +1,14 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
diff --git a/Bank/BankContracts/BankContracts.csproj b/Bank/BankContracts/BankContracts.csproj
new file mode 100644
index 0000000..8fb3cd1
--- /dev/null
+++ b/Bank/BankContracts/BankContracts.csproj
@@ -0,0 +1,20 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Bank/BankContracts/BindingModels/AccountBindingModel.cs b/Bank/BankContracts/BindingModels/AccountBindingModel.cs
new file mode 100644
index 0000000..8d43ad7
--- /dev/null
+++ b/Bank/BankContracts/BindingModels/AccountBindingModel.cs
@@ -0,0 +1,28 @@
+using BankDataModels.Enums;
+using BankDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankContracts.BindingModels
+{
+ // Реализация сущности "Счёт"
+ public class AccountBindingModel : IAccountModel
+ {
+ public int Id { get; set; }
+
+ public int CashierId { get; set; }
+
+ public int ClientId { get; set; }
+
+ public string AccountNumber { get; set; } = string.Empty;
+
+ public double Balance { get; set; }
+
+ public DateTime DateOpen { get; set; } = DateTime.Now;
+
+ public StatusAccount StatusAccount { get; set; } = StatusAccount.Закрыт;
+ }
+}
diff --git a/Bank/BankContracts/BindingModels/CardBindingModel.cs b/Bank/BankContracts/BindingModels/CardBindingModel.cs
new file mode 100644
index 0000000..ffc2643
--- /dev/null
+++ b/Bank/BankContracts/BindingModels/CardBindingModel.cs
@@ -0,0 +1,29 @@
+using BankDataModels.Enums;
+using BankDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankContracts.BindingModels
+{
+ // Реализация сущности "Карта"
+ public class CardBindingModel : ICardModel
+ {
+ public int Id { get; set; }
+
+ public int ClientId { get; set; }
+
+ public int AccountId { get; set; }
+
+ // Номер банковской карты
+ public string Number { get; set; } = string.Empty;
+
+ public double Balance { get; set; }
+
+ public DateTime Period { get; set; } = DateTime.Now;
+
+ public StatusCard StatusCard { get; set; } = StatusCard.Закрыта;
+ }
+}
diff --git a/Bank/BankContracts/BindingModels/CashierBindingModel.cs b/Bank/BankContracts/BindingModels/CashierBindingModel.cs
new file mode 100644
index 0000000..71add75
--- /dev/null
+++ b/Bank/BankContracts/BindingModels/CashierBindingModel.cs
@@ -0,0 +1,27 @@
+using BankDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankContracts.BindingModels
+{
+ // Реализация сущности "Кассир"
+ public class CashierBindingModel : ICashierModel
+ {
+ public int Id { get; set; }
+
+ public string Name { get; set; } = string.Empty;
+
+ public string Surname { get; set; } = string.Empty;
+
+ public string Patronymic { get; set; } = string.Empty;
+
+ public string Email { get; set; } = string.Empty;
+
+ public string Password { get; set; } = string.Empty;
+
+ public string MobilePhone { get; set; } = string.Empty;
+ }
+}
diff --git a/Bank/BankContracts/BindingModels/ClientBindingModel.cs b/Bank/BankContracts/BindingModels/ClientBindingModel.cs
new file mode 100644
index 0000000..20a7ab6
--- /dev/null
+++ b/Bank/BankContracts/BindingModels/ClientBindingModel.cs
@@ -0,0 +1,27 @@
+using BankDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankContracts.BindingModels
+{
+ // Реализация сущности "Клиент"
+ public class ClientBindingModel : IClientModel
+ {
+ public int Id { get; set; }
+
+ public string Name { get; set; } = string.Empty;
+
+ public string Surname { get; set; } = string.Empty;
+
+ public string Patronymic { get; set; } = string.Empty;
+
+ public string Email { get; set; } = string.Empty;
+
+ public string Password { get; set; } = string.Empty;
+
+ public string MobilePhone { get; set; } = string.Empty;
+ }
+}
diff --git a/Bank/BankDataModels/BankDataModels.csproj b/Bank/BankDataModels/BankDataModels.csproj
new file mode 100644
index 0000000..132c02c
--- /dev/null
+++ b/Bank/BankDataModels/BankDataModels.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
diff --git a/Bank/BankDataModels/Enums/StatusAccount.cs b/Bank/BankDataModels/Enums/StatusAccount.cs
new file mode 100644
index 0000000..9681028
--- /dev/null
+++ b/Bank/BankDataModels/Enums/StatusAccount.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankDataModels.Enums
+{
+ public enum StatusAccount
+ {
+ Открыт = 0,
+
+ Закрыт = 1,
+
+ Отклонен = 2,
+
+ Счёт_просрочен = 3
+ }
+}
diff --git a/Bank/BankDataModels/Enums/StatusCard.cs b/Bank/BankDataModels/Enums/StatusCard.cs
new file mode 100644
index 0000000..b4508f5
--- /dev/null
+++ b/Bank/BankDataModels/Enums/StatusCard.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankDataModels.Enums
+{
+ public enum StatusCard
+ {
+ Открыта = 0,
+
+ Закрыта = 1,
+
+ Отклонена = 2,
+
+ Карта_просрочена = 3
+ }
+}
diff --git a/Bank/BankDataModels/IId.cs b/Bank/BankDataModels/IId.cs
new file mode 100644
index 0000000..1694430
--- /dev/null
+++ b/Bank/BankDataModels/IId.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankDataModels
+{
+ public interface IId
+ {
+ int Id { get; }
+ }
+}
\ No newline at end of file
diff --git a/Bank/BankDataModels/Models/IAccountModel.cs b/Bank/BankDataModels/Models/IAccountModel.cs
new file mode 100644
index 0000000..58f3fa7
--- /dev/null
+++ b/Bank/BankDataModels/Models/IAccountModel.cs
@@ -0,0 +1,29 @@
+using BankDataModels.Enums;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankDataModels.Models
+{
+ // Интерфейс, отвечающий за cчёт
+ public interface IAccountModel : IId
+ {
+ int CashierId { get; }
+
+ int ClientId { get; }
+
+ // Номер счёта
+ string AccountNumber { get; }
+
+ // Сумма на счёте
+ double Balance { get; }
+
+ // Дата открытия
+ DateTime DateOpen { get; }
+
+ // Статус счёта
+ StatusAccount StatusAccount { get; }
+ }
+}
diff --git a/Bank/BankDataModels/Models/ICardModel.cs b/Bank/BankDataModels/Models/ICardModel.cs
new file mode 100644
index 0000000..1a58865
--- /dev/null
+++ b/Bank/BankDataModels/Models/ICardModel.cs
@@ -0,0 +1,29 @@
+using BankDataModels.Enums;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankDataModels.Models
+{
+ // Интерфейс, отвечающий за банковскую карту
+ public interface ICardModel : IId
+ {
+ int ClientId { get; }
+
+ int AccountId { get; }
+
+ // Номер банковской карты
+ string Number { get; }
+
+ // Сумма на карте
+ double Balance { get; }
+
+ // Период пользования картой
+ DateTime Period { get; }
+
+ // Статус карты
+ StatusCard StatusCard { get; }
+ }
+}
diff --git a/Bank/BankDataModels/Models/ICashWithdrawalModel.cs b/Bank/BankDataModels/Models/ICashWithdrawalModel.cs
new file mode 100644
index 0000000..3b7d0cd
--- /dev/null
+++ b/Bank/BankDataModels/Models/ICashWithdrawalModel.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankDataModels.Models
+{
+ // Интерфейс, отвечающий за выдачу наличных
+ public interface ICashWithdrawalModel : IId
+ {
+ // Сумма наличисления наличных
+ double Sum { get; } //?? все суммы глянуть !
+
+ // Дата выдачи наличных
+ DateTime DateWithdrawal { get; }
+
+ int CashierId { get; }
+ }
+}
diff --git a/Bank/BankDataModels/Models/ICashierModel.cs b/Bank/BankDataModels/Models/ICashierModel.cs
new file mode 100644
index 0000000..9bbaf5c
--- /dev/null
+++ b/Bank/BankDataModels/Models/ICashierModel.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankDataModels.Models
+{
+ // Интерфейс, отвечающий за кассира
+ public interface ICashierModel : IId
+ {
+ // Имя кассира
+ string Name { get; }
+
+ // Фамилия кассира
+ string Surname { get; }
+
+ // Отчество кассира
+ string Patronymic { get; }
+
+ // Электронный адрес кассира
+ string Email { get; }
+
+ // Пароль от аккаунта кассира
+ string Password { get; }
+
+ // Мобильный телефон кассира
+ string MobilePhone { get; }
+ }
+}
diff --git a/Bank/BankDataModels/Models/IClientModel.cs b/Bank/BankDataModels/Models/IClientModel.cs
new file mode 100644
index 0000000..9b2c480
--- /dev/null
+++ b/Bank/BankDataModels/Models/IClientModel.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankDataModels.Models
+{
+ // Интерфейс, отвечающий за клиента
+ public interface IClientModel : IId
+ {
+ // Имя клиента
+ string Name { get; }
+
+ // Фамилия клиента
+ string Surname { get; }
+
+ // Отчество клиента
+ string Patronymic { get; }
+
+ // Электронная почта клиента
+ string Email { get; }
+
+ // Пароль от аккаунта клиента
+ string Password { get; }
+
+ // Мобильный телефон клиента
+ string MobilePhone { get; }
+ }
+}
diff --git a/Bank/BankDataModels/Models/ICreditingModel.cs b/Bank/BankDataModels/Models/ICreditingModel.cs
new file mode 100644
index 0000000..56b95c6
--- /dev/null
+++ b/Bank/BankDataModels/Models/ICreditingModel.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankDataModels.Models
+{
+ // Интерфейс, отвечающий за пополнение карты
+ public interface ICreditingModel : IId
+ {
+ // Сумма на пополнение карты
+ double Sum { get; }
+
+ // Дата пополнения карты
+ DateTime DateCredit { get; }
+
+ int ClientId { get; }
+ }
+}
diff --git a/Bank/BankDataModels/Models/IDebitingModel.cs b/Bank/BankDataModels/Models/IDebitingModel.cs
new file mode 100644
index 0000000..284c274
--- /dev/null
+++ b/Bank/BankDataModels/Models/IDebitingModel.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankDataModels.Models
+{
+ // Интерфейс, отвечающий за получение наличных по карте
+ public interface IDebitingModel : IId
+ {
+ // Сумма снятия с карты
+ double Sum { get; }
+
+ // Дата снятия денег
+ DateTime DateDebit { get; }
+ }
+}
diff --git a/Bank/BankDataModels/Models/IMoneyTransfersModel.cs b/Bank/BankDataModels/Models/IMoneyTransfersModel.cs
new file mode 100644
index 0000000..87cd40e
--- /dev/null
+++ b/Bank/BankDataModels/Models/IMoneyTransfersModel.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankDataModels.Models
+{
+ // Интерфейс, отвечающий за перевод денег
+ public interface IMoneyTransfersModel : IId
+ {
+ // Сумма перевода
+ double Sum { get; }
+
+ // Дата перевода
+ DateTime DateTransfer { get; }
+
+ int CashierId { get; }
+
+ int OperationReplenishment { get; }
+ }
+}
diff --git a/Bank/BankDatabaseImplement/BankDatabaseImplement.csproj b/Bank/BankDatabaseImplement/BankDatabaseImplement.csproj
new file mode 100644
index 0000000..132c02c
--- /dev/null
+++ b/Bank/BankDatabaseImplement/BankDatabaseImplement.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
diff --git a/Bank/BankDatabaseImplement/Class1.cs b/Bank/BankDatabaseImplement/Class1.cs
new file mode 100644
index 0000000..07e9027
--- /dev/null
+++ b/Bank/BankDatabaseImplement/Class1.cs
@@ -0,0 +1,7 @@
+namespace BankDatabaseImplement
+{
+ public class Class1
+ {
+
+ }
+}
\ No newline at end of file