Example #1
0
        private async Task <bool> SendTokenViaEmail(string email, string resetToken)
        {
            Dictionary <string, string> jsonValues = new Dictionary <string, string>
            {
                { "email", email },
                { "resetToken", resetToken }
            };

            var request = new HttpRequestMessage(HttpMethod.Post, "mail")
            {
                Content = new StringContent(JsonConvert.SerializeObject(jsonValues), UnicodeEncoding.UTF8)
            };

            request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            var client       = _httpClientFactory.CreateClient();
            var httpResponse = await client.SendAsync(request);

            var responseContent = await httpResponse.Content.ReadAsStringAsync();

            EmailSendResponse response = JsonConvert.DeserializeObject <EmailSendResponse>(responseContent);

            if (response.Error != null)
            {
                _logger.LogError(response.Error);
            }

            return(response.Success);
        }
        public EmailSendResponse SendCriminalRecords(EmailSendRequest request)
        {
            var response = new EmailSendResponse();

            try
            {
                if (request.Age.Minimum < 0 || request.Age.Maximum < 0 || request.Age.Maximum < request.Age.Minimum)
                {
                    throw new ArgumentOutOfRangeException("Age Range Validation Error");
                }
                if (request.Weight.Minimum < 0 || request.Weight.Maximum < 0 || request.Weight.Maximum < request.Weight.Minimum)
                {
                    throw new ArgumentOutOfRangeException("Weight Range Validation Error");
                }
                if (request.Height.Minimum < 0 || request.Height.Maximum < 0 || request.Height.Maximum < request.Height.Minimum)
                {
                    throw new ArgumentOutOfRangeException("Height Range Validation Error");
                }

                var searchResult = SQLHelper.GetFilteredResult(request.Name, request.Age, request.Height, request.Weight, request.Nationality, request.Sex);
                if (searchResult.Count == 0)
                {
                    throw new ArgumentNullException("No Result");
                }

                var files = PDFHelper.GeneratePdfFiles(searchResult);
                SendEmailTask(request.Email, files);
                response.Result = true;
            }
            catch (Exception ex)
            {
                //TODO: Log Exception
            }
            return(response);
        }