예제 #1
0
        public async Task <IActionResult> Update([FromRoute] int id, [FromBody] UpdateMerchantRequestMessage updateMerchantRequestMessage)
        {
            var merchant = await MerchantService.UpdateAsync(id, updateMerchantRequestMessage);

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

            return(Ok(merchant));
        }
        public async Task <Merchant> UpdateAsync(int id, UpdateMerchantRequestMessage updateMerchantRequestMessage)
        {
            var merchant = await MerchantRepository.GetAsync(id);

            if (merchant == null)
            {
                return(null);
            }

            merchant.ChangeDocument(updateMerchantRequestMessage.Document);
            merchant.ChangeName(updateMerchantRequestMessage.Name);

            if (!await MerchantRepository.UpdateAsync(merchant))
            {
                throw new Exception($"Erro on update merchant");
            }

            await CacheService.DelAsync(id.ToString());

            return(merchant);
        }