Esempio n. 1
0
        public void AprovarSolicitacaoCompra(LiberacaoDocumento p)
        {
            AbrirConexao();

            SqlCommand cmd1 = new SqlCommand();
            SqlCommand cmd2 = new SqlCommand();
            SqlCommand cmd3 = new SqlCommand();


            SqlTransaction transaction = Con.BeginTransaction();

            cmd1 = new SqlCommand("update LIBERACAO_DO_DOCUMENTO set DT_LIBERACAO = @v3, CD_USUARIO = @v4, CD_MAQUINA = @v5 " +
                                  "where CD_INDEX = @v1 ", Con, transaction);
            cmd1.Parameters.AddWithValue("@v1", p.CodigoLiberacao);
            cmd1.Parameters.AddWithValue("@v3", p.DataLiberacao);
            cmd1.Parameters.AddWithValue("@v4", p.CodigoUsuario);
            cmd1.Parameters.AddWithValue("@v5", p.CodigoMaquina);

            try
            {
                cmd1.ExecuteNonQuery();

                //Monta Tela
                List <EventoDocumento>  ListaEvento   = new List <EventoDocumento>();
                List <AnexoDocumento>   ListaAnexo    = new List <AnexoDocumento>();
                List <ProdutoDocumento> ListaProdutos = new List <ProdutoDocumento>();
                ProdutoDocumentoDAL     RnPd          = new ProdutoDocumentoDAL();
                Doc_SolCompra           p1            = new Doc_SolCompra();
                Doc_SolCompraDAL        docDAL        = new Doc_SolCompraDAL();
                EventoDocumentoDAL      eve           = new EventoDocumentoDAL();
                AnexoDocumentoDAL       anexo         = new AnexoDocumentoDAL();

                p1            = docDAL.PesquisarSolCompra(p.CodigoDocumento);
                ListaProdutos = RnPd.ObterItemSolCompra(p.CodigoDocumento);
                ListaProdutos = ListaProdutos.Where(x => x.CodigoSituacao != 134).ToList();
                ListaEvento   = eve.ObterEventos(p.CodigoDocumento);
                ListaAnexo    = anexo.ObterAnexos(p.CodigoDocumento);

                //Gravar Documento
                p1.Cpl_Maquina = p.CodigoMaquina;
                p1.Cpl_Usuario = p.CodigoUsuario;

                p1.CodigoSituacao     = 202;
                p1.MotivoCancelamento = "";
                docDAL.SalvarSolicitacao(p1, ListaProdutos, EventoDocumento(ListaEvento, p1.CodigoSituacao, p1.Cpl_Usuario, p1.Cpl_Maquina), ListaAnexo);

                transaction.Commit();
            }
            catch (SqlException ex)
            {
                transaction.Rollback();

                if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 547:     // Foreign Key violation
                        throw new InvalidOperationException("Alteração do Documento não permitida!!! Existe Relacionamentos Obrigatórios com a Tabela. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao alterar documento: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao alterar documento: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Esempio n. 2
0
        public void AtualizaSituacaoSolicitacaoCompra(decimal CodigoDocumento, int CodigoSituacao, int CodigoUsuario, int CodigoMaquina)
        {
            AbrirConexao();

            SqlCommand cmd1 = new SqlCommand();
            SqlCommand cmd2 = new SqlCommand();
            SqlCommand cmd3 = new SqlCommand();


            SqlTransaction transaction = Con.BeginTransaction();

            try
            {
                //Monta Tela
                List <EventoDocumento>  ListaEvento   = new List <EventoDocumento>();
                List <AnexoDocumento>   ListaAnexo    = new List <AnexoDocumento>();
                List <ProdutoDocumento> ListaProdutos = new List <ProdutoDocumento>();
                ProdutoDocumentoDAL     RnPd          = new ProdutoDocumentoDAL();
                Doc_SolCompra           p1            = new Doc_SolCompra();
                Doc_SolCompraDAL        docDAL        = new Doc_SolCompraDAL();
                EventoDocumentoDAL      eve           = new EventoDocumentoDAL();
                AnexoDocumentoDAL       anexo         = new AnexoDocumentoDAL();

                p1            = docDAL.PesquisarSolCompra(CodigoDocumento);
                ListaProdutos = RnPd.ObterItemSolCompra(CodigoDocumento);
                ListaProdutos = ListaProdutos.Where(x => x.CodigoSituacao != 134).ToList();
                ListaEvento   = eve.ObterEventos(CodigoDocumento);
                ListaAnexo    = anexo.ObterAnexos(CodigoDocumento);

                //Gravar Documento
                p1.Cpl_Maquina = CodigoMaquina;
                p1.Cpl_Usuario = CodigoUsuario;

                p1.CodigoSituacao     = CodigoSituacao;
                p1.MotivoCancelamento = "";
                docDAL.SalvarSolicitacao(p1, ListaProdutos, EventoDocumento2(ListaEvento, p1.CodigoSituacao, p1.Cpl_Usuario, p1.Cpl_Maquina), ListaAnexo);

                transaction.Commit();
            }
            catch (SqlException ex)
            {
                transaction.Rollback();

                if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 547:     // Foreign Key violation
                        throw new InvalidOperationException("Alteração do Documento não permitida!!! Existe Relacionamentos Obrigatórios com a Tabela. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao alterar documento: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao alterar documento: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Esempio n. 3
0
        public void CancelarSolicitacaoCompra(LiberacaoDocumento LibDocumento, string strMotivo)
        {
            try
            {
                AbrirConexao();

                SqlCommand cmd1 = new SqlCommand();


                cmd1 = new SqlCommand("delete from LIBERACAO_DO_DOCUMENTO where CD_INDEX = @v1;", Con);
                cmd1.Parameters.AddWithValue("@v1", LibDocumento.CodigoDocumento);
                cmd1.ExecuteNonQuery();

                //Monta Tela
                List <EventoDocumento>  ListaEvento   = new List <EventoDocumento>();
                List <AnexoDocumento>   ListaAnexo    = new List <AnexoDocumento>();
                List <ProdutoDocumento> ListaProdutos = new List <ProdutoDocumento>();
                ProdutoDocumentoDAL     RnPd          = new ProdutoDocumentoDAL();
                Doc_SolCompra           p             = new Doc_SolCompra();
                Doc_SolCompraDAL        docDAL        = new Doc_SolCompraDAL();
                EventoDocumentoDAL      eve           = new EventoDocumentoDAL();
                AnexoDocumentoDAL       anexo         = new AnexoDocumentoDAL();

                p             = docDAL.PesquisarSolCompra(LibDocumento.CodigoDocumento);
                ListaProdutos = RnPd.ObterItemSolCompra(p.CodigoDocumento);
                ListaProdutos = ListaProdutos.Where(x => x.CodigoSituacao != 134).ToList();;
                ListaEvento   = eve.ObterEventos(LibDocumento.CodigoDocumento);
                ListaAnexo    = anexo.ObterAnexos(LibDocumento.CodigoDocumento);

                //Gravar Documento

                p.Cpl_Maquina = LibDocumento.CodigoMaquina;
                p.Cpl_Usuario = LibDocumento.CodigoUsuario;

                p.CodigoSituacao     = 203;
                p.MotivoCancelamento = strMotivo;
                docDAL.SalvarSolicitacao(p, ListaProdutos, EventoDocumento(ListaEvento, p.CodigoSituacao, p.Cpl_Usuario, p.Cpl_Maquina), ListaAnexo);
            }
            catch (SqlException ex)
            {
                if (ex.Errors.Count > 0)
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 547:
                        throw new InvalidOperationException("Devolução do Documento não permitida!!! Existe Relacionamentos Obrigatórios com a Tabela. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao CancelarSolicitacaoCompra: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao CancelarSolicitacaoCompra: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }