public async Task <IActionResult> Post([FromBody] AddCurrencyViewModel model)
        {
            if (model == null)
            {
                return(BadRequest());
            }

            if (await _currencyRepo.IsExistCodeAsync(model.Code))
            {
                ModelState.AddModelError("Code", Resources.Global.Common.ThisCodeExist);
            }
            if (await _currencyRepo.IsExistNameAsync(model.Name))
            {
                ModelState.AddModelError("Name", Resources.Global.Common.ThisNameExist);
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetWithErrorsKey()));
            }

            var currency = new Currency(model.Code, model.Name, model.Value, model.PartName, model.PartRate, model.Note);

            var affectedRows = await _currencyRepo.AddAsync(currency);

            if (affectedRows > 0)
            {
                var viewModel = _modelFactory.CreateViewModel(currency, _defaultKeysOptions.Value.CurrencyId);

                return(CreatedAtRoute("GetCurrency", new { id = currency.Number }, viewModel));
            }
            return(BadRequest());
        }
Example #2
0
        public async Task <IActionResult> GenerateDefaultCurrency(int id)
        {
            if (await _currencyRepository.CountAsync() > 0)
            {
                return(BadRequest("you already created currency"));
            }

            var currencyModel = _predefinedGuideService.GetCurrecny(id);

            if (currencyModel == null)
            {
                return(NotFound());
            }

            var currency = new Currency(currencyModel.Code, currencyModel.GetName(_language), 1, currencyModel.GetPartName(_language), currencyModel.PartRate, currencyModel.ISOCode);

            var affectedRows = await _currencyRepository.AddAsync(currency);

            if (affectedRows > 0)
            {
                _defaultKeysOptions.Update(a => a.CurrencyId = currency.Id);
                return(Ok());
            }
            return(BadRequest());
        }
        public async Task <int> Handle(CreateCurrencyCommand request, CancellationToken cancellationToken)
        {
            var @currency = _mapper.Map <Currency>(request);

            @currency = await _currencyRepository.AddAsync(@currency);

            return(@currency.Id);
        }
        public async Task <Response <int> > Handle(CreateCurrencyCommand request, CancellationToken cancellationToken)
        {
            var currency = _mapper.Map <Currency>(request);
            await _currencyRepository.AddAsync(currency);

            await _unitOfWork.Commit(cancellationToken);

            return(new Response <int>(currency.Id));
        }
        public async Task CreateAsync(CurrencyCreateInputDto input)
        {
            Currency createCurrency = new Currency()
            {
                Code           = input.Code,
                Description    = input.Description,
                IsHomeCurrency = input.IsHomeCurrency,
                CreatedDate    = input.CreatedDate,
                CreatedUserId  = input.CreatedUserId
            };

            await _currencyRepository.AddAsync(createCurrency);

            await _currencyRepository.SaveChangesAsync();
        }
        public async Task <CurrencyResponse> SaveAsync(Currency currency)
        {
            try
            {
                await _currencyRepository.AddAsync(currency);

                await _unitOfWork.CompleteAsync();

                return(new CurrencyResponse(currency));
            }
            catch (Exception ex)
            {
                return(new CurrencyResponse($"An error ocurred while saving currency: {ex.Message}"));
            }
        }