public void RemoverMapa(EstruturaMapaEsquematico mapa) { try { bd.IniciarTransacao(); var mes = new MapaEsquematicoSetor(this.Control.UsuarioID); bd.Executar( @"UPDATE tEvento SET tEvento.MapaEsquematicoID = 0 WHERE MapaEsquematicoID = " + mapa.ID); bd.Executar( @"UPDATE tApresentacao SET tApresentacao.MapaEsquematicoID = 0 WHERE MapaEsquematicoID = " + mapa.ID); foreach (EstruturaMapaEsquematicoSetor itemSetor in mapa.MapasSetor) { mes.Excluir(bd, itemSetor.ID); } this.Excluir(bd, mapa.ID); bd.FinalizarTransacao(); } catch (Exception) { bd.DesfazerTransacao(); throw; } finally { bd.Fechar(); } }
/// <summary> /// Exclui o item corrente da lista /// </summary> /// <returns></returns> public override bool Excluir() { try { bool ok = mapaEsquematicoSetor.Excluir(); if (ok) { lista.RemoveAt(Indice); } return(ok); } catch (Exception ex) { throw ex; } }
public EstruturaMapaEsquematico AlterarMapa(EstruturaMapaEsquematico item) { try { bd.IniciarTransacao(); this.Control.ID = item.ID; this.Nome.Valor = item.Nome; this.LocalID.Valor = item.LocalID; MapaEsquematicoSetor mes = new MapaEsquematicoSetor(this.Control.UsuarioID); foreach (EstruturaMapaEsquematicoSetor itemSetor in item.MapasSetor) { mes.Limpar(); mes.MapaID.Valor = item.ID; mes.SetorID.Valor = itemSetor.SetorID; mes.Coordenadas.Valor = itemSetor.PontosToString(); if (itemSetor.SetorID == 0) { continue; } switch (itemSetor.InnerAcao) { case EnumMapaEsquematicoInnerAcao.Editar: mes.Control.ID = itemSetor.ID; mes.Atualizar(bd); itemSetor.InnerAcao = EnumMapaEsquematicoInnerAcao.Manter; break; case EnumMapaEsquematicoInnerAcao.Novo: mes.Inserir(bd); itemSetor.ID = mes.Control.ID; itemSetor.InnerAcao = EnumMapaEsquematicoInnerAcao.Manter; break; //case EnumMapaEsquematicoInnerAcao.Remover: // mes.Excluir(bd, itemSetor.ID); // itemSetor.InnerAcao = EnumMapaEsquematicoInnerAcao.Removido; // break; //default: // //Ignora! // break; } } for (int i = 0; i < item.IdsRemover.Count; i++) { if (item.IdsRemover[i] > 0) { mes.Excluir(bd, item.IdsRemover[i]); } } item.IdsRemover.Clear(); item.MapasSetor.RemoveAll(c => c.SetorID == 0); bd.FinalizarTransacao(); return(item); } catch (Exception) { bd.DesfazerTransacao(); throw; } finally { bd.Fechar(); } }