예제 #1
0
        public JsonResult RequestReleaseNotification(string emailAddress, string reCaptchaResponse)
        {
            HttpClient httpClient = new HttpClient();
            var        res        = httpClient.GetAsync($"https://www.google.com/recaptcha/api/siteverify?secret={_appSettings.ReCaptchaSecretKey}&response={reCaptchaResponse}").Result;

            if (res.StatusCode != HttpStatusCode.OK)
            {
                return(new JsonResult(false));
            }

            var releaseNotificationRequest = new ReleaseNotificationRequest
            {
                RequesterEmail = emailAddress,
                RequestedAt    = DateTime.UtcNow
            };

            if (!releaseNotificationRequest.IsValidForCreate())
            {
                return(new JsonResult(false));
            }

            if (!_requestRepository.EmailExists(releaseNotificationRequest.RequesterEmail))
            {
                _requestRepository.Add(releaseNotificationRequest);
            }

            return(new JsonResult(true));
        }
예제 #2
0
 public void Add(ReleaseNotificationRequest entity)
 {
     _context.ReleaseNotificationRequests.Add(entity);
     _context.SaveChanges();
 }