Esempio n. 1
0
        public async Task <PartnerCreateResponse> AddAsync([FromBody] PartnerCreateRequest request)
        {
            var requestMapped = _mapper.Map <PartnerCreateRequest, PartnerCreateModel>(request,
                                                                                       opt => opt.AfterMap((src, dest) => { dest.CreatedBy = Guid.Parse(_requestContext.UserId); }));

            requestMapped.ClientId = await _partnerManagementClient.Auth.GenerateClientId();

            requestMapped.ClientSecret = await _partnerManagementClient.Auth.GenerateClientSecret();

            PartnerManagement.Client.Models.Partner.PartnerCreateResponse response;

            try
            {
                response = await _partnerManagementClient.Partners.CreateAsync(requestMapped);
            }
            catch (ClientApiException exception)
            {
                throw new ValidationApiException(exception.ErrorResponse);
            }

            ThrowIfError(response.ErrorCode, response.ErrorMessage);
            foreach (var location in request.Locations)
            {
                location.FirstName = location.FirstName.SanitizeName();
                location.LastName  = location.LastName.SanitizeName();
                location.Email     = location.Email.SanitizeName();
                location.Phone     = location.Phone.SanitizePhone();
            }
            await _auditLogPublisher.PublishAuditLogAsync(_requestContext.UserId, request.ToJson(), ActionType.CreatePartner);

            return(new PartnerCreateResponse
            {
                PartnerId = response.Id.ToString()
            });
        }
        public async Task <PartnerCreateResponse> AddAsync([FromBody] PartnerCreateRequest request)
        {
            var requestMapped = _mapper.Map <PartnerCreateRequest, PartnerCreateModel>(request,
                                                                                       opt => opt.AfterMap((src, dest) => { dest.CreatedBy = Guid.Parse(_requestContext.UserId); }));

            requestMapped.ClientId = await _partnerManagementClient.Auth.GenerateClientId();

            requestMapped.ClientSecret = await _partnerManagementClient.Auth.GenerateClientSecret();

            PartnerManagement.Client.Models.Partner.PartnerCreateResponse response;

            try
            {
                response = await _partnerManagementClient.Partners.CreateAsync(requestMapped);
            }
            catch (ClientApiException exception)
            {
                throw new ValidationApiException(exception.ErrorResponse);
            }

            ThrowIfError(response.ErrorCode, response.ErrorMessage);

            return(new PartnerCreateResponse
            {
                PartnerId = response.Id.ToString()
            });
        }
Esempio n. 3
0
        public async Task AddAsync([FromBody] PartnerCreateRequest request)
        {
            var requestMapped = _mapper.Map <PartnerCreateRequest, PartnerCreateModel>(request,
                                                                                       opt => opt.AfterMap((src, dest) => { dest.CreatedBy = Guid.Parse(_requestContext.UserId); }));

            PartnerCreateResponse response;

            try
            {
                response = await _partnerManagementClient.Partners.CreateAsync(requestMapped);
            }
            catch (ClientApiException exception)
            {
                throw new ValidationApiException(exception.ErrorResponse);
            }

            ThrowIfError(response.ErrorCode, response.ErrorMessage);
        }