public HttpResponseMessage Post([FromBody] SeasonPass Data) { JsonResponse Response = new JsonResponse(true, new SecureContext()); Response.Create(); if (Response.IsAuthentic == true) { IContentService Service = Services.ContentService; var Pass = Service.CreateContent(EncDecService.Hash(Data.ID), 1121, "seasonPass"); Pass.SetValue("passID", EncDecService.Hash(Data.ID)); Pass.SetValue("holderName", EncDecService.Encrypt(Data.Holder)); Pass.SetValue("validFrom", Convert.ToDateTime(Data.ValidFrom)); Pass.SetValue("validTo", Convert.ToDateTime(Data.ValidTo)); Pass.SetValue("acquiredOn", Convert.ToDateTime(Data.AcquiredOn)); string ResponseMessage; if (Service.SaveAndPublishWithStatus(Pass)) { ResponseMessage = "The content has been successfully saved."; } else { ResponseMessage = "An error occured while saving the season pass."; } Response.Set(new StringContent(ResponseMessage, ApiContext.GetEncoding(), "text/plain")); } return(Response.Get()); }
public void Get(string _Input = null) { // Fetch if (_Input == null) { // Loog for stored pass ResourceResponse Response = CacheResource.Get(); if (Response.IsValid) { SeasonPassModel Pass = JsonConvert.DeserializeObject <SeasonPassModel>(Response.Data); if (IsPassValid(Pass.ValidTo)) { Data = Pass; } else { Data = null; IsPassInvalidEvent?.Invoke(this, EventArgs.Empty); } } } else { string InputEncrypted = EncDecService.Hash(_Input); if (ApiResource.Headers.ContainsKey("PassID")) { ApiResource.Headers["PassID"] = InputEncrypted; } else { ApiResource.Headers.Add("PassID", InputEncrypted); } ResourceResponse Response = ApiResource.Get(); if (Response.IsValid) { List <SeasonPassModel> Temp = JsonConvert.DeserializeObject <List <SeasonPassModel> >(Response.Data); if (Temp.Count > 0) { SeasonPassModel Pass = Temp[0]; if (IsPassValid(Pass.ValidTo)) { CacheResource.AddOrUpdate(JsonConvert.SerializeObject(Pass)); Data = Pass; } else { IsPassInvalidEvent?.Invoke(this, EventArgs.Empty); Data = null; } } else { IsPassInvalidEvent?.Invoke(this, EventArgs.Empty); Data = null; } } } // Decrypt if (Data != null) { Data.Holder = EncDecService.Decrypt(Data.Holder); } }