Cashier. Stress test completed.

This commit is contained in:
Programmist73 2023-05-20 07:00:34 +04:00
parent 27a37b1d3e
commit 425266b4fa

View File

@ -95,27 +95,32 @@ namespace BankYouBankruptCashierApp.Controllers
[HttpPost]
public void Login(string login, string password)
public IActionResult Login(string login, string password)
{
if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password))
{
throw new Exception("Введите логин и пароль");
}
APICashier.SetErrorMessage("Необходимо заполнить оба поля");
return Redirect("ErrorPage");
}
APICashier.Cashier = APICashier.GetRequest<CashierViewModel>($"api/Cashier/Login?login={login}&password={password}");
if (APICashier.Cashier == null)
{
throw new Exception("Неверный логин/пароль");
}
if (APICashier.Cashier == null)
{
APICashier.SetErrorMessage("Неверный логин или пароль");
Response.Redirect("Enter");
return Redirect("ErrorPage");
}
return Redirect("Enter");
}
[HttpPost]
public IActionResult Logout()
{
APICashier.Cashier = null;
return Redirect("Enter");
}
#endregion
@ -162,12 +167,14 @@ namespace BankYouBankruptCashierApp.Controllers
APICashier.Cashier = APICashier.GetRequest<CashierViewModel>($"/api/Cashier/Login?login={login}&password={password}");
if (APICashier.Cashier == null)
{
throw new Exception("Неверный логин/пароль");
}
if (APICashier.Cashier == null)
{
APICashier.SetErrorMessage("Неверный логин или пароль");
return Redirect("Index");
return Redirect("ErrorPage");
}
return Redirect("Index");
}
#endregion
@ -191,7 +198,7 @@ namespace BankYouBankruptCashierApp.Controllers
throw new Exception("Введите логин, пароль, ФИО и телефон");
}
APICashier.PostRequest("/api/Cashier/Register", new CashierBindingModel
APICashier.PostRequest("/api/Cashier/Register", new CashierBindingModel
{
Name = name,
Surname = surname,
@ -232,26 +239,20 @@ namespace BankYouBankruptCashierApp.Controllers
//создание заказа Post-запросом
[HttpPost]
public void CreateAccount(int clientId, string accountNumber, string password, int balance)
public IActionResult CreateAccount(int clientId, string accountNumber, string password, int balance)
{
if (APICashier.Cashier == null)
{
throw new Exception("Вы как сюда попали? Суда вход только авторизованным");
}
APICashier.SetErrorMessage("Необходимо авторизоваться");
if (clientId <= 0)
{
throw new Exception("Некоректный ID клиента!");
}
if (string.IsNullOrEmpty(accountNumber) && accountNumber.Length < 8)
{
throw new Exception("Некорректный номер счёта");
return Redirect("ErrorPage");
}
if (string.IsNullOrEmpty(password) && password.Length < 6)
if (clientId <= 0 || string.IsNullOrEmpty(accountNumber) || string.IsNullOrEmpty(password) || balance < 0)
{
throw new Exception("Некорректный пароль");
APICashier.SetErrorMessage("Проверьте корректность вводимых данных");
return Redirect("ErrorPage");
}
APICashier.PostRequest("/api/Account/Register", new AccountBindingModel
@ -264,7 +265,7 @@ namespace BankYouBankruptCashierApp.Controllers
DateOpen = DateTime.Now
});
Response.Redirect("Index");
return Redirect("Index");
}
#endregion
@ -277,7 +278,9 @@ namespace BankYouBankruptCashierApp.Controllers
{
if (APICashier.Cashier == null)
{
throw new Exception("Вы как сюда попали? Суда вход только авторизованным");
APICashier.SetErrorMessage("Необходимо авторизоваться");
Response.Redirect("ErrorPage");
}
return View(APICashier.GetRequest<List<CreditingViewModel>>($"/api/Account/FindOpenCrediting"));
@ -301,21 +304,20 @@ namespace BankYouBankruptCashierApp.Controllers
//одобрения заявки на зачисление Post-запросом
[HttpPost]
public void CloseCrediting(int creditingId, int accountPayeeId)
public IActionResult CloseCrediting(int creditingId, int accountPayeeId)
{
if (APICashier.Cashier == null)
{
throw new Exception("Вы как сюда попали? Суда вход только авторизованным");
APICashier.SetErrorMessage("Необходимо авторизоваться");
return Redirect("ErrorPage");
}
if(creditingId < 0)
{
throw new Exception("Некорректный номер заявки на зачисление");
}
if (accountPayeeId < 0)
if (creditingId <= 0 || accountPayeeId <= 0)
{
throw new Exception("Некорректный id счёта для зацисления средств");
APICashier.SetErrorMessage("Проверьте коректность передавваемых значений");
return Redirect("ErrorPage");
}
//получаем необходимые данные для запроса
@ -335,7 +337,7 @@ namespace BankYouBankruptCashierApp.Controllers
APICashier.Crediting = null;
APICashier.Card = null;
Response.Redirect("Crediting");
return Redirect("Crediting");
}
#endregion
@ -348,9 +350,12 @@ namespace BankYouBankruptCashierApp.Controllers
{
if (APICashier.Cashier == null)
{
throw new Exception("Вы как сюда попали? Суда вход только авторизованным");
APICashier.SetErrorMessage("Необходимо авторизоваться");
Response.Redirect("ErrorPage");
}
return View(APICashier.GetRequest<List<DebitingViewModel>>($"/api/Account/FindOpenDebiting"));
}
@ -358,12 +363,15 @@ namespace BankYouBankruptCashierApp.Controllers
[HttpGet]
public IActionResult CloseDebiting()
{
if (APICashier.Cashier == null)
{
return Redirect("~/Home/Enter");
}
if (APICashier.Cashier == null)
{
APICashier.SetErrorMessage("Необходимо авторизоваться");
ViewBag.Debitings = APICashier.GetRequest<List<DebitingViewModel>>("/api/Account/FindOpenDebiting");
Response.Redirect("ErrorPage");
}
ViewBag.Debitings = APICashier.GetRequest<List<DebitingViewModel>>("/api/Account/FindOpenDebiting");
ViewBag.Accounts = APICashier.GetRequest<List<AccountViewModel>>("/api/Account/GetAllAccounts");
@ -372,21 +380,20 @@ namespace BankYouBankruptCashierApp.Controllers
//одобрения заявки на снятие Post-запросом
[HttpPost]
public void CloseDebiting(int debitingId, int accountId)
public IActionResult CloseDebiting(int debitingId, int accountId)
{
if (APICashier.Cashier == null)
{
throw new Exception("Вы как сюда попали? Суда вход только авторизованным");
APICashier.SetErrorMessage("Необходимо авторизоваться");
return Redirect("ErrorPage");
}
if (debitingId < 0)
if (debitingId <= 0 || accountId <= 0)
{
throw new Exception("Некорректный номер заявки на снятие");
}
APICashier.SetErrorMessage("Проверьте корректность передаваемых значений");
if (accountId < 0)
{
throw new Exception("Некорректный номер заявки на снятие");
return Redirect("ErrorPage");
}
//получаем необходимые данные для запроса
@ -405,7 +412,7 @@ namespace BankYouBankruptCashierApp.Controllers
APICashier.Debiting = null;
APICashier.Card = null;
Response.Redirect("Debiting");
return Redirect("Debiting");
}
#endregion
@ -414,12 +421,14 @@ namespace BankYouBankruptCashierApp.Controllers
[HttpPost]
public string GetAccountNumber(int id)
{
if (APICashier.Cashier == null)
{
throw new Exception("Вы как сюда попали? Суда вход только авторизованным");
}
if (APICashier.Cashier == null)
{
APICashier.SetErrorMessage("Необходимо авторизоваться");
APICashier.Debiting = APICashier.GetRequest<DebitingViewModel>($"/api/Account/FindDebiting?id={id}");
Response.Redirect("ErrorPage");
}
APICashier.Debiting = APICashier.GetRequest<DebitingViewModel>($"/api/Account/FindDebiting?id={id}");
APICashier.Crediting = APICashier.GetRequest<CreditingViewModel>($"/api/Account/FindDebiting?id={id}");
@ -459,21 +468,20 @@ namespace BankYouBankruptCashierApp.Controllers
}
[HttpPost]
public void MoneyTransfers(int accountSenderId, int accountPayeeId, int sumMoneyTransfer)
public IActionResult MoneyTransfers(int accountSenderId, int accountPayeeId, int sumMoneyTransfer)
{
if (APICashier.Cashier == null)
{
throw new Exception("Вы как сюда попали? Суда вход только авторизованным");
APICashier.SetErrorMessage("Необходимо авторизоваться");
return Redirect("ErrorPage");
}
if (accountSenderId < 0)
if (accountPayeeId <= 0 || accountSenderId <= 0 || sumMoneyTransfer <= 0)
{
throw new Exception("Некорректный id счёта отправителя");
}
APICashier.SetErrorMessage("Проверьте корректность передаваемых значений");
if (accountPayeeId < 0)
{
throw new Exception("Некорректный id счёта получателя");
return Redirect("ErrorPage");
}
APICashier.PostRequest("/api/Account/CloseCrediting", new MoneyTransferBindingModel
@ -484,7 +492,7 @@ namespace BankYouBankruptCashierApp.Controllers
AccountSenderId = accountSenderId
});
Response.Redirect("Index");
return Redirect("Index");
}
#endregion
@ -510,7 +518,16 @@ namespace BankYouBankruptCashierApp.Controllers
{
if (APICashier.Cashier == null)
{
throw new Exception("Не авторизованы");
APICashier.SetErrorMessage("Необходимо авторизоваться");
return Redirect("ErrorPage");
}
if (string.IsNullOrEmpty(accountId))
{
APICashier.SetErrorMessage("Необходимо выбрать счёт для создания отчёта");
return Redirect("ErrorPage");
}
APICashier.PostRequest("api/Report/CreateExcelCashier", new ReportSupportBindingModel()
@ -528,7 +545,16 @@ namespace BankYouBankruptCashierApp.Controllers
{
if (APICashier.Cashier == null)
{
throw new Exception("Не авторизованы");
APICashier.SetErrorMessage("Необходимо авторизоваться");
return Redirect("ErrorPage");
}
if (string.IsNullOrEmpty(accountId))
{
APICashier.SetErrorMessage("Необходимо выбрать счёт для создания отчёта");
return Redirect("ErrorPage");
}
APICashier.PostRequest("api/Report/CreateWordCashier", new ReportSupportBindingModel()
@ -543,12 +569,21 @@ namespace BankYouBankruptCashierApp.Controllers
[HttpPost]
public IActionResult ReportWithAccounts(string accountId)
{
if (APICashier.Cashier == null)
{
return Redirect("ReportSuccess");
}
if (APICashier.Cashier == null)
{
APICashier.SetErrorMessage("Необходимо авторизоваться");
ViewBag.Accounts = APICashier.GetRequest<List<AccountViewModel>>("/api/Account/GetAllAccounts");
return Redirect("ErrorPage");
}
if (string.IsNullOrEmpty(accountId))
{
APICashier.SetErrorMessage("Необходимо выбрать счёт для создания отчёта");
return Redirect("ErrorPage");
}
ViewBag.Accounts = APICashier.GetRequest<List<AccountViewModel>>("/api/Account/GetAllAccounts");
var cashWithdrawals = APICashier.GetRequest<List<CashWithdrawalViewModel>>("api/Account/FindAllCashWithdrawal").Where(x => x.AccountId == int.Parse(accountId))
.Select(x => new ReportCashierAccountsViewModel
{
@ -600,7 +635,16 @@ namespace BankYouBankruptCashierApp.Controllers
{
if (APICashier.Cashier == null)
{
throw new Exception("Не авторизованы");
APICashier.SetErrorMessage("Необходимо авторизоваться");
return Redirect("ErrorPage");
}
if (clientId <= 0 || dateFrom == dateTo || dateFrom > dateTo || dateFrom.Year == 0001 || dateTo.Year == 0001)
{
APICashier.SetErrorMessage("Пожалуйста, установите корректные границы периода для отчёта и выберите счёт");
return Redirect("ErrorPage");
}
//запрашиваем список в формате вспомогательной вьюшки из-за работы select в asp net
@ -633,7 +677,6 @@ namespace BankYouBankruptCashierApp.Controllers
ViewBag.Accounts = APICashier.GetRequest<List<AccountViewModel>>($"api/Account/GetAllAccounts");
return View();
}
@ -645,7 +688,14 @@ namespace BankYouBankruptCashierApp.Controllers
return Redirect("~/Home/Enter");
}
ViewBag.Accounts = APICashier.GetRequest<List<AccountViewModel>>($"api/Account/GetAllAccounts");
if (accountId <= 0)
{
APICashier.SetErrorMessage("Для построения диаграммы необходимо выбрать счёт");
return Redirect("ErrorPage");
}
ViewBag.Accounts = APICashier.GetRequest<List<AccountViewModel>>($"api/Account/GetAllAccounts");
return View(new CashierDiagramViewModel()
@ -660,11 +710,14 @@ namespace BankYouBankruptCashierApp.Controllers
[HttpGet]
public IActionResult ReportSuccess()
{
if (APICashier.Cashier == null)
{
throw new Exception("Не авторизованы");
}
return View();
if (APICashier.Cashier == null)
{
APICashier.SetErrorMessage("Необходимо авторизоваться");
Response.Redirect("ErrorPage");
}
return View();
}
}
}