Stage 11: ClientApp (Доработал HomeController, есть комменты, надо доделать)
This commit is contained in:
parent
47f20b530b
commit
9e270387b6
@ -60,7 +60,7 @@ namespace BankClientApp
|
||||
}
|
||||
|
||||
// Post-запрос для получения данных
|
||||
public static T? PostRequetReport<T, U>(string requestUrl, U model)
|
||||
public static T? PostRequestReport<T, U>(string requestUrl, U model)
|
||||
{
|
||||
var json = JsonConvert.SerializeObject(model);
|
||||
var data = new StringContent(json, Encoding.UTF8, "application/json");
|
||||
|
@ -1,4 +1,12 @@
|
||||
using BankClientApp.Models;
|
||||
using BankContracts.BindingModels.Client;
|
||||
using BankContracts.BindingModels.Reports;
|
||||
using BankContracts.ViewModels;
|
||||
using BankContracts.ViewModels.Client.Diagram;
|
||||
using BankContracts.ViewModels.Client.ViewModels;
|
||||
using BankContracts.ViewModels.Reports;
|
||||
using BankContracts.ViewModels.Reports.Client;
|
||||
using BankDataModels.Enums;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Diagnostics;
|
||||
|
||||
@ -13,70 +21,631 @@ namespace BankClientApp.Controllers
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
// Профиль, вход и регистрация
|
||||
public IActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
public IActionResult Privacy()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult Enter()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
||||
public IActionResult Error()
|
||||
{
|
||||
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult ErrorPage()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
// Логин и регистрация
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult Login()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult Login(string login, string password)
|
||||
{
|
||||
if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password))
|
||||
{
|
||||
APIClient.SetErrorMessage("Введите логин и пароль");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
APIClient.Client = APIClient.GetRequest<ClientViewModel>($"api/Client/Logn?login={login}&password={password}");
|
||||
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
APIClient.SetErrorMessage("Неверный логин и пароль");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
return Redirect("Enter");
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult Register()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public void Register(string login, string password, string name, string surname, string patronymic, string mobilephone)
|
||||
{
|
||||
if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(name)
|
||||
|| string.IsNullOrEmpty(surname) || string.IsNullOrEmpty(patronymic) || string.IsNullOrEmpty(mobilephone))
|
||||
{
|
||||
APIClient.SetErrorMessage("Проверьте правильность заполнения полей");
|
||||
|
||||
Response.Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
APIClient.PostRequest("api/Client/Register", new ClientBindingModel
|
||||
{
|
||||
Name = name,
|
||||
Surname = surname,
|
||||
Patronymic = patronymic,
|
||||
Email = login,
|
||||
Password = password,
|
||||
MobilePhone = mobilephone
|
||||
});
|
||||
|
||||
Response.Redirect("Enter");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult Logout()
|
||||
{
|
||||
APIClient.Client = null;
|
||||
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
|
||||
public IActionResult Privacy()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
|
||||
return View(APIClient.Client);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public void Privacy(string login, string password, string name, string surname, string patronymic, string mobilephone)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
throw new Exception("Вы как сюда попали? Сюда вход только авторизованным");
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(name)
|
||||
|| string.IsNullOrEmpty(surname) || string.IsNullOrEmpty(patronymic) || string.IsNullOrEmpty(mobilephone))
|
||||
{
|
||||
APIClient.SetErrorMessage("Проверьте правильность заполнения полей");
|
||||
|
||||
Response.Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
APIClient.PostRequest("/api/Client/UpdateData", new ClientBindingModel
|
||||
{
|
||||
Id = APIClient.Client.Id,
|
||||
Name = name,
|
||||
Surname = surname,
|
||||
Patronymic = patronymic,
|
||||
MobilePhone = mobilephone,
|
||||
Email = login,
|
||||
Password = password
|
||||
});
|
||||
|
||||
APIClient.Client.Name = name;
|
||||
APIClient.Client.Surname = surname;
|
||||
APIClient.Client.Patronymic = patronymic;
|
||||
APIClient.Client.Email = login;
|
||||
APIClient.Client.Password = password;
|
||||
APIClient.Client.MobilePhone = mobilephone;
|
||||
|
||||
Response.Redirect("Enter");
|
||||
|
||||
}
|
||||
|
||||
// Банковские карты, работа с картами //
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult CardsList()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
|
||||
return View(APIClient.GetRequest<List<CardViewModel>>($"api/Card/GetUsersCardsList?id={APIClient.Client.Id}"));
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult CreateCard()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
|
||||
ViewBag.Accounts = APIClient.GetRequest<List<AccountViewModel>>($"api/Account/SearchAccountsOfCLient?clientId={APIClient.Client.Id}");
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult CreateCard(string accountId, string number, string cvc, DateTime period)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
APIClient.SetErrorMessage("Необходимо авторизоваться");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(accountId) || string.IsNullOrEmpty(number) || string.IsNullOrEmpty(cvc)
|
||||
|| period.Year == 0001 || period <= DateTime.Now)
|
||||
{
|
||||
APIClient.SetErrorMessage("Проверьте корректность параметров создаваемой карты");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
APIClient.PostRequest("api/Card/CreateCard", new CardBindingModel
|
||||
{
|
||||
Id = APIClient.Client.Id,
|
||||
AccountId = int.Parse(accountId),
|
||||
Number = number,
|
||||
Period = period,
|
||||
StatusCard = StatusCard.Открыта
|
||||
});
|
||||
|
||||
return Redirect("~/Home/CardsList");
|
||||
}
|
||||
|
||||
|
||||
// Снятие средств с банковской карты
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult DebitingList()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
|
||||
return View(APIClient.GetRequest<List<DebitingViewModel>>($"api/Client/getUsersDebitings?userId={APIClient.Client.Id}"));
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult CreateDebiting()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
|
||||
ViewBag.Cards = APIClient.GetRequest<List<CardViewModel>>($"api/Card/GetUsersCardsList?id={APIClient.Client.Id}");
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult CreateDebiting(string cardId, int sum)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
APIClient.SetErrorMessage("Необходимо авторизоваться");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(cardId) || sum <= 0)
|
||||
{
|
||||
APIClient.SetErrorMessage("Необходимо ввести корректную сумму для снятия");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
APIClient.PostRequest("api/Card/CreateDebitingRequest", new DebitingBindingModel()
|
||||
{
|
||||
CardId = int.Parse(cardId),
|
||||
Sum = sum,
|
||||
//DateOpen = DateTime.Now,
|
||||
//Status = StatusEnum.Открыта
|
||||
});
|
||||
|
||||
return Redirect("~/Home/DebitingList");
|
||||
}
|
||||
|
||||
// === Пополнение средств === //
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult CreditingList()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
|
||||
return View(APIClient.GetRequest<List<CreditingViewModel>>($"api/Client/getUsersCreditings?userId={APIClient.Client.Id}"));
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult CreateCrediting()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
|
||||
ViewBag.Cards = APIClient.GetRequest<List<CardViewModel>>($"api/Card/GetUsersCardsList?id={APIClient.Client.Id}");
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult CreateCrediting(string cardId, int sum)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
throw new Exception("Не авторизованы");
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(cardId) || sum <= 0)
|
||||
{
|
||||
APIClient.SetErrorMessage("Необходимо ввести корректную сумму для пополнения");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
APIClient.PostRequest("api/Card/CreateCreditingOperation", new CreditingBindingModel()
|
||||
{
|
||||
CardId = int.Parse(cardId),
|
||||
Sum = sum,
|
||||
//DateOpen = DateTime.Now,
|
||||
//Status = StatusEnum.Открыта
|
||||
});
|
||||
|
||||
return Redirect("~/Home/CreditingList");
|
||||
}
|
||||
|
||||
//=== Получение отчёта PDF ===//
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult CreateReport()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
public IActionResult ReportBankCard()
|
||||
[HttpPost]
|
||||
public IActionResult CreateReport(DateTime dateFrom, DateTime dateTo)
|
||||
{
|
||||
return View();
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
throw new Exception("Не авторизованы");
|
||||
}
|
||||
|
||||
if (dateFrom == dateTo || dateFrom > dateTo || dateFrom.Year == 0001 || dateTo.Year == 0001)
|
||||
{
|
||||
APIClient.SetErrorMessage("Необходимо задать корректные границы периода");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
return View(APIClient.PostRequestReport<ReportClientViewModelForHTML, ReportSupportBindingModel>("api/Report/CreateClientReport", new ReportSupportBindingModel()
|
||||
{
|
||||
DateFrom = dateFrom,
|
||||
DateTo = dateTo,
|
||||
Email = APIClient.Client.Email
|
||||
}));
|
||||
}
|
||||
|
||||
public IActionResult Crediting()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
//=== Excel отчёты ===//
|
||||
|
||||
public IActionResult Debiting()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
public IActionResult MoneyTransfers()
|
||||
// Отчёт клиента по переводам
|
||||
[HttpPost]
|
||||
public IActionResult CreateExcelReport(List<CheckboxViewModel> cards)
|
||||
{
|
||||
return View();
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
APIClient.SetErrorMessage("Не авторизованы");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
if (cards.Count == 0 || cards.Count == cards.Where(x => x.IsChecked == false).ToList().Count)
|
||||
{
|
||||
APIClient.SetErrorMessage("Необходимо выбрать хотя-бы 1 карту для отчёта");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
APIClient.PostRequest("api/Report/CreateExcelClient", new ReportSupportBindingModel()
|
||||
{
|
||||
CardList = cards.Where(x => x.IsChecked).Select(x => x.Id).ToList(),
|
||||
Email = APIClient.Client.Email
|
||||
});
|
||||
|
||||
return Redirect("ReportSuccess");
|
||||
}
|
||||
|
||||
public IActionResult Cards()
|
||||
// Отчёт клиента по пополнениям
|
||||
[HttpPost]
|
||||
public IActionResult CreateCreditingExcelReport(List<CheckboxViewModel> cards)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
APIClient.SetErrorMessage("Не авторизованы");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
if (cards.Count == 0 || cards.Count == cards.Where(x => x.IsChecked == false).ToList().Count)
|
||||
{
|
||||
APIClient.SetErrorMessage("Необходимо выбрать хотя-бы 1 карту для отчёта");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
APIClient.PostRequest("api/Report/CreateExcelCrediting", new ReportSupportBindingModel()
|
||||
{
|
||||
CardList = cards.Where(x => x.IsChecked).Select(x => x.Id).ToList(),
|
||||
Email = APIClient.Client.Email
|
||||
});
|
||||
|
||||
return Redirect("ReportSuccess");
|
||||
}
|
||||
|
||||
// Отчёт клиента по снятиям
|
||||
[HttpPost]
|
||||
public IActionResult CreateDebitingExcelReport(List<CheckboxViewModel> cards)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
APIClient.SetErrorMessage("Не авторизованы");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
if (cards.Count == 0 || cards.Count == cards.Where(x => x.IsChecked == false).ToList().Count)
|
||||
{
|
||||
APIClient.SetErrorMessage("Необходимо выбрать хотя-бы 1 карту для отчёта");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
APIClient.PostRequest("api/Report/CreateExcelDebiting", new ReportSupportBindingModel()
|
||||
{
|
||||
CardList = cards.Where(x => x.IsChecked).Select(x => x.Id).ToList(),
|
||||
Email = APIClient.Client.Email
|
||||
});
|
||||
|
||||
return Redirect("ReportSuccess");
|
||||
}
|
||||
|
||||
//=== Word отчёты клиента ===//
|
||||
|
||||
// Отчёт клиента по переводам
|
||||
[HttpPost]
|
||||
public IActionResult CreateWordReport(List<CheckboxViewModel> cards)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
APIClient.SetErrorMessage("Не авторизованы");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
if (cards.Count == 0 || cards.Count == cards.Where(x => x.IsChecked == false).ToList().Count)
|
||||
{
|
||||
APIClient.SetErrorMessage("Необходимо выбрать хотя-бы 1 карту для отчёта");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
APIClient.PostRequest("api/Report/CreateWordClient", new ReportSupportBindingModel()
|
||||
{
|
||||
CardList = cards.Where(x => x.IsChecked).Select(x => x.Id).ToList(),
|
||||
Email = APIClient.Client.Email
|
||||
});
|
||||
|
||||
return Redirect("ReportSuccess");
|
||||
}
|
||||
|
||||
// Отчёт клиента по пополнениям
|
||||
[HttpPost]
|
||||
public IActionResult CreateCreditingWordReport(List<CheckboxViewModel> cards)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
APIClient.SetErrorMessage("Не авторизованы");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
if (cards.Count == 0 || cards.Count == cards.Where(x => x.IsChecked == false).ToList().Count)
|
||||
{
|
||||
APIClient.SetErrorMessage("Необходимо выбрать хотя-бы 1 карту для отчёта");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
APIClient.PostRequest("api/Report/CreateWordCrediting", new ReportSupportBindingModel()
|
||||
{
|
||||
CardList = cards.Where(x => x.IsChecked).Select(x => x.Id).ToList(),
|
||||
Email = APIClient.Client.Email
|
||||
});
|
||||
|
||||
return Redirect("ReportSuccess");
|
||||
}
|
||||
|
||||
// Отчёт клиента по снятиям
|
||||
[HttpPost]
|
||||
public IActionResult CreateDebitingWordReport(List<CheckboxViewModel> cards)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
APIClient.SetErrorMessage("Не авторизованы");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
if (cards.Count == 0 || cards.Count == cards.Where(x => x.IsChecked == false).ToList().Count)
|
||||
{
|
||||
APIClient.SetErrorMessage("Необходимо выбрать хотя-бы 1 карту для отчёта");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
APIClient.PostRequest("api/Report/CreateWordDebiting", new ReportSupportBindingModel()
|
||||
{
|
||||
CardList = cards.Where(x => x.IsChecked).Select(x => x.Id).ToList(),
|
||||
Email = APIClient.Client.Email
|
||||
});
|
||||
|
||||
return Redirect("ReportSuccess");
|
||||
}
|
||||
|
||||
// === Получение отчета по картам === //
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult ReportWithCards()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
|
||||
return View(new ReportClientCardsViewModel()
|
||||
{
|
||||
Cards = APIClient.GetRequest<List<CardViewModel>>($"api/Card/GetUsersCardsList?id={APIClient.Client.Id}").Select(x => new CheckboxViewModel()
|
||||
{
|
||||
Id = x.Id,
|
||||
LabelName = x.Number,
|
||||
IsChecked = false
|
||||
}).ToList()
|
||||
});
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult ReportWithCards(List<CheckboxViewModel> cards)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
APIClient.SetErrorMessage("Не авторизованы");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
if (cards.Count == 0 || cards.Count == cards.Where(x => x.IsChecked == false).ToList().Count)
|
||||
{
|
||||
APIClient.SetErrorMessage("Необходимо выбрать хотя-бы 1 карту для отчёта");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
List<int> cardList = cards.Where(x => x.IsChecked).Select(x => x.Id).ToList();
|
||||
|
||||
//List<ReportViewModel> creditings = APIClient.GetRequest<List<CreditingViewModel>>($"api/Client/getUsersCreditings?userId={APIClient.Client.Id}")
|
||||
// .Where(x => cardList.Contains(x.CardId)).Select(x => new ReportViewModel()
|
||||
// {
|
||||
// Id = x.Id,
|
||||
// CardId = x.CardId,
|
||||
// // DateOpen = x.DateOpen,
|
||||
// // DateClose = x.DateClose,
|
||||
// CardNumber = x.CardNumber,
|
||||
// //Status = x.Status,
|
||||
// Sum = x.Sum,
|
||||
// TypeOperation = TypeOperationEnum.Пополнение
|
||||
// }).ToList();
|
||||
|
||||
//List<ReportViewModel> debitings = APIClient.GetRequest<List<DebitingViewModel>>($"api/Client/getUsersDebitings?userId={APIClient.Client.Id}")
|
||||
// .Where(x => cardList.Contains(x.CardId)).Select(x => new ReportViewModel()
|
||||
// {
|
||||
// Id = x.Id,
|
||||
// CardId = x.CardId,
|
||||
// DateOpen = x.DateOpen,
|
||||
// DateClose = x.DateClose,
|
||||
// CardNumber = x.CardNumber,
|
||||
// Status = x.Status,
|
||||
// Sum = x.Sum,
|
||||
// TypeOperation = TypeOperationEnum.Снятие
|
||||
// }).ToList();
|
||||
|
||||
//List<ReportViewModel> result = creditings.Concat(debitings).OrderBy(x => x.DateOpen).ToList();
|
||||
|
||||
return View(new ReportClientCardsViewModel()
|
||||
{
|
||||
Cards = cards,
|
||||
//Operations = result,
|
||||
});
|
||||
}
|
||||
|
||||
// === Диаграмма === //
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult Diagram()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
|
||||
ViewBag.Cards = APIClient.GetRequest<List<CardViewModel>>($"api/Card/GetUsersCardsList?id={APIClient.Client.Id}");
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
||||
public IActionResult Error()
|
||||
{
|
||||
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
|
||||
}
|
||||
}
|
||||
[HttpPost]
|
||||
public IActionResult Diagram(int cardId)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
APIClient.SetErrorMessage("Не авторизованы");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
ViewBag.Cards = APIClient.GetRequest<List<CardViewModel>>($"api/Card/GetUsersCardsList?id={APIClient.Client.Id}");
|
||||
|
||||
return View(new ClientDiagramViewModel()
|
||||
{
|
||||
DiagramName = "Hello World",
|
||||
Elements = APIClient.GetRequest<List<ClientDiagramElementsViewModel>>($"api/Card/getCardMonthResult?cardId={cardId}")
|
||||
});
|
||||
}
|
||||
|
||||
// Сообщение об успешной отправке отчёта на почту
|
||||
[HttpGet]
|
||||
public IActionResult ReportSuccess()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
APIClient.SetErrorMessage("Не авторизованы");
|
||||
|
||||
return Redirect("ErrorPage");
|
||||
}
|
||||
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,5 @@
|
||||
using BankClientApp;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
// Add services to the container.
|
||||
@ -5,6 +7,8 @@ builder.Services.AddControllersWithViews();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
APIClient.Connect(builder.Configuration);
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
if (!app.Environment.IsDevelopment())
|
||||
{
|
||||
|
@ -29,7 +29,7 @@
|
||||
</div>
|
||||
<div class="row mt-2">
|
||||
<div class="col-4">Телефон:</div>
|
||||
<input type="text" id="telephone" name="telephone" class="form-control" placeholder="Телефон" value=@Html.DisplayFor(modelItem => Model.MobilePhone) required>
|
||||
<input type="text" id="mobilephone" name="mobilephone" class="form-control" placeholder="Телефон" value=@Html.DisplayFor(modelItem => Model.MobilePhone) required>
|
||||
</div>
|
||||
<div class="row mt-2 mb-2">
|
||||
<button class="btn btn-lg btn-warning btn-block mb-2" type="submit" asp-controller="Home" asp-action="Privacy">Coхранить</button>
|
||||
|
@ -12,7 +12,7 @@
|
||||
<input type="text" id="name" name="name" class="form-control mb-2" placeholder="Имя" required>
|
||||
<input type="text" id="surname" name="surname" class="form-control mb-2" placeholder="Фамилия" required>
|
||||
<input type="text" id="patronymic" name="patronymic" class="form-control mb-2" placeholder="Отчество" required>
|
||||
<input type="text" id="telephone" name="telephone" class="form-control mb-2" placeholder="Телефон" required>
|
||||
<input type="text" id="mobilephone" name="mobilephone" class="form-control mb-2" placeholder="Телефон" required>
|
||||
|
||||
<button class="btn btn-lg btn-warning btn-block" type="submit" asp-controller="Home" asp-action="Register">Регистрация</button>
|
||||
</form>
|
||||
|
Loading…
Reference in New Issue
Block a user