//[Route("api/comprarmoeda")] public HttpResponseMessage Put([FromBody] Carteira value) { CarteiraCrud crud = new CarteiraCrud(); Carteira carteira = new Carteira(); try { carteira._pessoa = new Pessoa(); carteira._pessoa.IdPessoa = value._pessoa.IdPessoa; carteira.TipoMoeda = value.TipoMoeda; Carteira resultCarteira = crud.ConsultarPorIdPessoaANDTMoeda(carteira); Negocio negocio = new Negocio(); double valorConvertido = negocio.ConverterRealParaCripto(value.Saldo, value.TipoMoeda); HistoricoCarteiraCrud carteiraCrud = new HistoricoCarteiraCrud(); carteiraCrud.InserirCompraMoeda(new HistoricoCarteira(resultCarteira, DateTime.Now, value.Saldo, "Compra Moeda")); resultCarteira.comprarMoeda(valorConvertido); string result = crud.Alterar(resultCarteira); if (int.TryParse(result, out _) == true) { return(Request.CreateResponse(HttpStatusCode.OK, result)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound)); } } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message)); } }
public HttpResponseMessage ObterDisponivel(int id) { try { Carteira carteira = new Carteira(); carteira._pessoa = new Pessoa(); carteira._pessoa.IdPessoa = id; carteira.TipoMoeda = 1; CarteiraCrud carteiraCrud = new CarteiraCrud(); var carteiraEth = carteiraCrud.ConsultarPorIdPessoaANDTMoeda(carteira); carteira.TipoMoeda = 2; var carteiraBtc = carteiraCrud.ConsultarPorIdPessoaANDTMoeda(carteira); HistoricoInvestidoCrud historicoInvestidoCrud = new HistoricoInvestidoCrud(); var list = historicoInvestidoCrud.ConsultarDisponivelOrRetido(carteiraEth, carteiraBtc, new DateTime(1800, 01, 01), DateTime.Now.AddMonths(-1)); return(Request.CreateResponse(HttpStatusCode.OK, list)); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ex)); } }
public IHttpActionResult Put(int idPessoa, [FromBody] HistoricoInvestido value) { try { Carteira carteira = new Carteira(); double valorCripto = new Negocio().ConverterRealParaCripto(value.ValorInvestido, value._carteira.TipoMoeda); carteira._pessoa = new Pessoa(); carteira._pessoa.IdPessoa = idPessoa; carteira.IdCarteira = value._carteira.IdCarteira; carteira.TipoMoeda = value._carteira.TipoMoeda; CarteiraCrud carteiraCrud = new CarteiraCrud(); var carteiraAntiga = carteiraCrud.ConsultarPorIdPessoaANDTMoeda(carteira); carteira.Saldo = carteiraAntiga.Saldo + valorCripto; HistoricoCarteira historicoCarteira = new HistoricoCarteira(value._carteira, DateTime.Now, value.ValorInvestido, "Resgate Investimento"); HistoricoInvestido historicoInvestido = new HistoricoInvestido(value._carteira, DateTime.Now); carteiraCrud.Alterar(carteira); new HistoricoCarteiraCrud().InserirResgateInvestimento(historicoCarteira); new HistoricoInvestidoCrud().ResgatarInvestimento(historicoInvestido); return(Ok(idPessoa)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult Post([FromBody] HistoricoInvestido value) { try { HistoricoCarteiraCrud historicoCarteiraCrud = new HistoricoCarteiraCrud(); HistoricoInvestidoCrud historicoInvestidoCrud = new HistoricoInvestidoCrud(); CarteiraCrud carteiraCrud = new CarteiraCrud(); value._carteira = carteiraCrud.ConsultarPorIdPessoaANDTMoeda(value._carteira); value.DtInicio = DateTime.Now; double valorEmReais = value.ValorInvestido; value.ValorInvestido = new Negocio().ConverterRealParaCripto(value.ValorInvestido, value._carteira.TipoMoeda); value._carteira.Saldo = value._carteira.Saldo - value.ValorInvestido; if (value._carteira.Saldo < 0) { value._carteira.Saldo = value._carteira.Saldo + value.ValorInvestido; value._carteira.Saldo = new Negocio().ConverterCriptoParaReal(value._carteira.Saldo, value._carteira.TipoMoeda); HttpResponseMessage response = this.Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Saldo Insuficiente! Saldo atual desta moeda: R$" + value._carteira.Saldo.ToString("N2")); throw new HttpResponseException(response); } HistoricoCarteira historicoCarteira = new HistoricoCarteira(value._carteira, value.DtInicio, valorEmReais, "Investimento"); carteiraCrud.Alterar(value._carteira); historicoCarteiraCrud.InserirInvestimento(historicoCarteira); String retorno = historicoInvestidoCrud.Inserir(value); return(Ok(retorno)); } catch (Exception) { throw; } }
public HttpResponseMessage Get(int id) { try { Carteira carteira = new Carteira(); carteira._pessoa = new Pessoa(); carteira._pessoa.IdPessoa = id; carteira.TipoMoeda = 1; CarteiraCrud carteiraCrud = new CarteiraCrud(); var carteiraEth = carteiraCrud.ConsultarPorIdPessoaANDTMoeda(carteira); carteira.TipoMoeda = 2; var carteiraBtc = carteiraCrud.ConsultarPorIdPessoaANDTMoeda(carteira); HistoricoInvestidoCrud historicoInvestidoCrud = new HistoricoInvestidoCrud(); //Valor Retido double valorEthRetido = historicoInvestidoCrud.SomarInvestimentosPorIdCarteira(carteiraEth, DateTime.Now.AddMonths(-1), DateTime.Now); double valorBtcRetido = historicoInvestidoCrud.SomarInvestimentosPorIdCarteira(carteiraBtc, DateTime.Now.AddMonths(-1), DateTime.Now); //Valor Curso double valorEthCurso = historicoInvestidoCrud.SomarInvestimentosPorIdCarteira(carteiraEth, new DateTime(1800, 01, 01), DateTime.Now.AddMonths(-1)); double valorBtcCurso = historicoInvestidoCrud.SomarInvestimentosPorIdCarteira(carteiraBtc, new DateTime(1800, 01, 01), DateTime.Now.AddMonths(-1)); //Valor Retido Negocio negocio = new Negocio(); double tRetidoRealEth = negocio.ConverterCriptoParaReal(valorEthRetido, 1); double tRetidoRealBtc = negocio.ConverterCriptoParaReal(valorBtcRetido, 2); //Valor Curso double tCursoRealEth = negocio.ConverterCriptoParaReal(valorEthCurso, 1); double tCursoRealBtc = negocio.ConverterCriptoParaReal(valorBtcCurso, 2); double totalDisponivel = tCursoRealBtc + tCursoRealEth; double totalRetido = tRetidoRealBtc + tRetidoRealEth; double patrimonioTotal = totalDisponivel + totalRetido; Investimento investimento = new Investimento(totalRetido, totalDisponivel, patrimonioTotal); return(Request.CreateResponse(HttpStatusCode.OK, investimento)); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ex)); } }
public IHttpActionResult ObterSaldo(int idPessoa) { try { CarteiraCrud crud = new CarteiraCrud(); Carteira carteira = new Carteira(); carteira._pessoa = new Pessoa(); carteira._pessoa.IdPessoa = idPessoa; carteira.TipoMoeda = 1; Carteira retornoEth = crud.ConsultarPorIdPessoaANDTMoeda(carteira); double ethReal = new Negocio().ConverterCriptoParaReal(retornoEth.Saldo, 1); carteira.TipoMoeda = 2; Carteira retornoBtc = crud.ConsultarPorIdPessoaANDTMoeda(carteira); double btcReal = new Negocio().ConverterCriptoParaReal(retornoBtc.Saldo, 2); carteira.Saldo = ethReal + btcReal; carteira.TipoMoeda = 0; return(Ok(carteira)); } catch (Exception) { throw; } }