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(); } }
public EstruturaMapaEsquematico InserirNovoMapa(EstruturaMapaEsquematico item) { try { bd.IniciarTransacao(); this.LocalID.Valor = item.LocalID; this.Nome.Valor = item.Nome; this.Inserir(bd); var mes = new MapaEsquematicoSetor(this.Control.UsuarioID); foreach (var itemSetor in item.MapasSetor) { if (itemSetor.InnerAcao == EnumMapaEsquematicoInnerAcao.Remover || itemSetor.InnerAcao == EnumMapaEsquematicoInnerAcao.Removido || !itemSetor.Fechado) { continue; } mes.Limpar(); mes.MapaID.Valor = this.Control.ID; mes.SetorID.Valor = itemSetor.SetorID; mes.Coordenadas.Valor = itemSetor.PontosToString(); mes.Inserir(bd); itemSetor.InnerAcao = EnumMapaEsquematicoInnerAcao.Manter; itemSetor.MapaID = this.Control.ID; item.ID = mes.Control.ID; } item.ID = this.Control.ID; item.InnerAcao = EnumMapaEsquematicoInnerAcao.Manter; bd.FinalizarTransacao(); return(item); } catch (Exception) { bd.DesfazerTransacao(); throw; } finally { bd.Fechar(); } }
public List <EstruturaMapaEsquematico> CarregarMapas(int localID) { try { List <EstruturaMapaEsquematico> listaRetorno = new List <EstruturaMapaEsquematico>(); EstruturaMapaEsquematico mapa = new EstruturaMapaEsquematico(); string sql = @"SELECT me.ID AS MapaID, me.Nome AS MapaNome, mes.ID as MapaSetorID, mes.Coordenadas, s.ID AS SetorID, s.Nome as SetorNome FROM tMapaEsquematico me (NOLOCK) INNER JOIN tMapaEsquematicoSetor mes (NOLOCK) ON me.ID = mes.MapaID INNER JOIN tSetor s (NOLOCK) ON mes.SetorID = s.ID WHERE me.LocalID = " + localID + "ORDER BY me.ID ASC, mes.ID DESC "; bd.Consulta(sql); int MapaID = 0; while (bd.Consulta().Read()) { MapaID = bd.LerInt("MapaID"); if (listaRetorno.Where(c => c.ID == MapaID).Count() == 0) { mapa = new EstruturaMapaEsquematico { ID = MapaID, LocalID = localID, Nome = bd.LerString("MapaNome"), InnerAcao = EnumMapaEsquematicoInnerAcao.Manter, MapasSetor = new List <EstruturaMapaEsquematicoSetor>() }; listaRetorno.Add(mapa); } if (bd.LerInt("MapaSetorID") > 0) { mapa.MapasSetor.Add(new EstruturaMapaEsquematicoSetor() { ID = bd.LerInt("MapaSetorID"), //Coordenadas = bd.LerString("Coordenadas"), MapaID = MapaID, SetorID = bd.LerInt("SetorID"), SetorNome = bd.LerString("SetorNome"), Pontos = this.RetornarPontos(bd.LerString("Coordenadas")), InnerAcao = EnumMapaEsquematicoInnerAcao.Manter, Fechado = true, }); } } listaRetorno.OrderBy(c => c.Nome).ToList(); listaRetorno.Insert(0, new EstruturaMapaEsquematico() { ID = 0, Nome = "Selecione...", }); return(listaRetorno); } catch (Exception) { throw; } finally { bd.Fechar(); } }
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(); } }