async Task Rating() { if (Rate < 1 || Rate > 5) { await Application.Current.MainPage.DisplayAlert("Error", "Rate value must be 1-5!", "OK"); return; } RatingInsertRequest rating = new RatingInsertRequest { UserId = BaseAPIService.Id, HairdresserId = HairdresserId, Rate = Rate }; Model.Rating newRating = await _apiService.Insert <Model.Rating>(rating); if (newRating != null) { await Application.Current.MainPage.DisplayAlert("Success", "You rate your hairdresser!", "OK"); Application.Current.MainPage = new MainPage(); } else { await Application.Current.MainPage.DisplayAlert("Warning", "Failed rating!", "OK"); return; } }
public async Task RatePositive() { var request = new RatingInsertRequest() { isLiked = true, ScheduleID = ScheduleVM.ScheduleID, UserID = APIService.UserID, CarServiceID = RequestVM.CarServiceID, isDisliked = false }; var modelRating = await _ratingsService.Insert <Data.Model.Ratings>(request); var csModel = await _CarServiceService.GetById <Data.Model.CarService>(RequestVM.CarServiceID); var model = await _CarServiceService.Update <Data.Model.CarService>(RequestVM.CarServiceID, new CarServiceUpsertRequest() { CarServiceName = csModel.CarServiceName, CityID = csModel.CityID, PhoneNumber = csModel.PhoneNumber, Street = csModel.Street, isLiked = true }); }
public Data.Model.Ratings Insert(RatingInsertRequest req) { var entity = _mapper.Map <Database.Ratings>(req); _context.Ratings.Add(entity); _context.SaveChanges(); return(_mapper.Map <Data.Model.Ratings>(entity)); }
async Task AddRating() { if (Grade <= 0 || Grade > 10) { await Application.Current.MainPage.DisplayAlert("Error", "You have to add rating in range 1 - 10!", "OK"); return; } if (string.IsNullOrEmpty(Comment)) { await Application.Current.MainPage.DisplayAlert("Error", "Comment field is required", "OK"); return; } try { bool answer = await Application.Current.MainPage.DisplayAlert("Alert", "Would you like to add rating?", "Yes", "No"); if (answer) { RatingInsertRequest request = new RatingInsertRequest { UserID = Appointment.UserID, DentistID = Appointment.DentistID, DentistRating = Grade, Comment = Comment, RatingDate = RatingDate }; await _ratingService.Insert <Rating>(request); await Application.Current.MainPage.DisplayAlert("Success", "You have sucessfully added rating for a dentist!", "OK"); var appointment = await _appointmentService.GetById <Appointment>(Appointment.AppointmentID); AppointmentInsertRequest update_request = new AppointmentInsertRequest { UserID = Appointment.UserID, DentistID = Appointment.DentistID, TreatmentID = Appointment.TreatmentID, StartDate = Appointment.StartDate, EndDate = Appointment.EndDate, RatingStatus = true }; await _appointmentService.Update <Appointment>(Appointment.AppointmentID, update_request); Application.Current.MainPage = new MainPage(); } } catch (Exception) { await Application.Current.MainPage.DisplayAlert("Error", "Something went wrong", "OK"); } }
private async Task MakeRating(object dynamicObject) { try { RatingRequestModel myRequest = (RatingRequestModel)dynamicObject; int userID = (await _userService.Get <List <UserDTO> >(new UserSearchRequest { UserName = APIService.Username })).FirstOrDefault(_ => _.UserName == APIService.Username).Id; var newRating = new RatingInsertRequest { HotelRating = myRequest.HotelRating, TransportRating = myRequest.TransportRating, RatingDate = DateTime.Now, ReservationId = myRequest.ReservationId, UserId = userID }; var reservation = await _reservationService.GetById <ReservationDTO>(myRequest.ReservationId); if (reservation.StartTripDate != default(DateTime)) { if (reservation.StartTripDate > DateTime.Now) { await Application.Current.MainPage.DisplayAlert("Info", "Trip has not happend yet", "OK"); return; } } var tOffer = await _tOfferService.GetById <TransportOfferDTO>(reservation.TransportOfferId); var hOffer = await _hOfferService.GetById <HotelOfferDTO>(reservation.HotelOfferId); var hotel = await _hotelService.GetById <HotelDTO>(hOffer.HotelId); var tCompany = await _tCompanyService.GetById <TransportCompanyDTO>(tOffer.TransportCompanyId); bool sameRatings = (await _ratingService.Get <List <RatingDTO> >(new RatingSearchRequest { })).Any(_ => _.HotelId == hotel.Id && tCompany.Id == _.TransportCompanyId && _.UserId == userID); if (sameRatings) { await Application.Current.MainPage.DisplayAlert("Info", "You can't rate same reservation again", "OK"); return; } newRating.TransportCompanyId = tCompany.Id; newRating.HotelId = hotel.Id; var res = await _ratingService.Insert <RatingDTO>(newRating); if (res != null) { var allHotelOffers = await _hOfferService.Get <List <HotelOfferDTO> >(new HotelOfferSearchRequest { HotelId = hotel.Id }); var allTransportOffers = await _tCompanyService.Get <List <TransportOfferDTO> >(new TransportOfferSearchRequest { TransportCompanyId = tCompany.Id }); float averageHotelRating = (float)(await _ratingService.Get <List <RatingDTO> >(new RatingSearchRequest { HotelId = hotel.Id })).Average(_ => _.HotelRating); float averageTransportRating = (float)(await _ratingService.Get <List <RatingDTO> >(new RatingSearchRequest { TransportCompanyId = tCompany.Id })).Average(_ => _.TransportRating); var hotelUpdateRequest = new HotelInsertRequest { HotelAddress = hotel.HotelAddress, HotelName = hotel.HotelName, CityId = hotel.CityId, TotalVisits = hotel.TotalVisits, Rating = averageHotelRating, Picture = hotel.Picture }; var transportUpdateRequest = new TransportCompanyInsertRequest { TransportCompanyName = tCompany.TransportCompanyName, IsActive = tCompany.IsActive, Picture = tCompany.Picture, TransportTypeId = tCompany.TransportTypeId }; var hotelResult = await _hotelService.Update <HotelDTO>(hotel.Id, hotelUpdateRequest); var transportResult = await _tCompanyService.Update <TransportCompanyDTO>(tCompany.Id, transportUpdateRequest); if (hotelResult != null && transportResult != null) { await Application.Current.MainPage.DisplayAlert("INFO", "Successufully added Rating!", "OK"); } else { await Application.Current.MainPage.DisplayAlert("INFO", "Error adding Rating!", "OK"); } } } catch (Exception) { await Application.Current.MainPage.DisplayAlert("Error", "Make sure that all inputs are correct", "OK"); } }
public Data.Model.Ratings Insert([FromBody] RatingInsertRequest req) { return(_service.Insert(req)); }