2023-05-18 23:42:48 +04:00
|
|
|
|
const createBtn = document.getElementById("create-button");
|
|
|
|
|
const tbody = document.getElementById("scrollable-table__tbody");
|
|
|
|
|
const serviceInput = document.getElementById("service-input");
|
|
|
|
|
const coastInput = document.getElementById("coast-input");
|
|
|
|
|
const currentLawyerId = document.getElementById("lawyer-data").dataset.id;
|
|
|
|
|
var contracts = [];
|
|
|
|
|
var dataArray = [];
|
|
|
|
|
var currentLawyer = null;
|
|
|
|
|
|
|
|
|
|
window.addEventListener('load', async () => {
|
|
|
|
|
await $.ajax({
|
2023-05-19 14:53:49 +04:00
|
|
|
|
url: "/contracts/getallbyuser",
|
2023-05-18 23:42:48 +04:00
|
|
|
|
type: "GET",
|
|
|
|
|
contentType: "json"
|
|
|
|
|
}).done((result) => {
|
|
|
|
|
contracts = result;
|
|
|
|
|
});
|
|
|
|
|
await $.ajax({
|
2023-05-19 14:53:49 +04:00
|
|
|
|
url: `/lawyers/get?id=${currentLawyerId}`,
|
2023-05-18 23:42:48 +04:00
|
|
|
|
type: "GET",
|
|
|
|
|
contentType: "json"
|
|
|
|
|
}).done((result) => {
|
|
|
|
|
currentLawyer = result;
|
|
|
|
|
});
|
|
|
|
|
contracts.forEach((contract) => createRowForContractsTable(contract));
|
|
|
|
|
})
|
|
|
|
|
|
2023-05-19 14:53:49 +04:00
|
|
|
|
createBtn.addEventListener('click', () => {
|
2023-05-18 23:42:48 +04:00
|
|
|
|
var lawyerCasesUpdate = {
|
|
|
|
|
"Id": currentLawyer.id,
|
|
|
|
|
"Service": serviceInput.value,
|
|
|
|
|
"Coast": coastInput.value,
|
|
|
|
|
"Date": currentLawyer.date,
|
2023-05-19 18:12:37 +04:00
|
|
|
|
"ContractViewModels": dataArray,
|
2023-05-18 23:42:48 +04:00
|
|
|
|
"LawyerCases": currentLawyer.lawyerCases,
|
|
|
|
|
}
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: "/lawyer/update",
|
|
|
|
|
type: "POST",
|
|
|
|
|
contentType: "application/json",
|
|
|
|
|
data: JSON.stringify(lawyerCasesUpdate)
|
|
|
|
|
}).done(() => {
|
|
|
|
|
window.location.href = "/Home/Lawyers";
|
|
|
|
|
});
|
2023-05-19 14:53:49 +04:00
|
|
|
|
})
|
2023-05-18 23:42:48 +04:00
|
|
|
|
|
|
|
|
|
const createRowForContractsTable = (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;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (currentLawyer.lawyerContracts.find(x => parseInt(x.id) === parseInt(contract.id))) {
|
|
|
|
|
row.classList.add("bg-success");
|
|
|
|
|
dataArray.push(contract);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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(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");
|
|
|
|
|
}
|
|
|
|
|
}
|