регистрация, вход и личные данные

This commit is contained in:
Анна Забродина 2024-03-31 13:06:09 +04:00
parent 3b17c00265
commit a7ea872d30
6 changed files with 281 additions and 37 deletions

View File

@ -1,4 +1,6 @@
using HotelOrganiserApp.Models; using HotelContracts.BindingModels;
using HotelContracts.ViewModels;
using HotelOrganiserApp.Models;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System.Diagnostics; using System.Diagnostics;
@ -15,6 +17,10 @@ namespace HotelOrganiserApp.Controllers
public IActionResult Index() public IActionResult Index()
{ {
if (APIClient.Organiser == null)
{
return Redirect("~/Home/Enter");
}
return View(); return View();
} }
@ -23,11 +29,47 @@ namespace HotelOrganiserApp.Controllers
return View(); return View();
} }
[HttpPost]
public void Register(string login, string email, string password, string surname, string name, string patronymic, string telephone)
{
if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(surname) || string.IsNullOrEmpty(name) || string.IsNullOrEmpty(patronymic))
{
throw new Exception("Введите логин, пароль, фамилию, имя и отчество");
}
APIClient.PostRequest("api/organiser/register", new OrganiserBindingModel
{
OrganiserSurname = surname,
OrganiserName = name,
OrganiserPatronymic = patronymic,
OrganiserLogin = login,
OrganiserPassword = password,
OrganiserEmail = email,
OrganiserPhoneNumber = telephone
});
Response.Redirect("Enter");
return;
}
public IActionResult Enter() public IActionResult Enter()
{ {
return View(); return View();
} }
public void Enter(string login, string password)
{
if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password))
{
throw new Exception("Введите логин и пароль");
}
APIClient.Organiser = APIClient.GetRequest<OrganiserViewModel>($"api/organiser/login?login={login}&password={password}");
if (APIClient.Organiser == null)
{
throw new Exception("Неверный логин/пароль");
}
Response.Redirect("Index");
}
public IActionResult Report() public IActionResult Report()
{ {
return View(); return View();

View File

@ -0,0 +1,39 @@
@{
ViewData["Title"] = "Enter";
}
<form method="post">
<div class="mask d-flex align-items-center h-100 gradient-custom-3">
<div class="container h-100">
<div class="row d-flex justify-content-center align-items-center h-100">
<div class="col-12 col-md-9 col-lg-7 col-xl-6">
<div class="card" style="border-radius: 15px; border-color:black;">
<div class="card-body p-5">
<div class="text-center">
<h2 class="u-text u-text-custom-color-1 u-text-default u-text-1"> Вход </h2>
</div>
<div class="form-group">
<label class="u-label u-text-custom-color-1 u-label-1">Электронная почта</label>
<input type="text"
placeholder="Введите электронную почту"
name="login"
class="form-control" />
</div>
<div class="form-group">
<label class="u-label u-text-custom-color-1 u-label-2">Пароль</label>
<input type="password"
placeholder="Введите пароль"
name="password"
class="form-control" />
</div>
<br>
<div class="form-group text-center d-flex justify-content-center">
<button type="submit" class="btn btn-outline-dark text-center d-flex justify-content-md-center">Войти</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>

View File

@ -3,6 +3,10 @@
} }
<div class="text-center"> <div class="text-center">
<h1 class="display-4">Welcome</h1> <div class="card">
<p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p> <div class="card-body">
<h1 class="card-title">Hotel</h1>
<h4>Курсовая работа. Исполнитель</h4>
</div>
</div>
</div> </div>

View File

@ -1,6 +1,88 @@
@{ @using HotelContracts.ViewModels
ViewData["Title"] = "Privacy Policy";
}
<h1>@ViewData["Title"]</h1>
<p>Use this page to detail your site's privacy policy.</p> @model OrganiserViewModel
@{
ViewData["Title"] = "Privacy";
}
<div class="text-center">
<h2 class="u-text u-text-custom-color-1 u-text-default u-text-1">Мои данны</h2>
</div>
<form method="post">
<div class="container d-flex justify-content-center align-items-center">
<div class="card-body">
<div class="form-group">
<label class="u-label u-text-custom-color-1 u-label-1">Логин</label>
<input type="text"
placeholder="Введите логин"
name="login"
value="@Model.OrganiserLogin"
class="form-control" />
</div>
<div class="form-group">
<div class="u-form-email u-form-group u-label-top">
<label class="u-label u-text-custom-color-1 u-label-2">Электронная почта</label>
<input type="email"
placeholder="Введите электронную почту"
name="email"
value="@Model.OrganiserEmail"
class="form-control" />
</div>
</div>
<div class="form-group">
<div class="u-form-group u-label-top u-form-group-3">
<label class="u-label u-text-custom-color-1 u-label-3">Фамилия</label>
<input type="text"
placeholder="Введите фамилию"
name="fio"
value="@Model.OrganiserSurname"
class="form-control" />
</div>
</div>
<div class="form-group">
<div class="u-form-group u-label-top u-form-group-4">
<label class="u-label u-text-custom-color-1 u-label-3">Имя</label>
<input type="text"
placeholder="Введите имя"
name="fio"
value="@Model.OrganiserName"
class="form-control" />
</div>
</div>
<div class="form-group">
<div class="u-form-group u-label-top u-form-group-5">
<label class="u-label u-text-custom-color-1 u-label-3">Отчество</label>
<input type="text"
placeholder="Введите отчество"
name="fio"
value="@Model.OrganiserPatronymic"
class="form-control" />
</div>
</div>
<div class="form-group">
<div class="u-form-group u-label-top u-form-group-6">
<label class="u-label u-text-custom-color-1 u-label-4">Номер телефона</label>
<input type="text"
name="telephone"
class="form-control"
value="@Model.OrganiserPhoneNumber"
placeholder="Введите номер телефона" />
</div>
</div>
<div class="form-group">
<div class="u-form-group u-label-top u-form-group-7">
<label class="u-label u-text-custom-color-1 u-label-5">Пароль</label>
<input type="text"
placeholder="Введите пароль"
name="password"
value="@Model.OrganiserPassword"
class="form-control" />
</div>
</div>
<br>
<div class="u-container-layout u-container-layout-2">
<input type="submit" value="Изменить" class="btn btn-outline-dark text-center d-flex justify-content-md-center" />
</div>
</div>
</div>
</form>

