Example #1
0
        //[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));
            }
        }
Example #6
0
 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;
     }
 }