示例#1
0
 private static bool Validate(CreateReviewDTO dto)
 {
     if (dto.Grade < 1 || dto.Grade > 5)
     {
         return(false);
     }
     return(true);
 }
示例#2
0
        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));
 }