public IHttpActionResult PostOffer(OfferModel offer) { if (!ModelState.IsValid || offer.CategoryID == null || offer.SellerID == null) { return(BadRequest(ModelState)); } CategoryModel category = categoriesService.GetCategory((int)offer.CategoryID); UserModel seller = usersService.GetUser((int)offer.SellerID); if (category == null || seller == null) { return(NotFound()); } if (seller.UserRole != UserRoles.ROLE_SELLER) { return(BadRequest("User's role must be ROLE_SELLER")); } offer.Category = category; offer.Seller = seller; OfferModel createdOffer = offersService.CreateOffer(offer); return(CreatedAtRoute("PostOffer", new { id = createdOffer.ID }, createdOffer)); }
public IHttpActionResult PostOfferModel(Offer offerModel) { // Omoguciti dodavanje i izmenu kategorije i prodavca iz ponude // Bez Foreign Key svojstava stvari su mnogo komplikovane.. // Sa Foreign Key JSON koji saljemo je znatno svedeniji ali je i logika bolja //if (!ModelState.IsValid) //{ // return BadRequest(ModelState); //} //if (!ModelState.IsValid || offerModel.categoryId == null || offerModel.userModel == null) // Mladen's code: // You also need to update your Model classes. Mladen's solution is to use 'normal' property // names and map them to the 'wacky' database column names if (!ModelState.IsValid || offerModel.categoryId == null || offerModel.sellerId == null) { return(BadRequest(ModelState)); } Category category = categoryService.GetCategory((int)offerModel.categoryId); User seller = userService.GetUser((int)offerModel.sellerId); if (category == null || seller == null) { return(NotFound()); } if (seller.user_role != Models.User.UserRoles.ROLE_SELLER) { return(base.BadRequest("User's role must be ROLE_SELLER")); } offerModel.category = category; offerModel.seller = seller; Offer createdOffer = offerService.CreateOffer(offerModel); // my old stuff // offerService.CreateOffer(offerModel); return(CreatedAtRoute("SingleOfferById", new { id = offerModel.id }, offerModel)); }