//Обновление указанного объекта ListView public void UpdateItemInTable(ListViewItem item, films_and_actors contract, film f, actor a) { item.SubItems[0].Text = f.ToString(); item.SubItems[1].Text = a.ToString(); item.SubItems[2].Text = contract.actor_honorarium.ToString(); item.Tag = new ContractPrimaryKey { FilmId = contract.film_id, ActorId = contract.actor_id }; //т.к. контракты мы пересоздаём }
//Добавление контракта в БД. Возвращает первичный ключ записи, или null при ошибке public ContractPrimaryKey AddContractToDB(films_and_actors newContract) { if (AddObjectToDB("contract", newContract) == false) { return(null); } else { return new ContractPrimaryKey { FilmId = newContract.film_id, ActorId = newContract.actor_id } }; //Обновился при сохранении }
//Редактирование контракта. Возвращает логическое значение = отредактирован ли он //Обновляет значение первичного ключа public bool EditContractInDB(ContractPrimaryKey contractPK, films_and_actors newContractData) { //Т.к. Entity Framework не позволяет менять значения первичных ключей, будем //заново пересоздавать кортеж для этой записи if (DeleteContractFromDB(contractPK) == false) { return(false); } var rezPK = AddContractToDB(newContractData); if (rezPK == null) { return(false); } contractPK = rezPK; return(true); }