public async Task <IHttpActionResult> Delete([FromODataUri] System.Guid key)
        {
            logger.Trace("Call CurrencyController Delete");

            await CurrencyRepository.DeleteAsync(key);

            return(Ok());
        }
        public CurrencyInputGroupGraphType(ICurrencyRepository currencyRepository)
        {
            FieldAsync <NonNullGraphType <CurrencyType> >(
                "insert",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <CurrencyInsertInputType> > {
                Name = "currency"
            }),
                resolve: async(context) =>
            {
                var currency = context.GetArgument <Currency>("currency");
                await currencyRepository.InsertAsync(currency);
                return(currency);
            });

            FieldAsync <CurrencyType>(
                "update",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <CurrencyUpdateInputType> > {
                Name = "currency"
            }),
                resolve: async(context) =>
            {
                var currency = context.GetArgument <Currency>("currency");
                await currencyRepository.UpdateAsync(currency);
                return(currency);
            });

            FieldAsync <CurrencyType>(
                "partialUpdate",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <CurrencyPartialUpdateInputType> > {
                Name = "currency"
            }),
                resolve: async(context) =>
            {
                var values = context.Arguments["currency"] as IDictionary <string, object>;

                context.AddErrorWhenSemiMandatoryFieldNull(values, nameof(Currency.Code));
                context.AddErrorWhenSemiMandatoryFieldNull(values, nameof(Currency.Name));

                if (context.Errors.Any())
                {
                    return(null);
                }

                return(await currencyRepository.PartiallyUpdateAsync(values));
            });

            FieldAsync <NonNullGraphType <BooleanGraphType> >(
                "delete",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = nameof(Currency.Id).Camelize()
            }),
                resolve: async(context) =>
            {
                var id = context.GetArgument <int>(nameof(Currency.Id).Camelize());
                return(await currencyRepository.DeleteAsync(id));
            });
        }
Ejemplo n.º 3
0
            public async Task <Result <int> > Handle(DeleteCurrencyCommand command, CancellationToken cancellationToken)
            {
                var currency = await _repository.GetByIdAsync(command.Id);

                await _repository.DeleteAsync(currency);

                await _unitOfWork.Commit(cancellationToken);

                return(Result <int> .Success(currency.Id));
            }
Ejemplo n.º 4
0
            public async Task <Response <int> > Handle(DeleteCurrencyCommand request, CancellationToken cancellationToken)
            {
                var currency = await _currencyRepository.GetByIdAsync(request.Id);

                if (currency == null)
                {
                    throw new ApiException("Currency not Found.");
                }
                await _currencyRepository.DeleteAsync(currency);

                await _unitOfWork.Commit(cancellationToken);

                return(new Response <int>(currency.Id));
            }
Ejemplo n.º 5
0
        public async Task <IActionResult> Delete(long id)
        {
            var currency = await _currencyRepo.GetAsync(id);

            if (currency == null)
            {
                return(NotFound(Resources.Currencies.CurrencyResource.CurrencyNotFound));
            }

            var affectedRows = await _currencyRepo.DeleteAsync(currency);

            if (affectedRows == -1)
            {
                return(BadRequest(Resources.Currencies.CurrencyResource.CanNotDeleteCurrency));
            }
            if (affectedRows > 0)
            {
                var viewModel = _modelFactory.CreateViewModel(currency, _defaultKeysOptions.Value.CurrencyId);
                return(Ok(viewModel));
            }
            return(BadRequest());
        }