public IHttpActionResult Create(DishReviewEditModel model) { return(Command <CreateDishReviewCommand>( cmd => { cmd.Model = model; }, cmd => Ok(cmd.Model.Id))); }
public void Create(DishReviewEditModel model) { int dishId = model.DishId ?? 0; int placeId = placeService.GetPlaceId(model.Place); placeTypeService.CreatePlaceTypesForPlace(placeId, model.Place.GTypes); if (!model.DishId.HasValue) { var newDish = new Dish { CreatedByUserId = UserHelper.GetCurrentUserId(), CreatedDateTime = DateTime.Now, Name = model.DishName, IsConfirmed = false, IsValid = true }; dishRepository.Insert(newDish); dishId = newDish.Id; } int?imageId = null; if (!string.IsNullOrEmpty(model.ImageUri)) { imageId = imageService.CreateImage(model.ImageUri); } var review = new Review { CreatedByUserId = UserHelper.GetCurrentUserId(), CreatedDateTime = DateTime.Now, Text = model.Review, PlaceId = placeId, IsValid = true, Rating = model.Rating, ImageId = imageId }; reviewRepository.Insert(review); var dishReview = new DishReview { DishId = dishId, ReviewId = review.Id }; dishService.CreateDishTags(model.TagIdList, dishId); dishReviewRepository.Insert(dishReview); }
public DishReviewEditModel Get(int id) { var dishReview = dishReviewRepository.Get(id); var model = new DishReviewEditModel { Id = dishReview.Id, DishId = dishReview.DishId, DishName = dishReview.Dish.Name, Review = dishReview.Review.Text, Rating = dishReview.Review.Rating, Tags = dishReview.Dish.DishTag.Select(x => new TagEditModel { Id = x.TagId, Name = x.Tag.Name }).ToArray() }; return(model); }