Esempio n. 1
0
        public void ToRealFormat()
        {
            var result1 = FinancialConverter.ToRealFormat(1000);
            var result2 = FinancialConverter.ToRealFormat(50.25m);
            var result3 = FinancialConverter.ToRealFormat(200.250m);
            var result4 = FinancialConverter.ToRealFormat(4500.50m);

            Assert.Equal("R$ 1.000,00", result1);
            Assert.Equal("R$ 50,25", result2);
            Assert.Equal("R$ 200,25", result3);
            Assert.Equal("R$ 4.500,50", result4);
        }
Esempio n. 2
0
        public void FromRealToDouble()
        {
            var result1 = FinancialConverter.FromRealToDecimal("R$ 1.000,00");
            var result2 = FinancialConverter.FromRealToDecimal("R$ 1.000.000,00");
            var result3 = FinancialConverter.FromRealToDecimal("25,25");
            var result4 = FinancialConverter.FromRealToDecimal("500,000");

            Assert.Equal(1000, result1);
            Assert.Equal(1000000, result2);
            Assert.Equal(25.25m, result3);
            Assert.Equal(500, result4);
        }
Esempio n. 3
0
        public async Task AddToQueue(FinancialEntryEntity financialEntryEntity)
        {
            try
            {
                var dayAccountLimit = Convert.ToDecimal(Configuration.GetSection("Business:DayAccountLimit").Value);
                if (_financialEntryValidateService.IsEntryInThePast(financialEntryEntity.EntryDate, DateTime.Now))
                {
                    throw new ApiException("Você não pode fazer lançamentos no passado!", HttpStatusCode.BadRequest);
                }

                if (financialEntryEntity.EntryType == FinancialEntryTypeEnum.Payment)
                {
                    var dayBalanceEntity = await _dayBalanceBusiness.FillDayBalance(financialEntryEntity);

                    if (_financialEntryValidateService.IsDayAccountLimitReached(dayBalanceEntity))
                    {
                        throw new ApiException(string.Format("O valor ultrapassa o limite de pagamento diário no valor de {0}.", FinancialConverter.ToRealFormat(dayAccountLimit)), HttpStatusCode.UnprocessableEntity);
                    }

                    await _paymentQueue.Publish(financialEntryEntity);
                }

                if (financialEntryEntity.EntryType == FinancialEntryTypeEnum.Receipt)
                {
                    await _receiptQueue.Publish(financialEntryEntity);
                }
            }
            catch
            {
                throw;
            }
        }