View File

@ -0,0 +1,74 @@
@{
ViewData["Title"] = "Register";
}
<form method="post">
<div class="mask d-flex align-items-center h-100 gradient-custom-3">
<div class="container h-100">
<div class="row d-flex justify-content-center align-items-center h-100">
<div class="col-12 col-md-9 col-lg-7 col-xl-6">
<div class="card" style="border-radius: 15px; border-color:black;">
<div class="card-body p-5">
<div class="text-center">
<h2 class="u-text u-text-custom-color-1 u-text-default u-text-1"> Регистрация </h2>
</div>
<div class="form-group">
<label class="u-label u-text-custom-color-1 u-label-1">Логин</label>
<input type="text"
placeholder="Введите логин"
name="login"
class="form-control" />
</div>
<div class="form-group">
<label class="u-label u-text-custom-color-1 u-label-2">Электронная почта</label>
<input type="email"
placeholder="Введите электронную почту"
name="email"
class="form-control" />
</div>
<div class="form-group">
<label class="u-label u-text-custom-color-1 u-label-3">Фамилия</label>
<input type="text"
placeholder="Введите фамилию"
name="surname"
class="form-control" />
</div>
<div class="form-group">
<label class="u-label u-text-custom-color-1 u-label-4">Имя</label>
<input type="text"
placeholder="Введите имя"
name="name"
class="form-control" />
</div>
<div class="form-group">
<label class="u-label u-text-custom-color-1 u-label-5">Отчество</label>
<input type="text"
placeholder="Введите отчество"
name="patronymic"
class="form-control" />
</div>
<div class="form-group">
<label class="u-label u-text-custom-color-1 u-label-6">Номер телефона</label>
<input type="text"
name="telephone"
class="form-control"
placeholder="Введите номер телефона" />
</div>
<div class="form-group">
<label class="u-label u-text-custom-color-1 u-label-7">Пароль</label>
<input type="password"
placeholder="Введите пароль"
name="password"
class="form-control" />
</div>
<br>
<div class="form-group text-center d-flex justify-content-center">
<button type="submit" class="btn btn-outline-dark text-center d-flex justify-content-md-center">Зарегистрироваться</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>

View File

@ -17,38 +17,41 @@
aria-expanded="false" aria-label="Toggle navigation"> aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
<div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse"> <div class="navbar-collapse collapse justify-content-start">
<ul class="navbar-nav"> <ul class="navbar-nav">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="Register">Регистрация</a> <a class="nav-link " asp-area="" asp-controller="Home" asp-action="Index">Главная</a>
</li> </li>
<li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="ListMembers">Участники</a>
</li>
<li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="ListMealPlans">Планы питания</a>
</li>
<li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="ListConferences">Конференции</a>
</li>
<li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="AddConferenceBookingToConfe">Привязка конференций</a>
</li>
<li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="ListMemberConferenceToFile">Отчёт по бронированиям</a>
</li>
<li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="ListMembersToPdfFile">Отчёт по участникам</a>
</li>
<li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="Privacy">Личные данные</a>
</li>
</ul>
</div>
<div class="navbar-collapse collapse justify-content-end">
<ul class="navbar-nav">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="Enter">Вход</a> <a class="nav-link " asp-area="" asp-controller="Home" asp-action="Enter">Вход</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="Index">Главное меню</a> <a class="nav-link " asp-area="" asp-controller="Home" asp-action="Register">Регистрация</a>
</li>
<li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="FormationMember">Участник</a>
</li>
<li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="ShapingMemberIntoMealPlans">План питания</a>
</li>
<li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="FormationMembersAndConference">Конференции</a>
</li>
<li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="ListOfMembers">Список участников</a>
</li>
<li class="nav-item">
<a class="nav-link " asp-area="" asp-controller="Home" asp-action="Report">Отчет по участникам</a>
</li> </li>
</ul> </ul>
</div> </div>