public void CalculateTest()
        {
            var rateComparasionCalculator = new RateComparasionCalculator();
            var left = new Models.Currency("EUR", "321");
            var right = new Models.Currency("RUB", "123");
            var one = new CurrencyRate(left, right, 1000);
            var two = new CurrencyRate(left, right, 1100);
            var res = rateComparasionCalculator.Calculate(one, two);

            Assert.IsTrue(res.Currency.Equals(right));
            Assert.AreEqual(100m, res.Difference);
            Assert.AreEqual(10m, res.Percent);
            Assert.AreEqual(RateComparasionType.Increased, res.RateComparasionType);

            one = new CurrencyRate(left, right, 1000);
            two = new CurrencyRate(left, right, 700);
            res = rateComparasionCalculator.Calculate(one, two);

            Assert.IsTrue(res.Currency.Equals(right));
            Assert.AreEqual(300m, res.Difference);
            Assert.AreEqual(30m, res.Percent);
            Assert.AreEqual(RateComparasionType.Decreased, res.RateComparasionType);

            one = new CurrencyRate(left, right, 1000);
            two = new CurrencyRate(left, right, 1000);
            res = rateComparasionCalculator.Calculate(one, two);

            Assert.IsTrue(res.Currency.Equals(right));
            Assert.AreEqual(0m, res.Difference);
            Assert.AreEqual(0m, res.Percent);
            Assert.AreEqual(RateComparasionType.NotChanged, res.RateComparasionType);
        }
示例#2
0
        public Models.Currency ConvertDTOToCurrencyModel(CurrencyConverter.Models.Currency curr)
        {
            var config = new MapperConfiguration(cfg => cfg.CreateMap <CurrencyConverter.Models.Currency, Models.Currency>());
            var mapper = config.CreateMapper();

            Models.Currency currency = mapper.Map <Models.Currency>(curr);
            return(currency);
        }
示例#3
0
 public CurrencyAmount(Models.Currency currency, decimal amount = 0)
 {
     if (Models.Currency.IsNullOrEmpty(currency))
     {
         throw new System.ArgumentNullException();
     }
     Currency = currency.Name;
     Amount   = amount;
 }
示例#4
0
 public bool DeleteCurrency(Models.Currency currency)
 {
     if (currency == null)
     {
         return(false);
     }
     _unitOfWork.CurrencyRepository.Delete(currency);
     _unitOfWork.Save();
     return(true);
 }
示例#5
0
        public async Task <ActionResult <Currency> > SaveCurrency([FromBody] CurrencyDTO _CurrencyS)
        {
            Currency _Currency = _CurrencyS;

            try
            {
                // DTO_NumeracionSAR _liNumeracionSAR = new DTO_NumeracionSAR();
                string     baseadress = config.Value.urlbase;
                HttpClient _client    = new HttpClient();
                _client.DefaultRequestHeaders.Add("Authorization", "Bearer " + HttpContext.Session.GetString("token"));
                var result = await _client.GetAsync(baseadress + "api/Currency/GetCurrencyById/" + _Currency.CurrencyId);

                string valorrespuesta = "";
                _Currency.FechaModificacion   = DateTime.Now;
                _Currency.UsuarioModificacion = HttpContext.Session.GetString("user");
                if (result.IsSuccessStatusCode)
                {
                    valorrespuesta = await(result.Content.ReadAsStringAsync());
                    _Currency      = JsonConvert.DeserializeObject <CurrencyDTO>(valorrespuesta);
                }

                if (_Currency == null)
                {
                    _Currency = new Models.Currency();
                }

                if (_CurrencyS.CurrencyId == 0)
                {
                    _Currency.FechaCreacion   = DateTime.Now;
                    _Currency.UsuarioCreacion = HttpContext.Session.GetString("user");
                    var insertresult = await Insert(_CurrencyS);
                }
                else
                {
                    _CurrencyS.UsuarioCreacion = _Currency.UsuarioCreacion;
                    _CurrencyS.FechaCreacion   = _Currency.FechaCreacion;
                    var updateresult = await Update(_Currency.CurrencyId, _CurrencyS);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                throw ex;
            }

            return(Json(_Currency));
        }
        public void Insert(string Code, string Name, double Buy, double Transfer, double Sell, DateTime UpdateTime)
        {
            var currency = _context.Currencies.FirstOrDefault(c => c.CurrencyCode == Code);

            if (currency == null)
            {
                currency = new Models.Currency
                {
                    CurrencyCode = Code,
                    CurrencyName = Name
                };
            }
            var rate = new VNDExchangeRate
            {
                Currency    = currency,
                Buy         = Buy,
                Transfer    = Transfer,
                Sell        = Sell,
                UpdatedTime = UpdateTime
            };

            _context.VNDExchangeRates.Add(rate);
        }
示例#7
0
 public static string ToFormatedString(this Models.Currency currency)
 {
     return($"Id валюты: {currency.currencyId} Курс: {currency.currencyRate}");
 }
示例#8
0
 public CurrencyRateFactory(Models.Currency right)
 {
     _right = right;
 }
示例#9
0
 public bool EditCurrency(Models.Currency currency)
 {
     _unitOfWork.CurrencyRepository.Edit(currency);
     _unitOfWork.Save();
     return(true);
 }