示例#1
0
        public void InfoVendaAmex(int clienteID, string sessionID, string bin)
        {
            IDataReader reader = null;

            try
            {
                reader = oDal.SelectToIDataReader("SELECT TOP 1 vpc_TxnResponseCode, TID, TaxaEntregaID, vpc_AuthorizeID, vpc_TransactionNo, Total, Parcelas, BIN FROM Amex WHERE SessionID = '" + sessionID + "' AND ClienteID = " + clienteID + " ORDER BY ID DESC");

                if (!reader.Read())
                {
                    throw new ApplicationException("Informações do pagamento não encontradas.");
                }
                else
                {
                    this.BIN = reader["BIN"].ToString();

                    if (bin != "" && bin != BIN)
                    {
                        this.statusPagamento = Status.Negada;
                        return;
                    }


                    if (reader["vpc_TxnResponseCode"] != null)
                    {
                        this.CodigoRetorno = int.Parse(reader["vpc_TxnResponseCode"].ToString());
                    }
                    else
                    {
                        throw new ApplicationException("Erro na Transação");
                    }

                    this.TID           = reader["TID"].ToString();
                    this.Parcelas      = (int)reader["Parcelas"];
                    this.Total         = (Decimal)reader["Total"];
                    this.TaxaEntregaID = int.Parse(reader["TaxaEntregaID"].ToString());

                    TaxaEntrega oTaxaEntrega = new TaxaEntrega();
                    oTaxaEntrega.GetByID(this.TaxaEntregaID);
                    this.EntregaValor = oTaxaEntrega.Valor;


                    if (CodigoRetorno == 0)
                    {
                        this.statusPagamento   = Status.Autorizada;
                        this.CodigoAutorizacao = reader["vpc_AuthorizeID"].ToString();
                        this.AmexTransactionNo = reader["vpc_TransactionNo"].ToString();
                    }
                    else
                    {
                        this.statusPagamento = Status.Negada;
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }

                oDal.ConnClose();
            }
        }
示例#2
0
        public bool Salvar(bool pIncluir)
        {
            ret = false;

            if (!Conecta())
            {
                return(ret);
            }

            if (pIncluir)
            {
                StrQuery = "INSERT INTO ENTRADA (" +
                           "data,fornecedor_id,comprador_id,formapagamento_id,transportadores_id," +
                           "totalbruto,descontoporc,descontoreal,taxaentrega,totalliquido,observacao" +
                           ") values " +
                           "(" +
                           "@data,@fornecedor_id,@comprador_id,@formapagamento_id,@transportadores_id," +
                           "@totalbruto,@descontoporc,@descontoreal,@taxaentrega,@totalliquido,@observacao" +
                           ")";
            }
            else
            {
                StrQuery = "UPDATE ENTRADA SET " +
                           "data=@data,fornecedor_id=@fornecedor_id,comprador_id=@comprador_id," +
                           "formapagamento_id=@formapagamento_id, transportadores_id=@transportadores_id," +
                           "totalbruto=@totalbruto,descontoporc=@descontoporc,descontoreal=@descontoreal," +
                           "taxaentrega=@taxaentrega,totalliquido=@totalliquido,observacao=@observacao" +
                           " WHERE id=" + Id.ToString();
            }


            using (SqlCommand cmd = new SqlCommand(StrQuery, conn))
            {
                cmd.Parameters.AddWithValue("@data", Data.ToString("dd/MM/yyyy"));
                cmd.Parameters.AddWithValue("@fornecedor_id", int.Parse(Fornecedor_id.ToString()));
                cmd.Parameters.AddWithValue("@comprador_id", int.Parse(Comprador_id.ToString()));
                cmd.Parameters.AddWithValue("@formapagamento_id", int.Parse(FormaPagamento_id.ToString()));
                cmd.Parameters.AddWithValue("@transportadores_id", int.Parse(Transportadores_id.ToString()));
                cmd.Parameters.AddWithValue("@totalbruto", double.Parse(TotalBruto.ToString("N")));
                cmd.Parameters.AddWithValue("@descontoporc", double.Parse(DescontoPorc.ToString("N")));
                cmd.Parameters.AddWithValue("@descontoreal", double.Parse(DescontoReal.ToString("N")));
                cmd.Parameters.AddWithValue("@taxaentrega", double.Parse(TaxaEntrega.ToString("N")));
                cmd.Parameters.AddWithValue("@totalliquido", double.Parse(TotalLiquido.ToString("N")));
                cmd.Parameters.AddWithValue("@observacao", Observacao.ToString());

                cmd.CommandType = System.Data.CommandType.Text;

                try
                {
                    int i = cmd.ExecuteNonQuery();
                    if (i > 0)
                    {
                        ret = true;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro ao salvar os dados: Exceção: " + ex.ToString());
                    ret = false;
                }
            }

            conn.Close();

            if (ret)
            {
                if (!Conecta())
                {
                    ret = false;
                }

                if (pIncluir) // pegar o ultimo id quando for inclusao
                {
                    StrQuery = "SELECT max([Id]) as ultimo FROM[dbo].[ENTRADA]";
                    using (SqlCommand cmd = new SqlCommand(StrQuery, conn))
                    {
                        cmd.CommandType = System.Data.CommandType.Text;
                        dr = cmd.ExecuteReader();
                        dr.Read();
                        Ultimo_ID = 0;
                        if (dr.HasRows)
                        {
                            Ultimo_ID = int.Parse(dr["ultimo"].ToString());
                        }
                    }

                    dr.Close();
                    conn.Close();
                }

                if (!pIncluir)
                {
                    if (!Conecta())
                    {
                        ret = false;
                    }
                    // verificando se existe produtos lançados no orçamento_compl para deletar

                    int temPro = TemProdutosnoOrcamento(Id);
                    if (temPro > 0)
                    { // somente se tiver produtos é que ele vai deletar
                        StrQuery = "DELETE FROM ENTRADA_COMPL WHERE Orcamento_Id=" + Id.ToString();
                        using (SqlCommand cmd_compl = new SqlCommand(StrQuery, conn))
                        {
                            cmd_compl.CommandType = System.Data.CommandType.Text;
                            int i = cmd_compl.ExecuteNonQuery();
                            if (i > 0)
                            {
                                ret = true;
                            }
                            else
                            {
                                ret = false;
                            }
                        }
                    }

                    conn.Close();
                }

                if (ret)
                {
                    if (!Conecta())
                    {
                        ret = false;
                    }

                    SqlCommand cmd_compl = new SqlCommand();
                    cmd_compl.CommandType = System.Data.CommandType.Text;
                    cmd_compl.Connection  = conn;

                    foreach (ListViewItem item in EntDadosPro.Items)
                    {
                        if (pIncluir)
                        {
                            Id = Ultimo_ID;
                        }

                        Produto_id         = int.Parse(item.SubItems[0].Text);
                        Produto_Quantidade = double.Parse(item.SubItems[4].Text);
                        Produto_Observacao = item.SubItems[6].Text;

                        StrQuery = "INSERT INTO ENTRADA_COMPL (orcamento_id," +
                                   "produto_id,produto_quantidade,produto_observacao) values" +
                                   " (" + int.Parse(Id.ToString()) + "," + int.Parse(Produto_id.ToString()) + "," + double.Parse(Produto_Quantidade.ToString()) + ",'" + Produto_Observacao.ToString() + "')";

                        // MessageBox.Show(StrQuery.ToString());

                        cmd_compl.CommandText = StrQuery.ToString();

                        try
                        {
                            int i = cmd_compl.ExecuteNonQuery();
                            if (i > 0)
                            {
                                ret = true;
                            }
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("Erro ao SALVAR ENTRADA -> PRODUTOS Exceção: " + ex.ToString());
                            ret = false;
                        }
                    }
                }

                conn.Close();
            }

            conn.Close();
            return(ret);
        }
示例#3
0
        public void InfoVendaRedeCard(int clienteID, string estado, string sessionID, string bin, bool entregaGratuita)
        {
            IDataReader reader = null;

            try
            {
                reader = oDal.SelectToIDataReader("SELECT TOP 1 CODRET, TID, TaxaEntregaID, NR_CARTAO, NUMCV, Total, Parcelas FROM Redecard WHERE SessionID = '" + sessionID + "' AND ClienteID = " + clienteID + " ORDER BY ID DESC");

                if (!reader.Read())
                {
                    throw new ApplicationException("Informações do pagamento não encontradas.");
                }
                else
                {
                    this.BIN = reader["NR_CARTAO"].ToString().Substring(0, 6);

                    if (bin != "" && bin != BIN)
                    {
                        this.statusPagamento = Status.Negada;
                        return;
                    }

                    if (reader["CODRET"] != null)
                    {
                        this.CodigoRetorno = int.Parse(reader["CODRET"].ToString());
                    }
                    else
                    {
                        throw new ApplicationException("Erro na Transação");
                    }

                    this.TID      = reader["TID"].ToString();
                    this.Parcelas = (int)reader["Parcelas"];
                    this.Total    = (Decimal)reader["Total"];

                    this.TaxaEntregaID = int.Parse(reader["TaxaEntregaID"].ToString());

                    TaxaEntrega oTaxaEntrega = new TaxaEntrega();
                    oTaxaEntrega.TaxaCompra(clienteID, estado.ToUpper(), sessionID, entregaGratuita, this.TaxaEntregaID);
                    this.EntregaValor = oTaxaEntrega.Valor;

                    if (CodigoRetorno > -1 && CodigoRetorno < 50)
                    {
                        this.statusPagamento   = Status.Autorizada;
                        this.CodigoAutorizacao = reader["NUMCV"].ToString();
                    }
                    else
                    {
                        this.statusPagamento = Status.Negada;
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }

                oDal.ConnClose();
            }
        }