//+Добавление актёра private void bAddActor_Click(object sender, EventArgs e) { var addingForm = new ActorEditForm("Добавление актёра", countyNames); if (addingForm.ShowDialog() == DialogResult.OK) { //Создаём нового актёра var addingActor = new actor { name = addingForm.ActorName, birthday = addingForm.ActorBirthDay, country = addingForm.ActorCountry, description = addingForm.ActorDescription }; //Добавляем актёра в БД if (dataManager.AddActorToDB(addingActor) == -1) { MessageBox.Show("Действие не было выполнено.", "Добавление актёра"); return; } //Добавляем в таблицу var lvActor = new ListViewItem(items: new[] { addingForm.ActorName, addingForm.ActorBirthDay.ToShortDateString(), addingForm.ActorCountry, addingForm.ActorDescription }); lvActor.Tag = addingActor.id; interfaceManager.AddItemToTable(lvActors, lvActor); interfaceManager.AutoResizeListViewColumns(lvActors); } }
//+Редактирование актёра private void bEditActor_Click(object sender, EventArgs e) { foreach (ListViewItem selectedItem in lvActors.SelectedItems) { int thisActorId = (int)selectedItem.Tag; var thisActor = dataManager.GetActorFromDB(thisActorId); var updatingForm = new ActorEditForm("Редактирование актёра", countyNames, thisActor); if (updatingForm.ShowDialog() == DialogResult.OK) { var newActorData = new actor { name = updatingForm.ActorName, birthday = updatingForm.ActorBirthDay, country = updatingForm.ActorCountry, description = updatingForm.ActorDescription }; if (dataManager.EditActorInDB(thisActorId, newActorData) == false) { MessageBox.Show("Действие не было выполнено.", "Редактирование актёра"); return; } interfaceManager.UpdateItemInTable(selectedItem, newActorData); interfaceManager.AutoResizeListViewColumns(lvActors); //Обновляем данные в таблице контрактов //Если поменяли имя, дату рождения или страну - меняем запись там if (newActorData.name != thisActor.name || newActorData.birthday != thisActor.birthday || newActorData.country != thisActor.country) { foreach (ListViewItem lvContract in lvContracts.Items) { var curContractPK = (ContractPrimaryKey)lvContract.Tag; var curContract = dataManager.GetContractFromDB(curContractPK); if (curContract.actor_id == thisActorId) { lvContract.SubItems[1].Text = newActorData.ToString(); } } interfaceManager.AutoResizeListViewColumns(lvContracts); } } } }