Example #1
0
        public async Task <ICommandResult> Handle(CreateCurrencyCommand command)
        {
            command.Validate();
            if (command.Invalid)
            {
                return(new CommandResult(400, false, "Favor revisar os dados para conversão!", command.Notifications));
            }

            //VOs
            var amount              = new Amount(command.Amount);
            var currencyOrigin      = new Coin(command.CurrencyOrigin);
            var currencyDestination = new Coin(command.CurrencyDestination);

            bool existis = await _repository.ExistisCurrencies(currencyOrigin, currencyDestination);

            if (existis == false)
            {
                AddNotification("CurrencyOrigin, CurrencyDestination", "Moedas não existem!");
                return(new CommandResult(400, false, "Favor revisar as moedas digitadas, pois uma ou mais não existem!", null));
            }
            //Entity
            var currency = new Currency(amount, currencyOrigin, currencyDestination);

            AddNotifications(amount, currencyOrigin, currencyDestination, currency);

            if (Invalid)
            {
                return(new CommandResult(400, false, "Favor revisar os dados para conversão!", Notifications));
            }

            return(await _repository.Convert(currency));
        }
Example #2
0
        public async Task <string> ConvertCurrency(CurrenciesToConvert currencies)
        {
            CurrenciesToConvert toConv = new CurrenciesToConvert(currencies);

            toConv.Validation();
            decimal value = await _repository.Convert(currencies.value1, currencies.value2, currencies.amount);

            return($"{currencies.currency2} = {String.Format("{0:N}", value)}");
        }