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(); } }
/// <summary> /// Inseri novo(a) MapaEsquematicoSetor na lista /// </summary> /// <returns></returns> public override bool Inserir() { try { bool ok = mapaEsquematicoSetor.Inserir(); if (ok) { lista.Add(mapaEsquematicoSetor.Control.ID); Indice = lista.Count - 1; } 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(); } }