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); }