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