89 lines
2.9 KiB
JavaScript
89 lines
2.9 KiB
JavaScript
const createBtn = document.getElementById("create-button");
|
||
const tbody = document.getElementById("scrollable-table__tbody");
|
||
const nameInput = document.getElementById("name-input")
|
||
const surnameInput = document.getElementById("surname-input")
|
||
const patronymicInput = document.getElementById("patronymic-input")
|
||
const experienceInput = document.getElementById("experience-input")
|
||
const currentLawyerId = document.getElementById("lawyer-id").dataset.id;
|
||
var contracts = [];
|
||
var dataArray = [];
|
||
var currentLawyer = null;
|
||
|
||
window.addEventListener('load', async () => {
|
||
await $.ajax({
|
||
url: "/contracts/getallbyuser",
|
||
type: "GET",
|
||
contentType: "json"
|
||
}).done((result) => {
|
||
contracts = result;
|
||
});
|
||
console.log(currentLawyerId)
|
||
await $.ajax({
|
||
url: `/lawyers/get?id=${currentLawyerId}`,
|
||
type: "GET",
|
||
contentType: "json"
|
||
}).done((result) => {
|
||
currentLawyer = result;
|
||
});
|
||
console.log(currentLawyerId);
|
||
console.log(currentLawyer);
|
||
contracts.forEach((contract) => {
|
||
const { id, service, coast, date } = contract;
|
||
const row = tbody.insertRow();
|
||
row.setAttribute("data-id", id);
|
||
|
||
const cells = [service, coast, formatDate(date)];
|
||
cells.forEach((value) => {
|
||
const cell = row.insertCell();
|
||
cell.textContent = value;
|
||
});
|
||
console.log(currentLawyer);
|
||
/*if (currentLawyer.сontractViewModels.find(x => parseInt(x.id) === parseInt(contract.id))) {
|
||
row.classList.add("bg-success");
|
||
dataArray.push(contract);
|
||
}*/
|
||
|
||
row.addEventListener('click', () => addAndRemoveFromList(row));
|
||
});
|
||
})
|
||
|
||
createBtn.addEventListener('click', () => {
|
||
console.log(dataArray);
|
||
var lawyerCasesUpdate = {
|
||
"Id": currentLawyerId,
|
||
"Name": nameInput.value,
|
||
"Surname": surnameInput.value,
|
||
"Patronymic": patronymicInput.value,
|
||
"Experience": parseInt(experienceInput.value),
|
||
"SpecializationId": parseInt(currentLawyer.specializationId),
|
||
"ContractViewModels": dataArray
|
||
}
|
||
$.ajax({
|
||
url: "/lawyers/update",
|
||
type: "POST",
|
||
contentType: "application/json",
|
||
data: JSON.stringify(lawyerCasesUpdate)
|
||
}).done(() => {
|
||
window.location.href = "/Home/Lawyers";
|
||
});
|
||
})
|
||
|
||
const formatDate = (dateString) => {
|
||
const date = new Date(dateString);
|
||
const year = date.getFullYear();
|
||
const month = ('0' + (date.getMonth() + 1)).slice(-2);
|
||
const day = ('0' + date.getDate()).slice(-2);
|
||
return `${year}-${month}-${day}`;
|
||
};
|
||
|
||
const addAndRemoveFromList = (row) => {
|
||
var id = parseInt(row.dataset.id);
|
||
var index = dataArray.indexOf(contracts.find(x => x.id === id));
|
||
if (index === -1) {
|
||
dataArray.push(contracts.find(x => x.id === id));
|
||
row.classList.add("bg-success");
|
||
} else {
|
||
dataArray.splice(index, 1);
|
||
row.classList.remove("bg-success");
|
||
}
|
||
} |