Example #1
0
        // POST: api/transacao
        public IHttpActionResult Post([FromBody] HistoricoCarteira value)
        {
            try
            {
                HistoricoCarteiraCrud historicoCarteiraCrud = new HistoricoCarteiraCrud();

                value.DataHora = DateTime.Now;
                CarteiraCrud carteiraCrud = new CarteiraCrud();
                value._carteira       = carteiraCrud.ConsultarPorIdPessoaANDTMoeda(value._carteira);
                value._carteira.Saldo = value._carteira.Saldo - new Negocio().ConverterRealParaCripto(value.Valor, value._carteira.TipoMoeda);

                if (value._carteira.Saldo < 0)
                {
                    value._carteira.Saldo = value._carteira.Saldo + new Negocio().ConverterRealParaCripto(value.Valor, value._carteira.TipoMoeda);
                    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);
                }

                carteiraCrud.Alterar(value._carteira);
                String retorno = historicoCarteiraCrud.InserirBoleto(value);
                return(Ok(retorno));
            }
            catch (Exception)
            {
                throw;
            }
        }