Beispiel #1
0
        public HttpResponseMessage Put(int id, SymmetricKeyModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState.GetErrors()));
            }

            var sk = this.config.Keys.All.SingleOrDefault(x => x.ID == id) as SymmetricKey;

            if (sk == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            if (this.config.Keys.All.Any(x => x.Name == model.Name && x.ID != id))
            {
                ModelState.AddModelError("", "That Name is already in use.");
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState.GetErrors()));
            }

            sk.Name = model.Name;
            this.config.SaveChanges();

            return(Request.CreateResponse(HttpStatusCode.NoContent));
        }
        public HttpResponseMessage Post(SymmetricKeyModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState.GetErrors()));
            }

            var sk = new SymmetricKey();

            sk.Name = model.Name;
            sk.SetValue(Convert.FromBase64String(model.Value));
            this.config.Keys.Add(sk);
            this.config.SaveChanges();

            return(Request.CreateResponse(HttpStatusCode.OK, new { ID = sk.ID }));
        }