private static bool Validate(CreateReviewDTO dto) { if (dto.Grade < 1 || dto.Grade > 5) { return(false); } return(true); }
public static string InsertReview(CreateReviewDTO dto) { try { if (!Validate(dto)) { return(null); } Review newReview = CreateReviewDTO.FromDTO(dto); newReview.Id = Guid.NewGuid().ToString(); var query = DataLayer.Client.Cypher .Create("(review : Review {newReview})") .WithParam("newReview", newReview) .With("review") .Match("(user: User)", "(carrier: Carrier)") .Where((User user) => user.Id == dto.UserId) .AndWhere((Carrier carrier) => carrier.Id == dto.CarrierId) .Create("(review) - [: REVIEWED_BY] -> (user)") .Create("(review) - [: REVIEW_FOR] -> (carrier)") .Return <Review>("review") .Results; if (query == null || query.Count() == 0) { return(null); } var succ = RedisDataProvider.RedisReviewDataProvider.InsertReview(newReview.Id, dto.CarrierId, dto.Grade); if (succ) { return(query.ToList()[0].Id); } return(null); } catch (Exception e) { return(null); } }
// POST: api/Review public string Post([FromBody] CreateReviewDTO value) { return(ReviewDataProvider.InsertReview(value)); }