сделал модели в бд и добавил номера счетов/аккаунтов для во вьюшках

This commit is contained in:
Алексей Крюков 2024-04-28 20:13:23 +04:00
parent 357d568425
commit b2412fe625
20 changed files with 85 additions and 57 deletions

View File

@ -11,7 +11,7 @@ namespace BankContracts.BindingModels.Client
public class CreditingBindingModel : ICreditingModel
{
public int Id { get; set; }
//вот насчет этого хз
public int ClientId { get; set; }
public int CardId { get; set; }

View File

@ -19,9 +19,8 @@ namespace BankContracts.SearchModels.Cashier
public DateTime? DateWithdrawal { get; set; }
public int? DebitingId { get; set; } // выдача ведь связана со снятием???
//выдача связана с заявкой на получение, вроде все верно, если что потом чекем
public int? DebitingId { get; set; }
public int? ClientId { get; set; } // А надо добавлять клиента
public int? ClientId { get; set; }
}
}

View File

@ -21,9 +21,9 @@ namespace BankContracts.SearchModels.Cashier
public int? Crediting { get; set; }
public int? ClientId { get; set; } // ТОТ ЖЕ НАСУЩНЫЙ ВОПРОС, А НАДО? тут у меня тоже вопрос , по идеи надо, потому что, как я понял можно перевод со счета на карту можно
public int? ClientId { get; set; }
// Навский случай типа два аккаунта, один отправитель, другой получатель
//это надо :)
public int? AccountSenderId { get; set; }
public int? AccountPayeeId { get; set; }

View File

@ -13,7 +13,7 @@ namespace BankContracts.SearchModels.Client
public int? CardId { get; set; }
public int? ClientId { get; set; } // ClientId будет лучше :) Возможно лишнюю фигню делаю и лучше ClientId
public int? ClientId { get; set; } // ClientId будет лучше :)
public int? Sum { get; set; }

View File

@ -25,7 +25,7 @@ namespace BankContracts.ViewModels
public double Balance { get; set; }
[DisplayName("Дата открытия")]
public DateTime DateOpen { get; set; } = DateTime.Now; // ИЛИ ТУТ СРОК ДЕЙСТВИЯ СЧЁТА???
public DateTime DateOpen { get; set; } = DateTime.Now; // ИЛИ ТУТ СРОК ДЕЙСТВИЯ СЧЁТА??? не, дата открытия
[DisplayName("Статус счёта")]
public StatusAccount StatusAccount { get; set; } = StatusAccount.Закрыт;

View File

@ -18,20 +18,19 @@ namespace BankContracts.ViewModels.Cashier.ViewModels
public int Id { get; set; }
public int DebitingId { get; set; }
public int AccountId { get; set; }
public int AccountId { get; set; }
// тут тоже вопрос, у нас операции не связаны ни со счетом ни с картами, поэтому это стоит обсудить
// тут тоже вопрос, у нас операции не связаны ни со счетом ни с картами, поэтому это стоит обсудить
// Хмм, ну свяжем, хотя бы со счётом, потому как это сущность твоего варианта, уже как минимум стоит
//[DisplayName("Номер счёта")]
//public string AccountNumber { get; set; } = string.Empty;
[DisplayName("Номер счёта")]
public string AccountNumber { get; set; } = string.Empty;
//для более правильной логики наверное надо
//[DisplayName("Кассир")]
//public string SurmaneCashier { get; set; } = string.Empty;
public int CashierId { get; set; }
//для более правильной логики наверное надо
//[DisplayName("Кассир")]
//public string SurmaneCashier { get; set; } = string.Empty;
public int CashierId { get; set; }
[DisplayName("Сумма выданных наличных")]
public double Sum { get; set; }

View File

