public async Task <IActionResult> Create([FromBody] CreateReviewAndNotitficationDto reviewAndNotificationDto) { if (reviewAndNotificationDto == null) { return(NotFound()); } if (ModelState.IsValid) { var reviewCreateMapped = new CreateReviewDto { Comment = reviewAndNotificationDto.review.Comment, CustomerId = reviewAndNotificationDto.review.CustomerId, TeamMemberId = reviewAndNotificationDto.review.TeamMemberId }; var reviewNotificationCreateMapped = new CreateReviewNotificationsDto { ReviewActionId = reviewAndNotificationDto.reviewNotification.ReviewActionId, ReviewKindId = reviewAndNotificationDto.reviewNotification.ReviewKindId, StartDate = reviewAndNotificationDto.reviewNotification.StartDate, EndDate = reviewAndNotificationDto.reviewNotification.EndDate, DateAdded = DateTime.UtcNow }; //var reviewMapped = Mapper.Map<CreateReviewDto>(reviewAndNotificationDto); //var notificationMapped = Mapper.Map<CreateReviewNotificationsDto>(reviewAndNotificationDto); // var targetReview = Mapper.Map<Reviews>(reviewMapped); var targetReview = Mapper.Map <Reviews>(reviewCreateMapped); await _review.Create(targetReview); // if (!await _review.Save()) { return(StatusCode(500, "Server Error, Something went wrong with our server")); } var createdReview = Mapper.Map <Reviews>(targetReview); //notificationMapped.ReviewId = createdReview.Id; reviewNotificationCreateMapped.ReviewId = createdReview.Id; // var targetNotification = Mapper.Map<ReviewNotifications>(notificationMapped); var targetNotification = Mapper.Map <ReviewNotifications>(reviewNotificationCreateMapped); await _reviewNotification.Create(targetNotification); if (!await _review.Save()) { return(StatusCode(500, "Server Error, Something went wrong with our server")); } var createdNotification = Mapper.Map <ReviewNotifications>(targetNotification); return(CreatedAtRoute("GetReview", new { id = createdNotification.Id }, createdNotification)); //return CreatedA("/GetReview/"+ createdNotification.Id, createdNotification); } else { return(BadRequest(ModelState)); } }
public MarketAppMutation(ICategory category, IUser user, IReview review, IProduct product, IOrder order) { Name = "MarketAppMutation"; #region Category Field <CategoryType>( "AddCategory", Description = "This field adds new category", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <StringGraphType> > { Name = "CategoryName" } ), resolve: context => { var categoryName = context.GetArgument <string>(Name = "CategoryName"); return(category.Create(new Category() { Name = categoryName })); }); Field <CategoryType>( "deleteCategory", Description = "This field delete category by CategoryId", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "CategoryId" } ), resolve: context => { var categoryId = context.GetArgument <int>("CategoryId"); return(category.Delete(categoryId)); }); Field <CategoryType>( "updateCategory", Description = "This field update category by CategoryId", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <CategoryInputType> > { Name = "Category" } ), resolve: context => { var categoryInput = context.GetArgument <Category>("Category"); return(category.Update(categoryInput.CategoryId, categoryInput)); }); #endregion #region User Field <UserType>( "addUser", Description = "This field adds new user", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <StringGraphType> > { Name = "UserName" } ), resolve: context => { var userName = context.GetArgument <string>(Name = "UserName"); return(user.Create(new User() { FullName = userName })); }); Field <UserType>( "deleteUser", Description = "This field delete user by UserId", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "UserId" } ), resolve: context => { var userId = context.GetArgument <int>("UserId"); return(user.Delete(userId)); }); Field <UserType>( "updateUser", Description = "This field update user by UserId", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <UserInputType> > { Name = "User" } ), resolve: context => { var userInput = context.GetArgument <User>("User"); return(user.Update(userInput.UserId, userInput)); }); #endregion #region Review Field <ReviewType>( "addReview", Description = "This field adds new review", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <ReviewInputType> > { Name = "Review" } ), resolve: context => { var reviewInput = context.GetArgument <Review>(Name = "Review"); return(review.Create(reviewInput)); }); Field <ReviewType>( "deleteReview", Description = "This field delete review by ReviewId", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "ReviewId" } ), resolve: context => { var reviewId = context.GetArgument <int>("ReviewId"); return(review.Delete(reviewId)); }); Field <ReviewType>( "updateReview", Description = "This field update Review by ReviewId", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "ReviewId" }, new QueryArgument <NonNullGraphType <ReviewInputType> > { Name = "Review" } ), resolve: context => { var reviewId = context.GetArgument <int>("ReviewId"); var reviewInput = context.GetArgument <Review>("Review"); return(review.Update(reviewId, reviewInput)); }); #endregion #region Product Field <ProductType>( "addProduct", Description = "This field adds new product", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <ProductInputType> > { Name = "Product" } ), resolve: context => { var productInput = context.GetArgument <Product>(Name = "Product"); return(product.Create(productInput)); }); Field <ProductType>( "deleteProduct", Description = "This field delete product by ProductId", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "ProductId" } ), resolve: context => { var productId = context.GetArgument <int>("ProductId"); return(product.Delete(productId)); }); Field <ProductType>( "updateProduct", Description = "This field update Product by ProductId", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "ProductId" }, new QueryArgument <NonNullGraphType <ProductInputType> > { Name = "Product" } ), resolve: context => { var productId = context.GetArgument <int>("ProductId"); var productInput = context.GetArgument <Product>("Product"); return(product.Update(productId, productInput)); }); #endregion #region Order Field <OrderType>( "addOrder", Description = "This field adds new order", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <OrderInputType> > { Name = "Order" } ), resolve: context => { var orderInput = context.GetArgument <Order>(Name = "Order"); return(order.Create(orderInput)); }); Field <OrderType>( "deleteOrder", Description = "This field delete order by OrderId", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "OrderId" } ), resolve: context => { var orderId = context.GetArgument <int>("OrderId"); return(order.Delete(orderId)); }); Field <OrderType>( "updateOrder", Description = "This field update Order by OrderId", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "OrderId" }, new QueryArgument <NonNullGraphType <OrderInputType> > { Name = "Order" } ), resolve: context => { var orderId = context.GetArgument <int>("OrderId"); var orderInput = context.GetArgument <Order>("Order"); return(order.Update(orderId, orderInput)); }); #endregion Description = "MarketApp Mutation Fields for, You can add, delete, update about categories, products, users, reviews and orders"; }