//Удаление контракта из БД. Возвращает логическое значение = удалён ли он public bool DeleteContractFromDB(ContractPrimaryKey deletingContractPK) { var deletingContract = GetContractFromDB(deletingContractPK); using (var ctx = new DataContext()) { try { ctx.films_and_actors.Attach(deletingContract); ctx.films_and_actors.Remove(deletingContract); ctx.SaveChanges(); } catch { return(false); } } return(true); }
//Редактирование контракта. Возвращает логическое значение = отредактирован ли он //Обновляет значение первичного ключа 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); }
//Получение контракта из БД по ключу public films_and_actors GetContractFromDB(ContractPrimaryKey contractPK) { return((films_and_actors)GetObjectFromDB("contract", contractPK.FilmId, contractPK.ActorId)); }