Exemplo n.º 1
0
        public async Task <List <SupportActivityDetail> > GetRegistrationFormSupportActivities(RegistrationFormVariant registrationFormVariant, CancellationToken cancellationToken)
        {
            GetRegistrationFormSupportActivitiesRequest request = new GetRegistrationFormSupportActivitiesRequest()
            {
                RegistrationFormVariantRequest = new RegistrationFormVariantRequest()
                {
                    RegistrationFormVariant = registrationFormVariant
                }
            };

            string path        = $"api/GetRegistrationFormSupportActivities";
            var    jsonContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");

            using (HttpResponseMessage response = await _httpClientWrapper.PostAsync(HttpClientConfigName.GroupService, path, jsonContent, cancellationToken).ConfigureAwait(false))
            {
                string jsonResponse = await response.Content.ReadAsStringAsync();

                var emailSentResponse = JsonConvert.DeserializeObject <ResponseWrapper <GetRegistrationFormSupportActivitiesResponse, CommunicationServiceErrorCode> >(jsonResponse);
                if (emailSentResponse.HasContent && emailSentResponse.IsSuccessful)
                {
                    return(emailSentResponse.Content.SupportActivityDetails);
                }
                else
                {
                    throw new Exception($"Unable to retrieve support activities for registration form");
                }
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)]
            [RequestBodyType(typeof(GetRegistrationFormSupportActivitiesRequest), "get registration form support activities")] GetRegistrationFormSupportActivitiesRequest req,
            CancellationToken cancellationToken)
        {
            try
            {
                if (req.IsValid(out var validationResults))
                {
                    GetRegistrationFormSupportActivitiesResponse response = await _mediator.Send(req, cancellationToken);

                    return(new OkObjectResult(ResponseWrapper <GetRegistrationFormSupportActivitiesResponse, GroupServiceErrorCode> .CreateSuccessfulResponse(response)));
                }
                else
                {
                    return(new ObjectResult(ResponseWrapper <GetRegistrationFormSupportActivitiesResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.ValidationError, validationResults))
                    {
                        StatusCode = 422
                    });
                }
            }
            catch (Exception ex)
            {
                _logger.LogErrorAndNotifyNewRelic($"Unhandled error in GetRegistrationFormSupportActivities", ex);
                return(new ObjectResult(ResponseWrapper <GetRegistrationFormSupportActivitiesResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.InternalServerError, "Internal Error"))
                {
                    StatusCode = StatusCodes.Status500InternalServerError
                });
            }
        }
Exemplo n.º 3
0
        public async Task <GetRegistrationFormSupportActivitiesResponse> GetRegistrationFormSupportActivies(RegistrationFormVariant registrationFormVariant)
        {
            var rfvRequest = new RegistrationFormVariantRequest();

            rfvRequest.RegistrationFormVariant = registrationFormVariant;

            var request = new GetRegistrationFormSupportActivitiesRequest();

            request.RegistrationFormVariantRequest = rfvRequest;

            var requestContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");

            HttpResponseMessage response = await Client.PostAsync("/api/GetRegistrationFormSupportActivities", requestContent);

            var responseString = await response.Content.ReadAsStringAsync();

            var deserializeContent = JsonConvert.DeserializeObject <ResponseWrapper <GetRegistrationFormSupportActivitiesResponse, GroupServiceErrorCode> >(responseString);

            if (deserializeContent.HasContent && deserializeContent.IsSuccessful)
            {
                return(deserializeContent.Content);
            }
            else
            {
                throw new Exception("Unable to fetch Support Activities For Form Varient");
            }
        }