示例#1
0
        public IHttpActionResult Put(int id, EditBookBm bind)
        {
            if (!this._service.ContainsBook(id))
            {
                return(this.NotFound());
            }

            bool isValid;

            this._service.EditBook(id, bind, out isValid);
            if (!isValid)
            {
                return(this.StatusCode(HttpStatusCode.BadRequest));
            }

            return(this.Ok());
        }
示例#2
0
        public void EditBook(int id, EditBookBm bind, out bool isValid)
        {
            isValid = true;
            Book model = this.Context.Books.Find(id);

            model.Title          = bind.Title;
            model.AgeRestriction = (AgeRestriction)Enum.Parse(typeof(AgeRestriction), bind.AgeRestriction);
            model.EditionType    = (EditionType)Enum.Parse(typeof(EditionType), bind.EditionType);
            model.ReleaseDate    = DateTime.ParseExact(bind.ReleaseDate, "dd-MM-yyyy", null);
            if (this.Context.Authors.Find(bind.AuthorId) == null)
            {
                isValid = false;
                return;
            }

            model.Author      = this.Context.Authors.Find(bind.AuthorId);
            model.Copies      = bind.Copies;
            model.Description = bind.Description;
            model.Price       = bind.Price;
            this.Context.SaveChanges();
        }