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({ url: "/lawyers/getallcases", type: "GET", contentType: "json" }).done((result) => { cases = result; console.log(cases) }); await $.ajax({ url: `/lawyers/get?id=${currentLawyerId}`, type: "GET", contentType: "json" }).done((result) => { currentLawyer = result; }); cases.forEach((_case) => createRowForCasesTable(_case)); }) createBtn.addEventListener('click', () => { console.log("My data:") console.log(currentLawyer); console.log(dataArray); var lawyerCasesUpdate = { "Id": currentLawyer.id, "Name": currentLawyer.name, "Surname": currentLawyer.surname, "Patronymic": currentLawyer.patronymic, "SpecializationId": currentLawyer.specializationId, "Experience": currentLawyer.experience, "ContractViewModels": currentLawyer.contractViewModels, "CaseViewModels": dataArray, } console.log(lawyerCasesUpdate); $.ajax({ url: "/lawyers/update", type: "POST", contentType: "application/json", data: JSON.stringify(lawyerCasesUpdate) }).done(() => { window.location.href = "/Home/Lawyers"; }); }) 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) if (currentLawyer.lawyerCases?.find(x => parseInt(x.id) === parseInt(_case.id))) { row.classList.add("bg-success"); 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"); } }