public IHttpActionResult PostAssignHotelElements(AssignHotelCatalogViewModel assignHotelCatalogViewModel) { if (!ModelState.IsValid) { return BadRequest(ModelState); } ActiveHotelProductRepository activeHotelProductRepo = new ActiveHotelProductRepository(new MyRoomDbContext()); List<ActiveHotelProduct> products = ActiveHotelProductsMapper.CreateModel(assignHotelCatalogViewModel); ActiveHotelCategoryRepository activeHotelCategoryRepo = new ActiveHotelCategoryRepository(new MyRoomDbContext()); List<ActiveHotelCategory> categories = ActiveHotelCategoriesMapper.CreateModel(assignHotelCatalogViewModel); ActiveHotelModuleRepository activeHotelModuleRepo = new ActiveHotelModuleRepository(new MyRoomDbContext()); List<ActiveHotelModule> modules = ActiveHotelModulesMapper.CreateModel(assignHotelCatalogViewModel); try { activeHotelProductRepo.InsertActiveHotelProduct(products, assignHotelCatalogViewModel.HotelId); activeHotelCategoryRepo.InsertActiveHotelCategory(categories, assignHotelCatalogViewModel.HotelId, true); activeHotelModuleRepo.InsertActiveHotelModule(modules, assignHotelCatalogViewModel.HotelId, true); return Ok("Elements Assigned to hotels"); } catch (Exception ex) { throw ex; } }
// GET: api/hotels/products/1 public IHttpActionResult GetProductsByHotel(int hotelId) { ActiveHotelProductRepository hotelProducts = new ActiveHotelProductRepository(new MyRoomDbContext()); List<Product> productsActived = hotelProducts.GetProductsByHotelId(hotelId) ; return Ok(productsActived); }
// POST: api/Products public IHttpActionResult PostProducts(ProductViewModel productViewModel) { if (!ModelState.IsValid) { return BadRequest(ModelState); } try { Product product = ProductMapper.CreateModel(productViewModel); productRepository.Insert(product); product.RelatedProducts = new List<RelatedProduct>(); RelatedProductRepository relProdRepo = new RelatedProductRepository(new MyRoomDbContext()); foreach (RelatedProduct rp in productViewModel.RelatedProducts) { rp.IdProduct = product.Id; } relProdRepo.InsertRelatedProducts(productViewModel.RelatedProducts.ToList()); //Inserta productos a ActiveHotelProduct ActiveHotelCatalogRepository hotelActiveRepo = new ActiveHotelCatalogRepository(relProdRepo.Context); //int hotelId = hotelActiveRepo.GetByCatalogId(productViewModel.CatalogId); // if (hotelId > 0) // { ActiveHotelProductRepository productHotelActiveRepo = new ActiveHotelProductRepository(relProdRepo.Context); productHotelActiveRepo.Insert(new ActiveHotelProduct() { IdHotel = productViewModel.HotelId, IdProduct = product.Id, Active = true }); // } return Ok("Product Inserted"); } catch (Exception ex) { throw ex; } }