internal Boolean Gravar(Localizacao Localizacao, Boolean Transacao = false)
        {
            Boolean Ok = false;

            b.getComandoSQL().Parameters.Clear();
            b.getComandoSQL().CommandText = @"insert into localizacao (loca_latitude, loca_longitude, img_codigo) values (@latitude, @longitude, @imagem);";
            b.getComandoSQL().Parameters.AddWithValue("@latitude", Localizacao.GetLatitude());
            b.getComandoSQL().Parameters.AddWithValue("@longitude", Localizacao.GetLongitude());
            b.getComandoSQL().Parameters.AddWithValue("@imagem", Localizacao.GetImagem().GetCodigo());

            return(Ok = b.ExecutaComando(true) == 1);
        }
Beispiel #2
0
        internal bool Receber(Transferencia Transf, Localizacao loc)
        {
            Boolean OK           = false;
            int     CodigoImagem = 0;

            b.getComandoSQL().Parameters.Clear();

            b.getComandoSQL().CommandText = @"INSERT INTO Aprovacao_Destino
                                                           (aprdes_observacao
                                                           ,aprdes_dtinsercao
                                                           ,aprdes_stativo
                                                           ,pes_codigo)
                                                     VALUES
                                                           (@obs
                                                           ,@data
                                                           ,@ativo
                                                           ,@pessoa);
                                                            SELECT LAST_INSERT_ID();";

            b.getComandoSQL().Parameters.AddWithValue("@obs", Transf.AprovacaoDestino.Observacao);
            b.getComandoSQL().Parameters.AddWithValue("@data", Transf.AprovacaoDestino.DataInsercao);
            b.getComandoSQL().Parameters.AddWithValue("@ativo", Transf.AprovacaoDestino.Status);
            b.getComandoSQL().Parameters.AddWithValue("@pessoa", Transf.AprovacaoDestino.Responsável.GetCodigo());

            int cod = 0;

            OK = b.ExecutaComando(true, out cod) == 1;

            if (OK)
            {
                b.getComandoSQL().Parameters.Clear();

                b.getComandoSQL().CommandText = @"update tranferencia set aprdes_codigo = @aprov where transf_codigo = @cod;";

                b.getComandoSQL().Parameters.AddWithValue("@aprov", cod);
                b.getComandoSQL().Parameters.AddWithValue("@cod", Transf.GetCodigo());
                OK = b.ExecutaComando(true) == 1;

                if (OK)
                {
                    for (int i = 0; OK && i < Transf.AprovacaoDestino.Ativos.Count; i++)
                    {
                        OK = Transf.AprovacaoDestino.Ativos[i].Imagens[0].Gravar(loc, Transf.GetCodigo());

                        if (OK)
                        {
                            OK = GravarItem(Transf.AprovacaoDestino.Ativos[i].Imagens[0], Transf.GetCodigo());
                        }

                        if (OK)
                        {
                            OK = Transf.AprovacaoDestino.Ativos[i].AtualizarSala();
                        }

                        b.getComandoSQL().Parameters.Clear();       //muda a localização

                        b.getComandoSQL().CommandText = @"  select i.img_codigo as Codigo from localizacao l
                                                            inner join imagem i on l.img_codigo = i.img_codigo
                                                            inner join Ativos a on i.ati_codigo = a.ati_codigo
                                                            where a.ati_codigo = @codigo and i.transf_codigo is null;";
                        //tentei fazer update com inner n deu bom

                        b.getComandoSQL().Parameters.AddWithValue("@codigo", Transf.AprovacaoDestino.Ativos[i].GetCodigo());

                        DataTable dt = b.ExecutaSelect(true);
                        if (dt.Rows.Count > 0)
                        {
                            CodigoImagem = Convert.ToInt32(dt.Rows[0]["Codigo"]);
                        }


                        if (CodigoImagem != 0)
                        {
                            b.getComandoSQL().Parameters.Clear();       //muda a localização

                            b.getComandoSQL().CommandText = @"  update localizacao set localizacao.loca_latitude = @latitude, 
                                                                        localizacao.loca_longitude = @longitude where img_codigo = @codigoImagem;
";
                            //tentei fazer update com inner n deu bom

                            b.getComandoSQL().Parameters.AddWithValue("@codigoImagem", CodigoImagem);
                            b.getComandoSQL().Parameters.AddWithValue("@latitude", loc.GetLatitude());
                            b.getComandoSQL().Parameters.AddWithValue("@longitude", loc.GetLongitude());

                            OK = b.ExecutaComando(true) == 1;
                        }

                        //gravar a localizacao
                    }
                }
            }

            b.FinalizaTransacao(OK);

            return(OK);
        }