Beispiel #1
0
        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));
        }
Beispiel #2
0
 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;
 }
Beispiel #3
0
 public static Review ToReview(ReviewResponse request)
 {
     return(new Review
     {
         IdReview = request.idReview,
         Nota = request.nota,
         IdCarte = request.idCarte,
         IdUser = request.idUser,
         Comentariu = request.comentariu
     });
 }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
            }
        }
Beispiel #6
0
        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();
            }
        }
Beispiel #7
0
        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;
     }
 }
Beispiel #9
0
        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();
            }
        }