Esempio n. 1
0
        private async void onClicked(object obj)
        {
            ReviewBar b = (ReviewBar)obj;

            if (CanVote)
            {
                ReviewUpsertRequest review = new ReviewUpsertRequest
                {
                    Rating  = ReviewScore,
                    MovieId = Movie.Id,
                    UserId  = UserId,
                    Text    = ""
                };
                var result = _reviewsApi.Insert <ReviewUpsertRequest>(review);
                if (result != null)
                {
                    /*                    string reviewRoute = "review-score";
                     *                  double averageScore = await _moviesApi.GetById<double>(Movie.Id, reviewRoute);
                     *
                     *                  ReviewScoreAverage = averageScore;*/

                    CanVote = false;
                    await App.Current.MainPage.DisplayAlert("Success", "Thank you for your vote.", "OK");
                }
            }
        }
Esempio n. 2
0
        public async Task <MTrackReview> Insert(ReviewUpsertRequest request)
        {
            var entity = _mapper.Map <UserTrackReview>(request);

            _context.Set <UserTrackReview>().Add(entity);
            await _context.SaveChangesAsync();

            return(_mapper.Map <MTrackReview>(entity));
        }
        public async Task <ReviewDto> InsertAsync(ReviewUpsertRequest req)
        {
            var review = _mapper.Map <Review>(req);

            await _reviewRepo.InsertAsync(review);

            await _unit.SaveAsync();

            var dto = _mapper.Map <ReviewDto>(review);

            return(dto);
        }
Esempio n. 4
0
        public async Task <MTrackReview> Update(int ID, ReviewUpsertRequest request)
        {
            var entity = _context.Set <UserTrackReview>().Find(ID);

            _context.Set <UserTrackReview>().Attach(entity);
            _context.Set <UserTrackReview>().Update(entity);

            _mapper.Map(request, entity);

            await _context.SaveChangesAsync();

            return(_mapper.Map <MTrackReview>(entity));
        }
Esempio n. 5
0
        private async Task SubmitReview()
        {
            if (!ValidateEmpty())
            {
                await Application.Current.MainPage.DisplayAlert("Error", "Please fill out the required fields (Review Text, Rating)", "OK");

                return;
            }
            bool v = await ValidateReviewExists();

            if (!v)
            {
                await Application.Current.MainPage.DisplayAlert("Error", "You can't review the same album more than once!", "OK");
            }
            else
            {
                ReviewUpsertRequest request = new ReviewUpsertRequest()
                {
                    AlbumId    = ThisAlbumId,
                    Rating     = int.Parse(Rating),
                    ReviewText = ReviewText,
                    UserId     = APIService.loggedProfile.UserId
                };
                SetFavProperties();
                request.FavouriteSongs      = FavTracks;
                request.LeastFavouriteSongs = LeastFavTracks;
                var inserted = await _reviewService.Insert <Review>(request);

                await _postSerivce.Insert <Post>(new PostUpsertRequest()
                {
                    AdminName       = APIService.loggedProfile.Username,
                    ArtistRelatedId = LoadedAlbum.ArtistId,
                    IsGlobal        = false,
                    Opphoto         = APIService.loggedProfile.UserPhoto,
                    PostDateTime    = DateTime.Now,
                    PostPhoto       = LoadedAlbum.AlbumPhoto,
                    PostText        = ReviewText + "\n \n " + "Favorite tracks: " + FavTracks + "\n \n " + "Least favorite tracks: " + LeastFavTracks + "\n \n" +
                                      "Rating: " + Rating,
                    PostTitle = "Album Review: " +
                                LoadedAlbum.AlbumName,
                    ReviewRelatedId = inserted.ReviewId,
                    UserRelatedId   = APIService.loggedProfile.UserId
                });

                await GlobalMethods.GenerateRating(ThisAlbumId);

                await Application.Current.MainPage.DisplayAlert("Success", "Review successfully added! You will now be redirected to the album page.", "OK");

                PopHandler?.Invoke(this, null);
            }
        }
