Beispiel #1
0
        public IHttpActionResult Update(string id, BookPostRep resource)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            try
            {
                var @event = new BookUpdateEvent
                {
                    Id         = Guid.Parse(id),
                    Name       = resource.Name,
                    AuthorId   = resource.AuthorId,
                    CategoryId = resource.CategoryId
                };

                this._bookService.Update(@event);

                return(this.CreatedAtRoute(BookResourceNames.Routes.GetById, new { id = @event.Id }, new { }));
            }
            catch (FormatException)
            {
                return(this.BadRequest());
            }
            catch (ObjectNotFoundException)
            {
                return(this.NotFound());
            }
            catch (Exception ex)
            {
                return(this.InternalServerError(ex));
            }
        }
Beispiel #2
0
        public IHttpActionResult Create(BookPostRep resource)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            try
            {
                var @event = new BookCreateEvent
                {
                    Name       = resource.Name,
                    AuthorId   = resource.AuthorId,
                    CategoryId = resource.CategoryId
                };

                this._bookService.Add(@event);

                return(this.CreatedAtRoute(BookResourceNames.Routes.GetById, new { id = @event.Id }, resource));
            }
            catch (Exception ex)
            {
                return(this.InternalServerError(ex));
            }
        }
Beispiel #3
0
        public async Task <ActionResult> Insert(Book obj)
        {
            var resource = new BookPostRep
            {
                Name       = obj.Name,
                AuthorId   = obj.AuthorId,
                CategoryId = obj.CategoryId
            };

            var response = await _proxy.PostAsync("books", resource : resource);

            if (response.IsSuccessStatusCode)
            {
                BookViewModel model        = new BookViewModel();
                var           responseList = await this._proxy.GetAsync("books");

                dynamic responseContent = await responseList.Content.ReadAsAsync <Object>();

                model.Books        = responseContent.Items.ToObject <List <Book> >();
                model.SelectedBook = model.Books.Find(o => o.Id == obj.Id);
                model.DisplayMode  = "ReadOnly";
                return(View("Index", model));
            }

            return(View("Index"));
        }