Merge branch 'main' of http://student.git.athene.tech/shadowik/CourseWork_BankYouBankrupt
This commit is contained in:
commit
663f0122eb
@ -82,17 +82,17 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!model.CreditingId.HasValue)
|
||||
//проверка на то, что это зачисление на карту, а не перевод между счетами
|
||||
if (model.CreditingId.HasValue)
|
||||
{
|
||||
throw new Exception();
|
||||
}
|
||||
_creditingStorage.Update(new CreditingBindingModel
|
||||
{
|
||||
Id = model.CreditingId.Value,
|
||||
DateClose = DateTime.Now,
|
||||
Status = StatusEnum.Закрыта
|
||||
});
|
||||
|
||||
_creditingStorage.Update(new CreditingBindingModel
|
||||
{
|
||||
Id = model.CreditingId.Value,
|
||||
DateClose = DateTime.Now,
|
||||
Status = StatusEnum.Закрыта
|
||||
});
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -148,16 +148,21 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
|
||||
//открытие счёта. Получаем и передаём список изделий во вьюху?
|
||||
[HttpGet]
|
||||
public IActionResult Create()
|
||||
public IActionResult CreateAccount()
|
||||
{
|
||||
ViewBag.Clients = APICashier.GetRequest<List<ClientViewModel>>("/api/Client/GetAllClients");
|
||||
//запрашиваем список в формате вспомогательной вьюшки из-за работы select в asp net
|
||||
ViewBag.Clients = APICashier.GetRequest<List<ClientViewModel>>($"/api/Client/GetAllClients").Select(x => new ClientSelectViewModel
|
||||
{
|
||||
Id = x.Id,
|
||||
FullName = x.Surname + " " + x.Name + " " + x.Patronymic
|
||||
}).ToList();
|
||||
|
||||
return View();
|
||||
}
|
||||
return View();
|
||||
}
|
||||
|
||||
//создание заказа Post-запросом
|
||||
[HttpPost]
|
||||
public void Create(int clientId, string accountNumber, string password, int balance)
|
||||
public void CreateAccount(int clientId, string accountNumber, string password, int balance)
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
{
|
||||
@ -249,30 +254,20 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
return View(APICashier.GetRequest<List<CreditingViewModel>>($"/api/Account/FindOpenCrediting"));
|
||||
}
|
||||
|
||||
//для страницы "Переводы"
|
||||
[HttpGet]
|
||||
public IActionResult MoneyTransfers()
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
{
|
||||
throw new Exception("Вы как сюда попали? Суда вход только авторизованным");
|
||||
}
|
||||
|
||||
return View(APICashier.GetRequest<List<DebitingViewModel>>($"/api/Account/FindOpenDebiting"));
|
||||
}
|
||||
|
||||
//открытие вьюхи одобрения заявки на зачисление
|
||||
[HttpGet]
|
||||
public IActionResult CloseCrediting()
|
||||
{
|
||||
ViewBag.Creditings = APICashier.GetRequest<List<CreditingViewModel>>("/api/Account/FindOpenCrediting");
|
||||
|
||||
ViewBag.Accounts = APICashier.GetRequest<List<AccountViewModel>>("/api/Account/GetAllAccounts");
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
//одобрения заявки на зачисление Post-запросом
|
||||
[HttpPost]
|
||||
public void CloseCrediting(int creditingId)
|
||||
public void CloseCrediting(int creditingId, int accountPayeeId)
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
{
|
||||
@ -284,8 +279,13 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
throw new Exception("Некорректный номер заявки на зачисление");
|
||||
}
|
||||
|
||||
//получаем необходимые данные для запроса
|
||||
APICashier.Crediting = APICashier.GetRequest<CreditingViewModel>($"/api/Account/FindCrediting?id={creditingId}");
|
||||
if (accountPayeeId < 0)
|
||||
{
|
||||
throw new Exception("Некорректный id счёта для зацисления средств");
|
||||
}
|
||||
|
||||
//получаем необходимые данные для запроса
|
||||
APICashier.Crediting = APICashier.GetRequest<CreditingViewModel>($"/api/Account/FindCrediting?id={creditingId}");
|
||||
|
||||
APICashier.Card = APICashier.GetRequest<CardViewModel>($"/api/Card/FindCard?id={APICashier.Crediting.CardId}");
|
||||
|
||||
@ -294,7 +294,7 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
CashierId = APICashier.Cashier.Id,
|
||||
CreditingId = creditingId,
|
||||
Sum = APICashier.Crediting.Sum,
|
||||
AccountPayeeId = APICashier.Card.AccountId
|
||||
AccountPayeeId = accountPayeeId
|
||||
});
|
||||
|
||||
//очистка данных
|
||||
@ -310,12 +310,14 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
{
|
||||
ViewBag.Debitings = APICashier.GetRequest<List<DebitingViewModel>>("/api/Account/FindOpenDebiting");
|
||||
|
||||
ViewBag.Accounts = APICashier.GetRequest<List<AccountViewModel>>("/api/Account/GetAllAccounts");
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
//одобрения заявки на снятие Post-запросом
|
||||
[HttpPost]
|
||||
public void CloseDebiting(int debitingId)
|
||||
public void CloseDebiting(int debitingId, int accountId)
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
{
|
||||
@ -327,6 +329,11 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
throw new Exception("Некорректный номер заявки на снятие");
|
||||
}
|
||||
|
||||
if (accountId < 0)
|
||||
{
|
||||
throw new Exception("Некорректный номер заявки на снятие");
|
||||
}
|
||||
|
||||
//получаем необходимые данные для запроса
|
||||
APICashier.Debiting = APICashier.GetRequest<DebitingViewModel>($"/api/Account/FindDebiting?id={debitingId}");
|
||||
|
||||
@ -337,10 +344,78 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
CashierId = APICashier.Cashier.Id,
|
||||
DebitingId = debitingId,
|
||||
Sum = APICashier.Debiting.Sum,
|
||||
AccountId = APICashier.Card.AccountId
|
||||
AccountId = accountId
|
||||
});
|
||||
|
||||
APICashier.Debiting = null;
|
||||
APICashier.Card = null;
|
||||
|
||||
Response.Redirect("Debiting");
|
||||
}
|
||||
|
||||
//получение номера запрашиваемого счёта для снятия
|
||||
[HttpPost]
|
||||
public string GetAccountNumber(int id)
|
||||
{
|
||||
APICashier.Debiting = APICashier.GetRequest<DebitingViewModel>($"/api/Account/FindDebiting?id={id}");
|
||||
|
||||
APICashier.Crediting = APICashier.GetRequest<CreditingViewModel>($"/api/Account/FindDebiting?id={id}");
|
||||
|
||||
if(APICashier.Debiting == null)
|
||||
{
|
||||
APICashier.Card = APICashier.GetRequest<CardViewModel>($"/api/Card/FindCard?id={APICashier.Crediting.CardId}");
|
||||
}
|
||||
else
|
||||
{
|
||||
APICashier.Card = APICashier.GetRequest<CardViewModel>($"/api/Card/FindCard?id={APICashier.Debiting.CardId}");
|
||||
}
|
||||
|
||||
APICashier.Account = APICashier.GetRequest<AccountViewModel>($"/api/Account/GetAccount?accountId={APICashier.Card.AccountId}");
|
||||
|
||||
string AccountNumber = APICashier.Account.AccountNumber;
|
||||
|
||||
APICashier.Debiting = null;
|
||||
APICashier.Card = null;
|
||||
APICashier.Account = null;
|
||||
|
||||
return AccountNumber;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult MoneyTransfers()
|
||||
{
|
||||
ViewBag.Accounts = APICashier.GetRequest<List<AccountViewModel>>("/api/Account/GetAllAccounts");
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public void MoneyTransfers(int accountSenderId, int accountPayeeId, int sumMoneyTransfer)
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
{
|
||||
throw new Exception("Вы как сюда попали? Суда вход только авторизованным");
|
||||
}
|
||||
|
||||
if (accountSenderId < 0)
|
||||
{
|
||||
throw new Exception("Некорректный id счёта отправителя");
|
||||
}
|
||||
|
||||
if (accountPayeeId < 0)
|
||||
{
|
||||
throw new Exception("Некорректный id счёта получателя");
|
||||
}
|
||||
|
||||
APICashier.PostRequest("/api/Account/CloseCrediting", new MoneyTransferBindingModel
|
||||
{
|
||||
CashierId = APICashier.Cashier.Id,
|
||||
Sum = sumMoneyTransfer,
|
||||
AccountPayeeId = accountPayeeId,
|
||||
AccountSenderId = accountSenderId
|
||||
});
|
||||
|
||||
Response.Redirect("Index");
|
||||
}
|
||||
}
|
||||
}
|
@ -9,7 +9,23 @@
|
||||
<div class="row">
|
||||
<div class="col-4">Номер запроса на зачисление:</div>
|
||||
<div class="col-8">
|
||||
<select id="creditig" name="creditingId" class="form-control" asp-items="@(new SelectList( @ViewBag.Creditings, "Id", "Id"))"></select>
|
||||
<select id="creditigId" name="creditingId" class="form-control" asp-items="@(new SelectList( @ViewBag.Creditings, "Id", "Id"))">
|
||||
<option disabled selected>Выберите запрос</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Запрашиваемый счёт для зачисления:</div>
|
||||
<div class="col-8">
|
||||
<input type="text" id="accountNumber" name="accountNumber" readonly />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Номер счёта для зачисления:</div>
|
||||
<div class="col-8">
|
||||
<select id="accountPayeeId" name="accountPayeeId" class="form-control" asp-items="@(new SelectList( @ViewBag.Accounts, "Id", "AccountNumber"))">
|
||||
<option disabled selected>Выберите счёт</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@ -18,4 +34,23 @@
|
||||
<input type="submit" value="Начислить" class="btn btn-primary" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
|
||||
<!-- подгрузка номера запрашиваемого клиентом счёта в реальном времени -->
|
||||
<script>
|
||||
$('#creditigId').on('change', function () {
|
||||
check();
|
||||
});
|
||||
|
||||
function check() {
|
||||
var creditigId = $('#creditigId').val();
|
||||
$.ajax({
|
||||
method: "Post",
|
||||
url: "/Home/GetAccountNumber",
|
||||
data: { id: creditigId },
|
||||
success: function (result) {
|
||||
$("#accountNumber").val(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
@ -9,7 +9,23 @@
|
||||
<div class="row">
|
||||
<div class="col-4">Номер запроса на снятие:</div>
|
||||
<div class="col-8">
|
||||
<select id="creditig" name="debitingId" class="form-control" asp-items="@(new SelectList( @ViewBag.Debitings, "Id", "Id"))"></select>
|
||||
<select id="debitingId" name="debitingId" class="form-control" asp-items="@(new SelectList( @ViewBag.Debitings, "Id", "Id"))">
|
||||
<option disabled selected>Выберите запрос</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Запрашиваемый счёт для перевода:</div>
|
||||
<div class="col-8">
|
||||
<input type="text" id="accountNumber" name="accountNumber" readonly />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Номер счёта для снятия:</div>
|
||||
<div class="col-8">
|
||||
<select id="accountId" name="accountId" class="form-control" asp-items="@(new SelectList( @ViewBag.Accounts, "Id", "AccountNumber"))">
|
||||
<option disabled selected>Выберите счёт</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@ -18,4 +34,23 @@
|
||||
<input type="submit" value="Снять" class="btn btn-primary" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
|
||||
<!-- подгрузка номера запрашиваемого клиентом счёта в реальном времени -->
|
||||
<script>
|
||||
$('#debitingId').on('change', function () {
|
||||
check();
|
||||
});
|
||||
|
||||
function check() {
|
||||
var debitingId = $('#debitingId').val();
|
||||
$.ajax({
|
||||
method: "Post",
|
||||
url: "/Home/GetAccountNumber",
|
||||
data: { id: debitingId },
|
||||
success: function (result) {
|
||||
$("#accountNumber").val(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
@ -1,5 +1,5 @@
|
||||
@{
|
||||
ViewData["Title"] = "Create";
|
||||
ViewData["Title"] = "Открытие счёта";
|
||||
}
|
||||
|
||||
<div class="text-center">
|
||||
@ -9,7 +9,7 @@
|
||||
<div class="row">
|
||||
<div class="col-4">Клиент:</div>
|
||||
<div class="col-8">
|
||||
<select id="client" name="clientId" class="form-control" asp-items="@(new SelectList( @ViewBag.Clients, "Id", "Surname"))"></select>
|
||||
<select id="client" name="clientId" class="form-control" asp-items="@(new SelectList( @ViewBag.Clients, "Id", "FullName"))"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
@ -1,5 +1,5 @@
|
||||
@{
|
||||
ViewData["Title"] = "CreateReport";
|
||||
ViewData["Title"] = "Создание отчёта";
|
||||
}
|
||||
|
||||
<div class="text-center">
|
||||
|
@ -1,5 +1,5 @@
|
||||
@{
|
||||
ViewData["Title"] = "Вход";
|
||||
ViewData["Title"] = "Авторизация";
|
||||
}
|
||||
|
||||
<div class="text-center">
|
||||
|
@ -18,7 +18,7 @@
|
||||
return;
|
||||
}
|
||||
<p>
|
||||
<a asp-action="Create">Открыть счёт</a>
|
||||
<a asp-action="CreateAccount">Открыть счёт</a>
|
||||
</p>
|
||||
<table class="table">
|
||||
<thead>
|
||||
|
@ -0,0 +1,37 @@
|
||||
@{
|
||||
ViewData["Title"] = "Переводы меджу счетами";
|
||||
}
|
||||
|
||||
<div class="text-center">
|
||||
<h2 class="display-4">Перевод меджу счетами</h2>
|
||||
</div>
|
||||
<form method="post">
|
||||
<div class="row">
|
||||
<div class="col-4">Номер счёта для снятия:</div>
|
||||
<div class="col-8">
|
||||
<select id="accountSenderId" name="accountSenderId" class="form-control" asp-items="@(new SelectList( @ViewBag.Accounts, "Id", "AccountNumber"))">
|
||||
<option disabled selected>Выберите счёт</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Номер счёта для начисления:</div>
|
||||
<div class="col-8">
|
||||
<select id="accountPayeeId" name="accountPayeeId" class="form-control" asp-items="@(new SelectList( @ViewBag.Accounts, "Id", "AccountNumber"))">
|
||||
<option disabled selected>Выберите счёт</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Сумма перевода:</div>
|
||||
<div class="col-8">
|
||||
<input type="text" id="sumMoneyTransfer" name="sumMoneyTransfer" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-8"></div>
|
||||
<div class="col-4">
|
||||
<input type="submit" value="Перевести" class="btn btn-primary" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
@ -210,7 +210,7 @@ namespace BankYouBankruptClientApp.Controllers
|
||||
}
|
||||
|
||||
|
||||
ViewBag.Cards = APIClient.GetRequest<List<CardViewModel>>($"api/Card/GetAllCards").Select(x => new ClientCardViewModel
|
||||
ViewBag.Cards = APIClient.GetRequest<List<CardViewModel>>($"api/Card/GetAllCards").Select(x => new ClientSelectViewModel
|
||||
{
|
||||
Id = x.Id,
|
||||
FullName = x.ClientSurname + " " +x.Number.ToString()
|
||||
|
@ -3,7 +3,7 @@
|
||||
@model List<CardViewModel>
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Home Page";
|
||||
ViewData["Title"] = "Список карт";
|
||||
}
|
||||
|
||||
<div class="text-center">
|
||||
|
@ -8,7 +8,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace BankYouBankruptContracts.ViewModels
|
||||
{
|
||||
public class ClientCardViewModel
|
||||
public class ClientSelectViewModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
@ -71,6 +71,24 @@ namespace BankYouBankruptRestApi.Controllers
|
||||
}
|
||||
}
|
||||
|
||||
//получаем все имеющиеся счета
|
||||
[HttpGet]
|
||||
public AccountViewModel? GetAccount(int accountId)
|
||||
{
|
||||
try
|
||||
{
|
||||
return _accountLogic.ReadElement(new AccountSearchModel
|
||||
{
|
||||
Id = accountId
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Ошибка входа в систему");
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public void Register(AccountBindingModel model)
|
||||
{
|
||||
@ -205,7 +223,7 @@ namespace BankYouBankruptRestApi.Controllers
|
||||
|
||||
bool flag = true;
|
||||
|
||||
//если нет отправителя, т. е. операция на перевод денег из нала в виртуал на карту
|
||||
//если есть отправитель, т. е. операция на перевод денег со счёта на счёт
|
||||
if (moneyTransfer.AccountSenderId.HasValue)
|
||||
{
|
||||
flag = _accountLogic.ChangeBalance(new AccountSearchModel
|
||||
|
Loading…
Reference in New Issue
Block a user