public ReviewResponseInfoDto SendReviewResponse(ReviewResponseCreateDto reviewResponseCreateDto) { ReviewRequest request = _context .ReviewRequests .Include(s => s.ProjectInfo) .ThenInclude(p => p.Skills) .Include(s => s.User) .FirstOrDefault(r => r.Id == reviewResponseCreateDto.ReviewRequestId); if (request == null) { throw RecademyException.ReviewRequestNotFound(reviewResponseCreateDto.ReviewRequestId); } if (request.State == ProjectState.Completed || request.State == ProjectState.Abandoned) { throw new RecademyException("Failed to send review. It is already closed."); } var newReview = new ReviewResponse { ReviewRequestId = reviewResponseCreateDto.ReviewRequestId, Description = reviewResponseCreateDto.ReviewText, ReviewerId = reviewResponseCreateDto.UserId, CreationTime = DateTime.UtcNow, ReviewConclusion = reviewResponseCreateDto.ReviewConclusion }; request.State = ProjectState.Reviewed; _context.ReviewResponses.Add(newReview); _context.SaveChanges(); newReview.ReviewRequest = request; return(new ReviewResponseInfoDto(newReview)); }
public ReviewResponseInfoDto(ReviewResponse model) { Id = model.Id; Description = model.Description; CreationTime = model.CreationTime; ReviewConclusion = model.ReviewConclusion; ReviewRequest = model.ReviewRequest.Maybe(r => new ReviewRequestInfoDto(r)); ReviewerId = model.ReviewerId; }
public static Review ToReview(ReviewResponse request) { return(new Review { IdReview = request.idReview, Nota = request.nota, IdCarte = request.idCarte, IdUser = request.idUser, Comentariu = request.comentariu }); }
public void TestJSONtoReviews() { String sampleJSON = "{\"success\":true,\"reviews\":[{\"_id\":\"5d85e949c09f990031643cea\",\"name\":\"Person\",\"friendliness\":1,\"workEthic\":3,\"workQuality\":1,\"studentNumber\":\"1234\",\"subject\":\"IAB330\",\"__v\":0},{\"_id\":\"5d85ebfcc09f990031643ceb\",\"name\":\"DifferentPerson\",\"friendliness\":1,\"workEthic\":2,\"workQuality\":1,\"studentNumber\":\"10233\",\"subject\":\"CAB303\",\"__v\":0},{\"_id\":\"5d883955c09f990031643cec\",\"name\":\"JohnDoe\",\"friendliness\":1,\"workEthic\":4,\"workQuality\":1,\"studentNumber\":\"n10120884\",\"subject\":\"IAB305\",\"__v\":0},{\"_id\":\"5d88406fc09f990031643ced\",\"name\":\"Reviewwith234\",\"friendliness\":2,\"workEthic\":3,\"workQuality\":4,\"studentNumber\":\"234\",\"subject\":\"234\",\"__v\":0},{\"_id\":\"5d8843bcc09f990031643cee\",\"name\":\"Review545\",\"friendliness\":5,\"workEthic\":4,\"workQuality\":5,\"studentNumber\":\"n9961239\",\"subject\":\"IFB101\",\"__v\":0},{\"_id\":\"5d8b702dc09f990031643cef\",\"name\":\"senna\",\"friendliness\":5,\"workEthic\":5,\"workQuality\":5,\"studentNumber\":\"4444444\",\"subject\":\"f101\",\"__v\":0},{\"_id\":\"5d8f08a4ed140d0020c79cfa\",\"name\":\"1\",\"friendliness\":5,\"workEthic\":2,\"workQuality\":3,\"studentNumber\":\"1\",\"subject\":\"1\",\"__v\":0},{\"_id\":\"5d8f18aaed140d0020c79cfc\",\"name\":\"JaneDoe\",\"friendliness\":4,\"workEthic\":4,\"workQuality\":4,\"studentNumber\":\"n10425336\",\"subject\":\"IFB101\",\"__v\":0},{\"_id\":\"5d8f18aaed140d0020c79cfd\",\"name\":\"JaneDoe\",\"friendliness\":4,\"workEthic\":4,\"workQuality\":4,\"studentNumber\":\"n10425336\",\"subject\":\"IFB101\",\"__v\":0},{\"_id\":\"5d8f19a8ed140d0020c79cfe\",\"name\":\"doubletest\",\"friendliness\":1,\"workEthic\":1,\"workQuality\":1,\"studentNumber\":\"test\",\"subject\":\"test\",\"__v\":0},{\"_id\":\"5d8f19a8ed140d0020c79cff\",\"name\":\"doubletest\",\"friendliness\":1,\"workEthic\":1,\"workQuality\":1,\"studentNumber\":\"test\",\"subject\":\"test\",\"__v\":0},{\"_id\":\"5d8f19a8ed140d0020c79d00\",\"name\":\"doubletest\",\"friendliness\":1,\"workEthic\":1,\"workQuality\":1,\"studentNumber\":\"test\",\"subject\":\"test\",\"__v\":0},{\"_id\":\"5d907a78bb75a6001f9768fe\",\"name\":\"JohnDean\",\"friendliness\":4,\"workEthic\":5,\"workQuality\":5,\"studentNumber\":\"n9945867\",\"subject\":\"IFB103\",\"__v\":0},{\"_id\":\"5d9e86bdc46bdb003185544c\",\"name\":\"456\",\"friendliness\":4,\"workEthic\":4,\"workQuality\":4,\"studentNumber\":\"456\",\"subject\":\"456\",\"__v\":0},{\"_id\":\"5d9e86bdc46bdb003185544d\",\"name\":\"456\",\"friendliness\":4,\"workEthic\":4,\"workQuality\":4,\"studentNumber\":\"456\",\"subject\":\"456\",\"__v\":0},{\"_id\":\"5d9e86ebc46bdb003185544e\",\"name\":\"1\",\"friendliness\":4,\"workEthic\":5,\"workQuality\":3,\"studentNumber\":\"1\",\"subject\":\"1\",\"__v\":0},{\"_id\":\"5d9e86ecc46bdb003185544f\",\"name\":\"1\",\"friendliness\":4,\"workEthic\":5,\"workQuality\":3,\"studentNumber\":\"1\",\"subject\":\"1\",\"__v\":0},{\"_id\":\"5d9e890dc46bdb0031855450\",\"name\":\"q123\",\"friendliness\":3,\"workEthic\":4,\"workQuality\":3,\"studentNumber\":\"q123q\",\"subject\":\"q123\",\"__v\":0}]}"; ReviewResponse processedResponse = ReviewDataStore.JSONtoReviews(sampleJSON); Assert.IsTrue(processedResponse.success); Assert.AreEqual("Person", processedResponse.reviews[0].name); Assert.AreEqual("10233", processedResponse.reviews[1].studentNumber); Assert.AreEqual(1, processedResponse.reviews[2].friendliness); Assert.AreEqual(3, processedResponse.reviews[3].workEthic); Assert.AreEqual(5, processedResponse.reviews[4].workQuality); Assert.AreEqual("f101", processedResponse.reviews[5].subject); }
private void GenerateRequestResponse(ProjectInfo projectInfo, User userRequest) { ProjectState state = Utilities.Random.Next(0, 2) == 0 ? ProjectState.Requested : ProjectState.Reviewed; int[] userIds = _db.Users.Select(s => s.Id).ToArray(); int randomUserId = userIds[Utilities.Random.Next(0, userIds.Length)]; User randomUser = _db.Users.Find(randomUserId); ReviewRequest newRequest = TypesGenerator.GetRequest(projectInfo, userRequest, state); _db.ReviewRequests.Add(newRequest); if (state == ProjectState.Reviewed) { ReviewResponse newResponse = TypesGenerator.GetResponse(newRequest, randomUser.Id); _db.ReviewResponses.Add(newResponse); } }
public async Task <IEnumerable <Review> > GetItemsAsync(bool forceRefresh = false) { var client = new System.Net.Http.HttpClient(); var response = await client.GetAsync("https://iab330.rbvea.co/api/reviews"); string responseJSON = await response.Content.ReadAsStringAsync(); ReviewResponse reviewsResponse = JSONtoReviews(responseJSON); if (reviewsResponse.success == true) { return(reviewsResponse.reviews); } else { throw new Exception(); } }
public void CreateReviewResponseUpvote(int reviewId, int userId) { ReviewResponse review = _context.ReviewResponses.Find(reviewId); if (review == null) { throw RecademyException.ReviewRequestNotFound(reviewId); } if (review.ReviewerId == userId) { throw new RecademyException("Try to upvote self review response"); } _context.ReviewResponseUpvotes.Add(new ReviewResponseUpvote { ReviewResponseId = reviewId, UserId = userId }); _context.SaveChanges(); }
public EditReviewPageViewModel( INavigationService navigationService, IApiService apiService) : base(navigationService) { Title = Languages.EditComment; _apiService = apiService; _navigationService = navigationService; if (string.IsNullOrEmpty(Settings.ReviewS) || Settings.ReviewS.Equals("reviewS")) { Review = new ReviewResponse(); UserResponse user = JsonConvert.DeserializeObject <UserResponse>(Settings.User); SearchResponse doc = JsonConvert.DeserializeObject <SearchResponse>(Settings.DocDetail); Type = Languages.Create; Title = Languages.MakeAComment; _revi.User = user; _revi.Document = doc; } else { Review = JsonConvert.DeserializeObject <ReviewResponse>(Settings.ReviewS); Type = Languages.Update; } }
public async Task <IEnumerable <Review> > SearchItems(String SearchQuery) { var client = new System.Net.Http.HttpClient(); var jsonData = new StringContent(JsonConvert.SerializeObject(new { search = SearchQuery, }), Encoding.UTF8, "application/json"); var response = await client.PostAsync("https://iab330.rbvea.co/api/reviews/search", jsonData); string responseJSON = await response.Content.ReadAsStringAsync(); ReviewResponse reviewsResponse = JsonConvert.DeserializeObject <ReviewResponse>(responseJSON); if (reviewsResponse.success == true) { return(reviewsResponse.reviews); } else { throw new Exception(); } }