Esempio n. 6
0
        private async void Track_RatingChanged(object sender, Syncfusion.SfRating.XForms.ValueEventArgs e)
        {
            int Rate    = Convert.ToInt32(e.Value);
            var request = new ReviewUpsertRequest()
            {
                UserID  = SignedInUser.User.UserID,
                TrackID = model.SelectedTrack.TrackID,
                Rating  = Rate
            };

            if (model.TrackReview == null)
            {
                model.TrackReview = await reviewService.Insert <MTrackReview>(request);
            }
            else if (model.TrackReview != null && model.Rating == 0)
            {
                await reviewService.Delete <MTrackReview>(model.TrackReview.UserTrackReviewID);
            }
            else
            {
                await reviewService.Update <MTrackReview>(model.TrackReview.UserTrackReviewID, request);
            }
        }
 public async Task <MCourseReview> Update(int ID, ReviewUpsertRequest request)
 {
     return(await _service.Update(ID, request));
 }
 public async Task <MCourseReview> Insert(ReviewUpsertRequest request)
 {
     return(await _service.Insert(request));
 }
 public Task <ReviewDto> UpdateAsync(int id, ReviewUpsertRequest req)
 {
     throw new NotImplementedException();
 }
Esempio n. 10
0
        private async void Dodaj_Clicked(object sender, EventArgs e)
        {
            //napravi novi reviewrequest

            ErrorLabelOcjena.Text = null;
            if (ocjena.Text == null)
            {
                ErrorLabelOcjena.Text = "Odaberite ocjenu";
            }
            else
            {
                bool           daLiPostojiProdukt  = true;
                bool           daLiPostojiRestoran = true;
                List <MReview> reviewZaProdukt     = null;
                List <MReview> reviewZaRestoran    = null;
                if (model.Produkt != null)
                {
                    reviewZaProdukt = await _reviewsService.Get <List <MReview> >(new ReviewSearchRequest { ProduktId = model.Produkt.ProduktiId, KorisnikId = Global.prijavljeniKupac.KorisnikId });

                    if (reviewZaProdukt.Count == 0)
                    {
                        daLiPostojiProdukt = false;
                    }
                }
                if (model.Restoran != null)
                {
                    reviewZaRestoran = await _reviewsService.Get <List <MReview> >(new ReviewSearchRequest { RestoranId = model.Restoran.RestoranId, KorisnikId = Global.prijavljeniKupac.KorisnikId });

                    if (reviewZaRestoran.Count == 0)
                    {
                        daLiPostojiRestoran = false;
                    }
                }

                if (daLiPostojiProdukt == false || daLiPostojiRestoran == false)
                {
                    ReviewUpsertRequest request = new ReviewUpsertRequest
                    {
                        Ime      = Global.prijavljeniKupac.Ime,
                        Prezime  = Global.prijavljeniKupac.Prezime,
                        Komentar = komentar.Text,
                        Ocjena   = Convert.ToInt32(ocjena.Text),

                        KorisnikId = Global.prijavljeniKupac.KorisnikId,
                        Datum      = DateTime.Now
                    };
                    if (model.Produkt == null)
                    {
                        request.ProduktiId = null;
                    }
                    else
                    {
                        request.ProduktiId = model.Produkt.ProduktiId;
                    }

                    if (model.Restoran == null)
                    {
                        request.RestoranId = null;
                    }
                    else
                    {
                        request.RestoranId = model.Restoran.RestoranId;
                    }

                    await _reviewsService.Insert <MReview>(request);

                    await model.Init();
                }
                else
                {
                    if (model.Produkt != null)
                    {
                        var upit = await DisplayAlert("Upozorenje", "Već ste dodali osvrt za ovaj proizvod, želite li ga obrisati?", "Da", "Ne");

                        if (upit == true)
                        {
                            await _reviewsService.Delete(reviewZaProdukt.Select(i => i.ReviewId).First());
                            await DisplayAlert("Upozorenje", "Uspješno obrisan osvrt, sada možete dodati novi", "Uredu");

                            await model.Init();
                        }
                    }
                    if (model.Restoran != null)
                    {
                        var upit = await DisplayAlert("Upozorenje", "Već ste dodali osvrt za ovaj restoran, želite li ga obrisati?", "Da", "Ne");

                        if (upit == true)
                        {
                            await _reviewsService.Delete(reviewZaRestoran.Select(i => i.ReviewId).First());
                            await DisplayAlert("Upozorenje", "Uspješno obrisan osvrt, sada možete dodati novi", "Uredu");

                            await model.Init();
                        }
                    }
                }
            }
        }