Beispiel #1
0
        // POST: api/Compra
        public void Post(BitValor value)
        {
            SqlConnection minhaConexao = new SqlConnection(ConfigurationManager.ConnectionStrings["minhaConexao"].ConnectionString);

            minhaConexao.Open();
            String query = $"insert into Compras(IdUsuario, OpcaoCompra, ValorCompra, OpcaoVenda, ValorVenda, Montante, QtdeLucro, PercentualLucro) values (@IdUsuario, @OpCompra, @ValCompra, @OpVenda, @ValVenda, @Montante, @QtdLucro, @PercLucro)";


            SqlCommand comandoInsert = minhaConexao.CreateCommand();

            comandoInsert.CommandType = CommandType.Text;
            comandoInsert.CommandText = query;

            comandoInsert.Parameters.AddWithValue("@IdUsuario", value.IdUsuario);
            comandoInsert.Parameters.AddWithValue("@OpCompra", value.OpcaoCompra);
            comandoInsert.Parameters.AddWithValue("@ValCompra", value.ValorCompra);
            comandoInsert.Parameters.AddWithValue("@OpVenda", value.OpcaoVenda);
            comandoInsert.Parameters.AddWithValue("@ValVenda", value.ValorVenda);
            comandoInsert.Parameters.AddWithValue("@Montante", value.Montante);
            comandoInsert.Parameters.AddWithValue("@QtdLucro", value.QuantidadeLucro);
            comandoInsert.Parameters.AddWithValue("@PercLucro", value.PorcentagemLucro);

            comandoInsert.ExecuteNonQuery();
            minhaConexao.Close();
        }
Beispiel #2
0
        // POST: api/BitValor
        public BitValor Post(BitValor value)
        {
            double taxaPrimeiraExchange = 0;
            double Fee = 0;

            switch (value.OpcaoCompra)
            {
            case "FB":
                taxaPrimeiraExchange = 1.4;
                Fee = 0.0003;
                break;

            case "MB":
                taxaPrimeiraExchange = 1.6;
                Fee = 0.0002;
                break;

            case "B2U":
                taxaPrimeiraExchange = 1.8;
                Fee = 0.0007;
                break;
            }

            double taxaSegundaExchange = 0;

            switch (value.OpcaoVenda)
            {
            case "FB":
                taxaSegundaExchange = 1.4;
                break;

            case "MB":
                taxaSegundaExchange = 1.6;
                break;

            case "B2U":
                taxaSegundaExchange = 1.8;
                break;
            }

            //Calculando quando bitcoins foram comprados
            double bitCoinComprado = (1 / value.ValorCompra) * value.Montante;

            //Cobrando Taxa de Transferencia

            //Taxa de Fee de acordo com a Exchange
            bitCoinComprado = bitCoinComprado - Fee;

            double bitCoinDepoisDeTransferido = (bitCoinComprado) - ((bitCoinComprado / 100) * taxaPrimeiraExchange);

            //Calculando ganho após vender o bitcoin
            double ganhoComVendaDoBitCoin = value.ValorVenda * bitCoinDepoisDeTransferido;

            //Calculando valor ganho depois do saque incluindo a taxa de saque
            double dinheiroGanhoDepoisDaVenda = ganhoComVendaDoBitCoin - ((ganhoComVendaDoBitCoin / 100) * taxaSegundaExchange);

            //Calculando Porcentagem de Lucro
            double porcentagemDeLucro = 0;

            porcentagemDeLucro = (ganhoComVendaDoBitCoin / value.Montante) - 1;

            //Atribuo ao objeto as propriedades de quantidade e porcentagem de lucro
            value.QuantidadeLucro  = dinheiroGanhoDepoisDaVenda - value.Montante;
            value.PorcentagemLucro = porcentagemDeLucro * 100;

            return(value);
        }