@ -11,11 +11,6 @@ namespace BankContracts.ViewModels.Cashier.ViewModels
// Класс для отображения информации о переводах денег
public class MoneyTransferViewModel : IMoneyTransferModel
{
//как будет выглядеть перевод
//я понял, что надо модель доработать скорее всего, потому что мы же переводим не в пустоту , поэтому надо добавить кому и куда переводим
//хотя если судить по нашей бд, которую принял у нас Эгов не должно быть отправителя и получателя , да еще и номеров счета
// Однако по-хорошему лучше сделать, логично, что переводы могут быть, надо тз поизучать, пока что я добавил
public int Id { get; set; }
@ -23,14 +18,16 @@ namespace BankContracts.ViewModels.Cashier.ViewModels
public double Sum { get; set; }
// Для перевода между счетами
public int? AccountSenderId { get; set; }
[DisplayName("Номер счёта отп.")]
public int? AccountSenderId { get; set; }
public int AccountPayeeId { get; set; }
[DisplayName("Номер счёта получ.")]
public int AccountPayeeId { get; set; }
[DisplayName("Дата операции")]
public DateTime DateTransfer { get; set; } = DateTime.Now;
public int? CreditingId { get; }
public int? CreditingId { get; set; }
public int CashierId { get; set; }

View File

@ -16,6 +16,8 @@ namespace BankContracts.ViewModels.Client.ViewModels
public int ClientId { get; set; }
public int CardId { get; set; }
[DisplayName("Номер карты")]
public string? CardNumber { get; set; }
[DisplayName("Сумма операции")]
public double Sum { get; set; }

View File

@ -17,6 +17,9 @@ namespace BankContracts.ViewModels.Client.ViewModels
public int CardId { get; set; }
[DisplayName("Номер карты")]
public string CardNumber { get; set; } = string.Empty;
[DisplayName("Сумма операции")]
public double Sum { get; set; }

View File

@ -9,6 +9,7 @@ namespace BankDataModels.Models.Client
// Интерфейс, отвечающий за пополнение карты
public interface ICreditingModel : IId
{
int CardId { get; }
// Сумма на пополнение карты
double Sum { get; }

View File

@ -1,5 +1,5 @@
using BankDatabaseImplement.Models.Cashier;
using BankDatabaseImplement.Models.Client;
using BankDatabaseImplement.Models.CashierModels;
using BankDatabaseImplement.Models.ClientModels;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;

View File

@ -13,6 +13,7 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
</ItemGroup>
<ItemGroup>

View File

@ -1,4 +1,5 @@
using BankDataModels.Enums;
using BankDatabaseImplement.Models.ClientModels;
using BankDataModels.Enums;
using BankDataModels.Models.Cashier;
using System;
using System.Collections.Generic;
@ -8,7 +9,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BankDatabaseImplement.Models.Cashier.Cashier
namespace BankDatabaseImplement.Models.CashierModels
{
//реализация аккаунта
public class Account : IAccountModel

View File

@ -1,7 +1,7 @@
using BankContracts.BindingModels.Cashier;
using BankContracts.StoragesModels;
using BankContracts.ViewModels.Cashier.ViewModels;
using BankDatabaseImplement.Models.Client;
using BankDatabaseImplement.Models.ClientModels;
using BankDataModels.Models.Cashier;
using System;
using System.Collections.Generic;
@ -10,7 +10,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BankDatabaseImplement.Models.Cashier
namespace BankDatabaseImplement.Models.CashierModels
{
public class CashWithdrawal : ICashWithdrawalModel
{
@ -21,12 +21,12 @@ namespace BankDatabaseImplement.Models.Cashier
//для передачи номера заявки
public virtual Debiting Debiting { get; set; }
//я думаю нам стоит в пехе встретиться и обсудить наши модели, потому что реально странно, что наши операции не связаны с картами/счетами
//[Required]
//public int AccountId { get; set; }
//для передачи названия изделия
//public virtual Account Account { get; set; }
[Required]
public int AccountId { get; set; }
//для передачи номера счета
public virtual Account Account { get; set; }
[Required]
public int CashierId { get; set; }
@ -45,6 +45,8 @@ namespace BankDatabaseImplement.Models.Cashier
return new CashWithdrawal()
{
Id = model.Id,
AccountId = model.AccountId,
Account = context.Accounts.First(x => x.Id == model.AccountId),
DebitingId = model.DebitingId,
Debiting = context.Debitings.First(x => x.Id == model.DebitingId),
CashierId = model.CashierId,
@ -62,6 +64,7 @@ namespace BankDatabaseImplement.Models.Cashier
public CashWithdrawalViewModel GetViewModel => new()
{
Id = Id,
AccountId = AccountId,
CashierId = CashierId,
DebitingId = DebitingId,
Sum = Sum,

View File

@ -9,7 +9,7 @@ using BankContracts.ViewModels.Cashier.ViewModels;
using BankContracts.BindingModels.Cashier;
using BankDataModels.Models.Cashier;
namespace BankDatabaseImplement.Models.Cashier
namespace BankDatabaseImplement.Models.CashierModels
{
public class Cashier : ICashierModel
{

View File

@ -8,7 +8,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BankDatabaseImplement.Models.Cashier
namespace BankDatabaseImplement.Models.CashierModels
{
public class MoneyTransfer : IMoneyTransferModel
{
@ -25,10 +25,16 @@ namespace BankDatabaseImplement.Models.Cashier
[Required]
public DateTime DateTransfer { get; set; }
public int? CreditingId { get; set; }
public int CashierId { get; set; }
public virtual Cashier Cashier { get; set; }
public virtual Account AccountSender { get; set; }
public virtual Account AccountPayeer { get; set; }
public static MoneyTransfer Create(BankDatabase context, MoneyTransferBindingModel model)
{
return new MoneyTransfer()
@ -36,7 +42,12 @@ namespace BankDatabaseImplement.Models.Cashier
Id = model.Id,
Sum = model.Sum,
Cashier = context.Cashiers.First(x => x.Id == model.CashierId),
AccountSender = model.AccountSenderId == null ? null : context.Accounts.First(x => x.Id == model.AccountSenderId),
AccountPayeer = context.Accounts.First(x => x.Id == model.AccountPayeeId),
AccountSenderId = model.AccountSenderId,
AccountPayeeId = model.AccountPayeeId,
DateTransfer = model.DateTransfer,
CreditingId = model.CreditingId,
CashierId = model.CashierId
};
}
@ -50,8 +61,11 @@ namespace BankDatabaseImplement.Models.Cashier
public MoneyTransferViewModel GetViewModel => new()
{
Id = Id,
AccountPayeeId = AccountPayeeId,
AccountSenderId = AccountSenderId,
DateTransfer = DateTransfer,
Sum = Sum,
CreditingId = CreditingId,
CashierId = CashierId,
CashierSurname = Cashier.Surname
};

View File

@ -1,5 +1,6 @@
using BankContracts.BindingModels.Client;
using BankContracts.ViewModels.Client.ViewModels;
using BankDatabaseImplement.Models.CashierModels;
using BankDataModels.Enums;
using BankDataModels.Models.Client;
using System;
@ -11,7 +12,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BankDatabaseImplement.Models.Client.Client
namespace BankDatabaseImplement.Models.ClientModels
{
public class Card : ICardModel
{
@ -42,11 +43,11 @@ namespace BankDatabaseImplement.Models.Client.Client
[Required]
public string? ClientSurname { get; set; }
//[ForeignKey("CardId")]
//public virtual List<Crediting> Creditings { get; set; } = new();
[ForeignKey("Cardid")]
public virtual List<Crediting> creditings { get; set; } = new();
//[ForeignKey("CardId")]
//public virtual List<Debiting> Debitings { get; set; } = new();
[ForeignKey("Cardid")]
public virtual List<Debiting> debitings { get; set; } = new();
public CardViewModel GetViewModel => new()
{

View File

@ -9,7 +9,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BankDatabaseImplement.Models.Client
namespace BankDatabaseImplement.Models.ClientModels
{
public class Client : IClientModel
{

View File

@ -7,20 +7,21 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BankContracts.BindingModels.Client;
using BankDatabaseImplement.Models.Cashier;
using BankDataModels.Models.Client;
using BankDatabaseImplement.Models.CashierModels;
namespace BankDatabaseImplement.Models.Client
namespace BankDatabaseImplement.Models.ClientModels
{
public class Crediting : ICreditingModel
{
public int Id { get; set; }
[Required]
public int ClientId { get; set; }
public int CardId { get; set; }
//это надо будет, если
//public virtual Card Card { get; set; }
public virtual Card Card { get; set; }
public int ClientId { get; set; }
[Required]
public double Sum { get; set; }
@ -35,7 +36,8 @@ namespace BankDatabaseImplement.Models.Client
public CreditingViewModel GetViewModel => new()
{
Id = Id,
ClientId = ClientId,
CardId = CardId,
CardNumber = Card.Number,
Sum = Sum,
DateCredit = DateCredit,
};
@ -45,8 +47,8 @@ namespace BankDatabaseImplement.Models.Client
return new Crediting()
{
Id = model.Id,
ClientId = model.ClientId,
CardId = model.CardId,
Card = context.Cards.First(x => x.Id == model.CardId),
Sum = model.Sum,
DateCredit = model.DateCredit,
};

View File

@ -8,15 +8,17 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BankDatabaseImplement.Models.Client
namespace BankDatabaseImplement.Models.ClientModels
{
public class Debiting : IDebitingModel
{
//реализация операции на пополнение
public int Id { get; set; }
[Required]
public int ClientId { get; set; }
public virtual Client Client { get; set; }
public int CardId { get; set; }
public virtual Card Card { get; set; }
[Required]
public double Sum { get; set; }
[Required]
@ -25,9 +27,11 @@ namespace BankDatabaseImplement.Models.Client
public DebitingViewModel GetViewModel => new()
{
Id = Id,
ClientId = ClientId,
CardId = CardId,
CardNumber = Card.Number,
Sum = Sum,
DateDebit = DateDebit,
};
public static Debiting Create(BankDatabase context, DebitingBindingModel model)
@ -35,7 +39,8 @@ namespace BankDatabaseImplement.Models.Client
return new Debiting()
{
Id = model.Id,
ClientId = model.ClientId,
CardId = model.CardId,
Card = context.Cards.First(x => x.Id == model.CardId),
Sum = model.Sum,
DateDebit = model.DateDebit,
};