Ejemplo n.º 1
0
        internal Boolean Gravar(Transferencia transferencia)
        {
            b.getComandoSQL().Parameters.Clear();

            if (transferencia.GetCodigo() == 0)
            {
                b.getComandoSQL().CommandText = @"insert into tranferencia (transf_observacao, transf_stativo, transf_dtabertura, transf_dtfechamento, mot_codigo, fil_codigo, fil_codigo_destino) values(@observacao, @status, @dtabertura, @dtfechamento, @motivo, @filial, @filialDestino);
                SELECT LAST_INSERT_ID();";
            }
            b.getComandoSQL().Parameters.AddWithValue("@observacao", transferencia.GetObservacao());
            b.getComandoSQL().Parameters.AddWithValue("@status", transferencia.GetStatus());
            b.getComandoSQL().Parameters.AddWithValue("@dtabertura", transferencia.GetdtAbertura());
            b.getComandoSQL().Parameters.AddWithValue("@motivo", transferencia.GetMotivo().GetCodigo());
            b.getComandoSQL().Parameters.AddWithValue("@filialDestino", transferencia.GetFilialDestino().GetCodigo());
            b.getComandoSQL().Parameters.AddWithValue("@filial", transferencia.GetFilialOrigem().GetCodigo());

            if (transferencia.GetdtFechamento() == DateTime.MinValue)
            {
                b.getComandoSQL().Parameters.AddWithValue("@dtfechamento", DBNull.Value);
            }
            else
            {
                b.getComandoSQL().Parameters.AddWithValue("@dtfechamento", transferencia.GetdtFechamento());
            }

            bool ok   = true;
            int  codT = 0;

            ok = b.ExecutaComando(true, out codT) == 1;

            if (ok)
            {
                for (int i = 0; ok && i < transferencia.Ativos.Count; i++)
                {
                    ok = transferencia.Ativos[i].Imagens[0].Gravar(transferencia.GetCodigo());

                    if (ok)
                    {
                        ok = GravarItem(transferencia.Ativos[i].Imagens[0], codT);
                    }
                }

                for (int i = 0; ok && i < transferencia.Documentos.Count; i++)
                {
                    ok = transferencia.Documentos[i].Gravar(codT);

                    if (ok)
                    {
                        ok = transferencia.Documentos[i].GravarArquivo();
                    }
                }

                if (!ok)
                {
                    Documento.ExcluirArquivos(transferencia.Documentos);
                }

                b.FinalizaTransacao(ok);
            }
            return(ok);
        }