CPE_learningsite
This repository has no backups
This repository's network speed is throttled to 100KB/sec
Upgrade your account to fix these warnings, or use backups.vc for automated backups
4cd176a439ea516368a5d8827cdf8726027259a6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using CPE.App.Api.Helpers; using CPE.App.Web.Models; using System.Web; using System.Web.Http; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json.Linq; using Newtonsoft.Json; using System.Web.Mvc; using System.Diagnostics; using System.Net.Http.Formatting; using CPE.App.Web.Elucidat; using CPE.App.Web.Helpers; namespace CPE.App.Api.Controllers { public class ElucidatWebHookController : ApiController { private readonly JsonMediaTypeFormatter[] _jsonFormatters = { new JsonMediaTypeFormatter { SerializerSettings = new JsonSerializerSettings { ContractResolver = new UnderscoreContractResolver(), } } }; // GET: api/ElucidatWebHook public bool Get() { return true; } // POST: api/ElucidatWebHook public async Task<HttpResponseMessage> Post() { if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } string root = HttpContext.Current.Server.MapPath("~/App_Data"); var provider = new MultipartFormDataStreamProvider(root); try { await Request.Content.ReadAsMultipartAsync(provider); foreach (var key in provider.FormData.AllKeys) { foreach (var val in provider.FormData.GetValues(key)) { if (val.IndexOf("release_code") >-1) { ReleaseModel release = (ReleaseModel)JsonConvert.DeserializeObject(val, typeof(ReleaseModel), _jsonFormatters[0].SerializerSettings); if (release.Project.Name.IndexOf("Template") < 0) { if (release.ReleaseMode == "online-private") { var done = true; if (release.LrsEndpoint == null) { done = ProjectConfigureHelper.ProjectConfiguration(release.Project.ProjectCode, release.ReleaseCode); } done = ReleaseDetailHelper.GetReleaseDescriptionDetails(release) && done; if (!done) { Utilities.LogWrapper.Error("[ElucidatWebHookController][Post] Bad Release: ProjectCode={0} ReleaseCode={1}", release.Project.ProjectCode, release.ReleaseCode); //send email to cpe that something went wrong capturing release description or updating lrs info var result = SendEmailHelper.SendBadReleaseEmail(release); } } } } } } return Request.CreateResponse(HttpStatusCode.OK); } catch (System.Exception e) { Utilities.LogWrapper.Error("[ElucidatWebHookController][Post] Unhandled exception: exception={0}", e.ToString()); return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e); } } } } |
Commits for CPE_learningsiteCPE/CPE.App/CPE.App.Api/Controllers/ElucidatWebHookController.cs
Revision | Author | Commited | Message |
---|---|---|---|
4cd176 ... | v.shishlov | Fri 27 Aug, 2021 14:33:17 +0000 | initial commit |