public async Task <IActionResult> UpdateAsync([FromBody] UpdateMerchantRequest request) { if (!ModelState.IsValid) { return(BadRequest(new ErrorResponse().AddErrors(ModelState))); } try { var merchant = Mapper.Map <Merchant>(request); await _merchantService.UpdateAsync(merchant); } catch (MerchantNotFoundException exception) { await _log.WriteWarningAsync(nameof(MerchantsController), nameof(UpdateAsync), request.ToJson(), exception.Message); return(NotFound(ErrorResponse.Create(exception.Message))); } catch (Exception exception) { await _log.WriteErrorAsync(nameof(MerchantsController), nameof(UpdateAsync), request.ToJson(), exception); throw; } return(NoContent()); }
public async Task <IActionResult> UpdateAsync([FromBody] UpdateMerchantRequest request) { try { var merchant = Mapper.Map <Merchant>(request); await _merchantService.UpdateAsync(merchant); return(NoContent()); } catch (InvalidRowKeyValueException e) { _log.Error(e, $"{e.Variable}: {e.Value}"); return(BadRequest(ErrorResponse.Create(e.Message))); } catch (MerchantNotFoundException e) { _log.Warning(e.Message, request.ToDetails()); return(NotFound(ErrorResponse.Create(e.Message))); } catch (DuplicateMerchantApiKeyException e) { _log.Error(e, request.ToDetails()); return(BadRequest(ErrorResponse.Create(e.Message))); } catch (DuplicateMerchantEmailException e) { _log.Error(e, request.ToDetails()); return(BadRequest(ErrorResponse.Create(e.Message))); } catch (MerchantEmailUpdateException e) { _log.Error(e, request.ToDetails()); return(BadRequest(ErrorResponse.Create(e.Message))); } }
public BaseResponse <GetMerchantResponse, ErrorsResponse> UpdateMerchant(string merchantId, UpdateMerchantRequest request) { var method = HttpMethod.Put; var endpoint = $"/merchants/{merchantId}"; return(this.SendRequest <GetMerchantResponse>(method, endpoint, request, authMode: "token")); }
public ApiResponse <object> UpdateMerchant(UpdateMerchantRequest request) { return(SendApiRequest <UpdateMerchantRequest, object>(request)); }
public async Task <ActionResult> AddOrEditMerchant(AddOrEditMerchantDialogViewModel vm) { var merchants = await _payMerchantClient.Api.GetAllAsync(); if (string.IsNullOrEmpty(vm.Name)) { return(this.JsonFailResult("MerchantId required", ErrorMessageAnchor)); } if (string.IsNullOrEmpty(vm.DisplayName)) { return(this.JsonFailResult("DisplayName required", ErrorMessageAnchor)); } if (string.IsNullOrEmpty(vm.ApiKey)) { vm.ApiKey = StringUtils.GenerateId().Replace("-", string.Empty); } if (string.IsNullOrEmpty(vm.Email) && vm.IsNewMerchant) { return(this.JsonFailResult("Email required", ErrorMessageAnchor)); } if (vm.IsNewMerchant) { if (merchants != null && merchants.Select(x => x.Name).Contains(vm.Name)) { return(this.JsonFailResult(Phrases.AlreadyExists, "#name")); } try { var merchant = await _payMerchantClient.Api.CreateAsync(new CreateMerchantRequest { Name = vm.Name, ApiKey = vm.ApiKey, LwId = vm.LwId, DisplayName = vm.DisplayName, Email = vm.Email }); await _payAuthClient.RegisterAsync(new Lykke.Service.PayAuth.Client.Models.RegisterRequest { ApiKey = vm.ApiKey, ClientId = merchant.Id }); } catch (Exception ex) { return(this.JsonFailResult(ex.Message, ErrorMessageAnchor)); } } else { MerchantModel existingMerchant = await _payMerchantClient.Api.GetByIdAsync(vm.Id); try { var updateRequest = new UpdateMerchantRequest { Id = vm.Id, ApiKey = vm.ApiKey, LwId = vm.LwId, Name = vm.Name, DisplayName = vm.DisplayName, }; if (string.IsNullOrEmpty(existingMerchant.Email)) { if (!string.IsNullOrEmpty(vm.Email)) { updateRequest.Email = vm.Email; } } await _payMerchantClient.Api.UpdateAsync(updateRequest); await _payAuthClient.UpdateApiKeyAsync(new Lykke.Service.PayAuth.Client.Models.UpdateApiKeyRequest { ApiKey = vm.ApiKey, ClientId = vm.Id }); } catch (Exception ex) { return(this.JsonFailResult(ex.Message, ErrorMessageAnchor)); } } return(this.JsonRequestResult("#merchantsList", Url.Action("MerchantsList"))); }
public async Task <ServiceResponse <Merchant> > Update(Guid Id, UpdateMerchantRequest request) { throw new NotImplementedException(); }
public async Task UpdateMerchantAsync(UpdateMerchantRequest request) { await _runner.RunWithDefaultErrorHandlingAsync(() => _merchantsApi.UpdateAsync(request)); }