public IEnumerable <CurrencyRateViewModel> Convert(IEnumerable <CurrencyRateModel> source, IEnumerable <CurrencyRateViewModel> destination, ResolutionContext context)
        {
            if (context == null)
            {
                return(new CurrencyRateViewModel[0]);
            }

            if (source == null)
            {
                return(new CurrencyRateViewModel[0]);
            }

            var rates = new Collection <CurrencyRateViewModel>();

            foreach (var rateModel in source)
            {
                var model = new CurrencyRateViewModel
                {
                    Base      = rateModel.Base.ToString().ToUpperInvariant(),
                    BaseIso   = (short)rateModel.Base,
                    Target    = rateModel.Target.ToString().ToUpperInvariant(),
                    TargetIso = (short)rateModel.Target,
                    Rate      = rateModel.Rate
                };

                rates.Add(model);
            }

            return(rates.OrderBy(a => a.TargetIso));
        }
예제 #2
0
        public ActionResult Currency(CurrencyViewModel curr)
        {
            if (curr.Amount == 0)
            {
                ModelState.AddModelError("Amount", "Amount is required");
            }

            if (string.IsNullOrEmpty(curr.Currency))
            {
                ModelState.AddModelError("Currency", "Currency is required");
            }

            Double calrate = 0;

            if (ModelState.IsValid)
            {
                calrate = _currentService.CalculateCurrency(curr);

                var vm = new CurrencyRateViewModel()
                {
                    Amount        = curr.Amount,
                    CalRateAmount = calrate,
                    currency      = curr.Currency
                };

                //TempData["Name"] = vm.Name;
                return(View("CurrencyDisplayRate", vm));
            }

            return(View(curr));
        }
예제 #3
0
        /// <summary>
        /// Delete an entity.
        /// </summary>
        /// <param name="model"></param>
        public void Delete(CurrencyRateViewModel model)
        {
            var entity = model.ToEntity();

            this._CurrencyRatesRepository.Delete(entity);

            #region Commit Changes
            this._unitOfWork.Commit();
            #endregion
        }
        // GET: RateConfiguration
        public ActionResult CurrencyRateList()
        {
            var rateList                = _context.RATEINFOes.ToList();
            var currencyList            = _context.CURRINFOes.ToList();
            CurrencyRateViewModel model = new CurrencyRateViewModel()
            {
                Currinfos = currencyList, Rateinfos = rateList
            };

            return(View(model));
        }
예제 #5
0
        /// <summary>
        /// Throw an exception if name is exist.
        /// </summary>
        /// <param name="model">CurrencyRate view model</param>
        public void ThrowExceptionIfExist(CurrencyRateViewModel model)
        {
            //ConditionFilter<CurrencyRate, long> condition = new ConditionFilter<CurrencyRate, long>
            //{
            //	Query = (entity =>
            //		entity.Name == model.Name &&
            //		entity.Id != model.Id)
            //};
            //var existEntity = this._CurrencyRatesRepository.Get(condition).FirstOrDefault();

            //if (existEntity != null)
            //	throw new ItemAlreadyExistException();
        }
예제 #6
0
        /// <summary>
        /// Update an entity.
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public CurrencyRateViewModel Update(CurrencyRateViewModel model)
        {
            this.ThrowExceptionIfExist(model);

            var entity = model.ToEntity();

            entity = this._CurrencyRatesRepository.Update(entity);

            #region Commit Changes
            this._unitOfWork.Commit();
            #endregion

            model = entity.ToModel();
            return(model);
        }
예제 #7
0
 public IActionResult AddRate(int id, [FromBody] CurrencyRateViewModel model)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(BadRequest(ModelState));
         }
         service.AddRate(model);
         return(Ok(new ResponceViewModel <string>($"Rate is created successfully")
         {
             HasError = false
         }));
     }
     catch (Exception ex)
     {
         logger.LogError($"Exception thrown on add currency rate: {ex}");
         return(BadRequest(new ResponceViewModel <string>($"Add currency rate failed. {ex.Message}")));
     }
 }