public async Task <IActionResult> Create([FromForm] CurrencyCreateViewModel model) { IEnumerable <CurrencyCreateViewModel> currencies = null; var myCurrency = _DBcontext.Currency.FirstOrDefault(c => c.Code == model.Code); if (myCurrency != null) { return(RedirectToAction(nameof(Index))); } var responseCurrencies = await GetCurrency(); if (responseCurrencies == null) { return(BadRequest("Something went wrong. Can't get exchange rate.")); } if (ModelState.IsValid) { decimal nationalCurrencyRate = _DBcontext.Currency.FirstOrDefault(c => c.Code == _conf.GetValue <int>("NationalCurrencyCode")).Rate; CurrencyApiResponseModel existingCurrency = responseCurrencies.FirstOrDefault(c => c.r030 == model.Code); Currency currency = _mapper.Map <CurrencyApiResponseModel, Currency>(existingCurrency); currency.UpdatedAt = DateTime.Now; currency.Rate = nationalCurrencyRate / currency.Rate; if (!await _context.AddAsync(currency)) { return(BadRequest("Something went wrong. Currency is not added.")); } return(RedirectToAction(nameof(Index))); } currencies = _mapper.Map <IEnumerable <CurrencyApiResponseModel>, IEnumerable <CurrencyCreateViewModel> >(responseCurrencies); ViewBag.Currencies = currencies; return(View(model)); }
public IActionResult Create(CurrencyCreateViewModel model) { if (ModelState.IsValid) { } return(View()); }
public async Task <IActionResult> Create([FromBody] CurrencyCreateViewModel input) { var user = User.GetDetails(); var currency = new Currency(input.Name, input.Code, input.Description, input.Status, user.Id); if (await _unitOfWork.Currencies.AnyAsync(currency)) { return(BadRequest("Currency Already Exists")); } _unitOfWork.Currencies.Add(currency); await _unitOfWork.CompleteAsync(user.Id); return(Ok(currency)); }