initial commit
[CPE_learningsite] / CPE / CPE.App / CPE.App.Api / Controllers / StatementController.cs
1 using Newtonsoft.Json.Linq;
2 using System;
3 using System.Collections.Generic;
4 using System.Linq;
5 using System.Net;
6 using System.Net.Http;
7 using System.Web.Http;
8 using System.Web.Http.Results;
9 using System.Web.Mvc;
10 using TinCan;
11 using CPE.App.Api.Models;
12 using System.Threading.Tasks;
13 using CPE.App.Api.Helpers;
14
15 namespace CPE.App.Api.Controllers
16 {
17     public class statementsController : ApiController
18     {
19
20         public HttpResponseMessage Post(JObject tincan)
21         {
22             //Utilities.LogWrapper.Info("[statementsController][Post] tincan={0}", tincan.ToString());
23
24             TinCanStatementModel statement = tincan.ToObject<TinCanStatementModel>();
25             var done = TinCanHelper.HandleStatement(statement);
26             if (!done)
27             {
28                 Utilities.LogWrapper.Error("[statementsController][Post] TinCan Handler failed: email={0} courseName={1}", statement.Actor.Mbox.Substring(7), statement.Object.Definition.Name.EnUs);
29
30                 var result = SendEmailHelper.SendCertificateGenerationFailedEmail(statement);
31             }
32             return Request.CreateResponse(HttpStatusCode.OK);
33         }
34     }
35 }