public override void Save(Transferencia entity) { using (var bo = new JogadorBO()) { var jogador = bo.Get(entity.Jogador_Id); if (entity.Clube_Id == jogador.ClubeAtual_Id) { throw new InvalidOperationException("O jogador já pertence a este clube!"); } jogador.DataTransferencia = entity.Data; jogador.ClubeAtual_Id = entity.Clube_Id; using (var clubeBo = new ClubeBO()) { clubeBo.EditarTemJogadores(jogador.ClubeAtual_Id, entity.Clube_Id); bo.Save(jogador); } } entity.Clube = null; entity.Jogador = null; entity.Clube_Id = entity.Clube_Id == 0 ? null : entity.Clube_Id; base.Save(entity); }
public void EditarTemJogadores(int?clubeAnteriorId, int?clubeNovoId) { using (var dao = new ClubeDAO()) { //Clube Anterior if (clubeAnteriorId != null) { var clubeAnterior = Get((int)clubeAnteriorId); var jogadorBo = new JogadorBO(); var jogadores = jogadorBo.List(x => x.ClubeAtual_Id == clubeAnteriorId); clubeAnterior.TemJogadores = jogadores.Count > 1; dao.EditTemJogadores(clubeAnterior); } //Clube Novo if (clubeNovoId != null) { var clubeNovo = Get((int)clubeNovoId); clubeNovo.TemJogadores = true; dao.EditTemJogadores(clubeNovo); } } }