public ResponseResult CreateCurrency(string currencyCode) { try { if (string.IsNullOrWhiteSpace(currencyCode)) { return(new ResponseResult("Название валюты не задано")); } if (currencyCode.Length != 3) { return(new ResponseResult("Валюта задана не в международном формате")); } if (_currencyRepository.CreateCurrency(currencyCode)) { return(new ResponseResult { IsSuccess = true }); } return(new ResponseResult("Данная валюта уже существует")); } catch (Exception e) { const string errorMessage = "Ошибка при создании валюты"; _loggingService.Log(this, errorMessage, LogType.Error, e); return(new ResponseResult <IEnumerable <string> >(errorMessage)); } }
public async Task <ActionResult <CurrencyVM> > CreateCurrency(CurrencyVM currencyVM) { try { if (currencyVM == null) { return(BadRequest()); } // Add custom model validation error Currency currency = await currencyRepository.GetCurrencyByname(currencyVM.Currency); if (currency != null) { ModelState.AddModelError("Name", $"Currency name: {currencyVM.Currency.Name} already in use"); return(BadRequest(ModelState)); } currencyVM = await currencyRepository.CreateCurrency(currencyVM); return(CreatedAtAction(nameof(GetCurrency), new { id = currencyVM.Currency.Id }, currencyVM)); } catch (DbUpdateException Ex) { return(StatusCode(StatusCodes.Status500InternalServerError, Ex.InnerException.Message)); } }