コード例 #1
0
ファイル: MapaEsquematico.cs プロジェクト: icaroferj/ir-api
        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();
            }
        }
コード例 #2
0
ファイル: MapaEsquematico.cs プロジェクト: icaroferj/ir-api
        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();
            }
        }
コード例 #3
0
ファイル: MapaEsquematico.cs プロジェクト: icaroferj/ir-api
        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();
            }
        }
コード例 #4
0
ファイル: MapaEsquematico.cs プロジェクト: icaroferj/ir-api
        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();
            }
        }