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