полный круд для животных (я сам как животное уже)
This commit is contained in:
parent
1de62e911d
commit
ba4fba5e1a
@ -69,7 +69,8 @@ namespace ClientApp.Controllers
|
||||
Response.Redirect("Enter");
|
||||
return;
|
||||
}
|
||||
public IActionResult IndexAnimal()
|
||||
//=================ЖИВОТНЫЕ=================
|
||||
public IActionResult IndexAnimal()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
@ -79,8 +80,90 @@ namespace ClientApp.Controllers
|
||||
}
|
||||
public IActionResult CreateAnimal()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
return View();
|
||||
}
|
||||
[HttpPost]
|
||||
public void CreateAnimal(string name, int age, string species)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
throw new Exception("Вы как суда попали? Сюда вход только авторизованным");
|
||||
}
|
||||
if (string.IsNullOrEmpty(name) || age <= 0 || string.IsNullOrEmpty(species))
|
||||
{
|
||||
throw new Exception("Ошибка в введённых данных");
|
||||
}
|
||||
APIClient.PostRequest("api/animal/createanimal", new AnimalBindingModel
|
||||
{
|
||||
AnimalName = name,
|
||||
Age = age,
|
||||
Species = species,
|
||||
ClientId = APIClient.Client.Id
|
||||
});
|
||||
Response.Redirect("Index");
|
||||
}
|
||||
public IActionResult UpdateAnimal()
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
ViewBag.Animals = APIClient.GetRequest<List<AnimalViewModel>>($"api/animal/getanimals?clientid={APIClient.Client.Id}");
|
||||
return View();
|
||||
}
|
||||
[HttpPost]
|
||||
public void UpdateAnimal(int pet, string name, int age, string species)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
throw new Exception("Вы как суда попали? Суда вход только авторизованным");
|
||||
}
|
||||
if (string.IsNullOrEmpty(name) || age <= 0 || string.IsNullOrEmpty(species))
|
||||
{
|
||||
throw new Exception("Ошибка введённых данных");
|
||||
}
|
||||
APIClient.PostRequest("api/animal/updateanimal", new AnimalViewModel
|
||||
{
|
||||
Id = pet,
|
||||
AnimalName = name,
|
||||
Age = age,
|
||||
Species = species,
|
||||
});
|
||||
Response.Redirect("Index");
|
||||
}
|
||||
[HttpGet]
|
||||
public Tuple<AnimalViewModel>? GetAnimal(int animalId)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
throw new Exception("Вы как суда попали? Суда вход только авторизованным");
|
||||
}
|
||||
var result = APIClient.GetRequest<Tuple<AnimalViewModel>>($"api/animal/getanimal?animalId={animalId}");
|
||||
if (result == null)
|
||||
{
|
||||
return default;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
[HttpPost]
|
||||
public void IndexAnimal(int id)
|
||||
{
|
||||
if (APIClient.Client == null)
|
||||
{
|
||||
throw new Exception("Вы как суда попали? Суда вход только авторизованным");
|
||||
}
|
||||
APIClient.PostRequest("api/animal/deleteanimal", new AnimalBindingModel
|
||||
{
|
||||
Id = id
|
||||
});
|
||||
Response.Redirect("Index");
|
||||
}
|
||||
|
||||
//=================ПОСЕЩЕНИЯ=================
|
||||
public IActionResult IndexDoctorVisit()
|
||||
{
|
||||
return View(new List<DoctorVisitViewModel>());
|
||||
|
@ -7,15 +7,15 @@
|
||||
<form method="post">
|
||||
<div class="row">
|
||||
<div class="col-4">Кличка:</div>
|
||||
<div class="col-8"><input type="text" name="title" id="title" /></div>
|
||||
<div class="col-8"><input type="text" name="name" /></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Вид:</div>
|
||||
<div class="col-8"><input type="text" name="cost" id="cost" /></div>
|
||||
<div class="col-8"><input type="text" name="species" /></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Возраст:</div>
|
||||
<div class="col-8"><input type="text" name="cost" id="cost" /></div>
|
||||
<div class="col-8"><input type="text" name="age" /></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-8"></div>
|
||||
|
@ -20,6 +20,7 @@
|
||||
}
|
||||
<p>
|
||||
<a asp-action="CreateAnimal">Создать животное</a>
|
||||
<a asp-action="UpdateAnimal">Обновить животное</a>
|
||||
</p>
|
||||
<table class="table">
|
||||
<thead>
|
||||
@ -37,10 +38,7 @@
|
||||
Возраст
|
||||
</th>
|
||||
<th>
|
||||
Изменить деталь
|
||||
</th>
|
||||
<th>
|
||||
Удалить деталь
|
||||
Удалить животное
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -61,10 +59,10 @@
|
||||
@Html.DisplayFor(modelItem => item.Age)
|
||||
</td>
|
||||
<td>
|
||||
<a asp-action="CreateAnimal" asp-route-id="@item.Id" class="btn btn-primary">Изменить</a>
|
||||
</td>
|
||||
<td>
|
||||
<a asp-action="Delete" asp-route-id="@item.Id" class="btn btn-danger">Удалить</a>
|
||||
<form method="post">
|
||||
<input type="text" title="id" name="id" value="@item.Id" hidden="hidden" />
|
||||
<input type="submit" class="btn btn-danger" value="Удалить" />
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
55
Vetclinic/ClientApp/Views/Home/UpdateAnimal.cshtml
Normal file
55
Vetclinic/ClientApp/Views/Home/UpdateAnimal.cshtml
Normal file
@ -0,0 +1,55 @@
|
||||
@{
|
||||
ViewData["Title"] = "UpdateAnimal";
|
||||
}
|
||||
<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="pet" name="pet" class="form-control" asp-items="@(new SelectList(@ViewBag.Animals, "Id", "AnimalName"))"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Кличка:</div>
|
||||
<div class="col-8"><input type="text" name="name" id="name"/></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Вид:</div>
|
||||
<div class="col-8"><input type="text" name="species" id="species" /></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Возраст:</div>
|
||||
<div class="col-8"><input type="text" name="age" id="age" /></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>
|
||||
|
||||
@section Scripts
|
||||
{
|
||||
<script>
|
||||
function check() {
|
||||
var animal = $('#pet').val();
|
||||
if (animal) {
|
||||
$.ajax({
|
||||
method: "GET",
|
||||
url: "/Home/GetAnimal",
|
||||
data: { animalId: animal },
|
||||
success: function (result) {
|
||||
$('#name').val(result.item1.animalName);
|
||||
$('#age').val(result.item1.age);
|
||||
$('#species').val(result.item1.species);
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
check();
|
||||
$('#pet').on('change', function () {
|
||||
check();
|
||||
});
|
||||
</script>
|
||||
}
|
Loading…
Reference in New Issue
Block a user