Case_accounting/CaseAccounting/CaseAccountingCustomerView/wwwroot/js/Lawyers/lawyer-bind.js

90 lines
2.8 KiB
JavaScript
Raw Normal View History

const createBtn = document.getElementById("create-button");
const tbody = document.getElementById("scrollable-table__tbody");
const nameInput = document.getElementById("name-input");
const currentLawyerId = document.getElementById("lawyer-data").dataset.id;
var cases = [];
var dataArray = [];
var currentLawyer = null;
window.addEventListener('load', async () => {
await $.ajax({
2023-05-19 21:27:33 +04:00
url: "/lawyers/getallcases",
type: "GET",
contentType: "json"
}).done((result) => {
cases = result;
console.log(cases)
});
await $.ajax({
2023-05-19 21:27:33 +04:00
url: `/lawyers/get?id=${currentLawyerId}`,
type: "GET",
contentType: "json"
}).done((result) => {
currentLawyer = result;
});
2023-05-19 21:27:33 +04:00
cases.forEach((_case) => createRowForCasesTable(_case));
})
createBtn.addEventListener('click', () => {
2023-05-19 21:27:33 +04:00
console.log("My data:")
console.log(currentLawyer);
console.log(dataArray);
var lawyerCasesUpdate = {
"Id": currentLawyer.id,
"Name": currentLawyer.name,
2023-05-19 21:27:33 +04:00
"Surname": currentLawyer.surname,
"Patronymic": currentLawyer.patronymic,
"SpecializationId": currentLawyer.specializationId,
"Experience": currentLawyer.experience,
"ContractViewModels": currentLawyer.contractViewModels,
"CaseViewModels": dataArray,
}
2023-05-19 21:27:33 +04:00
console.log(lawyerCasesUpdate);
$.ajax({
2023-05-19 21:27:33 +04:00
url: "/lawyers/update",
type: "POST",
contentType: "application/json",
data: JSON.stringify(lawyerCasesUpdate)
}).done(() => {
window.location.href = "/Home/Lawyers";
});
})
2023-05-19 21:27:33 +04:00
const createRowForCasesTable = (_case) => {
const { id, name, applicant, defendant, annotation, date, specializationId } = _case;
const row = tbody.insertRow();
row.setAttribute("data-id", id);
const cells = [name];
cells.forEach((value) => {
const cell = row.insertCell();
cell.textContent = value;
});
console.log(currentLawyer)
2023-05-19 21:27:33 +04:00
if (currentLawyer.lawyerCases?.find(x => parseInt(x.id) === parseInt(_case.id))) {
row.classList.add("bg-success");
2023-05-19 21:27:33 +04:00
dataArray.push(_case);
}
row.addEventListener('click', () => addAndRemoveFromList(row));
};
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(cases.find(x => x.id === id));
if (index === -1) {
dataArray.push(cases.find(x => x.id === id));
row.classList.add("bg-success");
} else {
dataArray.splice(index, 1);
row.classList.remove("bg-success");
}
}