Ejemplo n.º 1
0
        public void Atualizar(Doc_SolCompra p, List <ProdutoDocumento> listaItemSolicitacao, EventoDocumento eventoDocumento, List <AnexoDocumento> ListaAnexoDocumento)
        {
            try
            {
                AbrirConexao();
                strSQL = "update [DOCUMENTO] set CD_TIPO_DOCUMENTO = @v1," +
                         " CD_EMPRESA = @v2," +
                         " CD_SITUACAO = @v3," +
                         " NR_DOCUMENTO = @v4," +
                         " DT_HR_EMISSAO = @v5," +
                         " DT_VENCIMENTO = @v6," +
                         " VL_TOTAL_GERAL = @v7," +
                         " OB_DOCUMENTO = @v8, " +
                         " TX_MOTIVO_BAIXA = @v9 " +
                         " Where [CD_DOCUMENTO] = @CODIGO ";

                Cmd = new SqlCommand(strSQL, Con);


                Cmd.Parameters.AddWithValue("@CODIGO", p.CodigoDocumento);
                Cmd.Parameters.AddWithValue("@v1", 12);
                Cmd.Parameters.AddWithValue("@v2", p.CodigoEmpresa);
                Cmd.Parameters.AddWithValue("@v3", p.CodigoSituacao);
                Cmd.Parameters.AddWithValue("@v4", p.NumeroDocumento);
                Cmd.Parameters.AddWithValue("@v5", p.DataHoraEmissao);
                Cmd.Parameters.AddWithValue("@v6", p.DataValidade);
                Cmd.Parameters.AddWithValue("@v7", p.ValorTotal);
                Cmd.Parameters.AddWithValue("@v8", p.DescricaoDocumento);
                Cmd.Parameters.AddWithValue("@v9", p.MotivoCancelamento);

                Cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao atualizar Solicitação de Compra: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();

                DataTable        tbProdDocA = new DataTable();
                DataTable        tbProdDocB = new DataTable();
                List <Habil_Log> listaLog   = new List <Habil_Log>();
                Habil_LogDAL     Rn_Log     = new Habil_LogDAL();

                tbProdDocA = ObterSolicitacaoCompraPessoa(p.CodigoDocumento);
                ExcluirPessoaDocumento(p.CodigoDocumento);                         //Pessoa do Documento Fornecedor
                InserirPessoaDocumento(p.CodigoDocumento, p.CodigoFornecedor, 16); //Pessoa do Documento Fornecedor
                tbProdDocB = ObterSolicitacaoCompraPessoa(p.CodigoDocumento);

                listaLog = Rn_Log.ComparaDataTablesRelacionalPessoa_do_Documento(tbProdDocA, tbProdDocB, Convert.ToDouble(p.CodigoDocumento), p.Cpl_Usuario, p.Cpl_Maquina, 21, 22, 23, "PESSOA_DO_DOCUMENTO", "CD_DOCUMENTO", "TP_PESSOA");
                foreach (Habil_Log item in listaLog)
                {
                    Rn_Log.Inserir(item);
                }

                if (eventoDocumento != null)
                {
                    EventoDocumentoDAL eventoDAL = new EventoDocumentoDAL();
                    eventoDAL.Inserir(eventoDocumento, p.CodigoDocumento);
                }

                AnexoDocumentoDAL AnexoDAL = new AnexoDocumentoDAL();
                AnexoDAL.Inserir(p.CodigoDocumento, ListaAnexoDocumento);

                tbProdDocA = new DataTable();

                tbProdDocA = ObterSolicitacaoCompraProduto(p.CodigoDocumento);
                InserirProduto(p.CodigoDocumento, listaItemSolicitacao);
                tbProdDocB = new DataTable();
                tbProdDocB = ObterSolicitacaoCompraProduto(p.CodigoDocumento);

                listaLog = new List <Habil_Log>();
                listaLog = Rn_Log.ComparaDataTablesRelacionalProduto_do_Documento(tbProdDocA, tbProdDocB, Convert.ToDouble(p.CodigoDocumento), p.Cpl_Usuario, p.Cpl_Maquina, 18, 19, 20, "PRODUTO_DO_DOCUMENTO", "CD_DOCUMENTO", "CD_PROD_DOCUMENTO");
                foreach (Habil_Log item in listaLog)
                {
                    Rn_Log.Inserir(item);
                }
            }
        }