public void CanUpdateUserRating() { DbContextOptions <SwitchbackAPIDbContext> options = new DbContextOptionsBuilder <SwitchbackAPIDbContext>().UseInMemoryDatabase("CanCreateCourse").Options; using (SwitchbackAPIDbContext context = new SwitchbackAPIDbContext(options)) { // Arrange UserRatings rating11 = new UserRatings(); rating11.ID = 11; rating11.TrailInfoID = 1; rating11.Rating = 4; context.Add(rating11); context.SaveChanges(); rating11.Rating = 5; context.Update(rating11); context.SaveChanges(); // Act var result = context.UserRatings.FirstOrDefault(m => m.ID == rating11.ID); // Assert Assert.Equal(result, rating11); }; }
public void CanGetOneUserRatingFromThree_Middle() { DbContextOptions <SwitchbackAPIDbContext> options = new DbContextOptionsBuilder <SwitchbackAPIDbContext>().UseInMemoryDatabase("CanCreateCourse").Options; using (SwitchbackAPIDbContext context = new SwitchbackAPIDbContext(options)) { // Arrange UserRatings rating5 = new UserRatings(); rating5.ID = 5; rating5.TrailInfoID = 1; rating5.Rating = 4; UserRatings rating6 = new UserRatings(); rating6.ID = 6; rating6.TrailInfoID = 1; rating6.Rating = 3; UserRatings rating7 = new UserRatings(); rating7.ID = 7; rating7.TrailInfoID = 1; rating7.Rating = 2; context.Add(rating5); context.Add(rating6); context.Add(rating7); context.SaveChanges(); // Act var result = context.UserRatings.FirstOrDefault(m => m.ID == rating6.ID); // Assert Assert.Equal(result, rating6); }; }
public void CanGetOneUserRatingFromThree_End() { DbContextOptions <SwitchbackAPIDbContext> options = new DbContextOptionsBuilder <SwitchbackAPIDbContext>().UseInMemoryDatabase("CanCreateCourse").Options; using (SwitchbackAPIDbContext context = new SwitchbackAPIDbContext(options)) { // Arrange UserRatings rating8 = new UserRatings(); rating8.ID = 8; rating8.TrailInfoID = 3; rating8.Rating = 4; UserRatings rating9 = new UserRatings(); rating9.ID = 9; rating9.TrailInfoID = 3; rating9.Rating = 3; UserRatings rating10 = new UserRatings(); rating10.ID = 10; rating10.TrailInfoID = 3; rating10.Rating = 2; context.Add(rating8); context.Add(rating9); context.Add(rating10); context.SaveChanges(); // Act var result = context.UserRatings.FirstOrDefault(m => m.ID == rating10.ID); // Assert Assert.Equal(result, rating10); }; }
public void CanGetOneUserRatingFromThree_Begining() { DbContextOptions <SwitchbackAPIDbContext> options = new DbContextOptionsBuilder <SwitchbackAPIDbContext>().UseInMemoryDatabase("CanCreateCourse").Options; using (SwitchbackAPIDbContext context = new SwitchbackAPIDbContext(options)) { // Arrange UserRatings rating2 = new UserRatings(); rating2.ID = 2; rating2.TrailInfoID = 2; rating2.Rating = 4; UserRatings rating3 = new UserRatings(); rating3.ID = 3; rating3.TrailInfoID = 2; rating3.Rating = 3; UserRatings rating4 = new UserRatings(); rating4.ID = 4; rating4.TrailInfoID = 2; rating4.Rating = 2; context.Add(rating2); context.Add(rating3); context.Add(rating4); context.SaveChanges(); // Act var result = context.UserRatings.FirstOrDefault(m => m.ID == rating2.ID); // Assert Assert.Equal(result, rating2); }; }
public ActionResult AddRating(RatingViewModel model) { if (!ModelState.IsValid) { return(Json(new { success = false })); } var userid = HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId(); var userRating = new UserRatings { UserId = userid, CategoryItemID = model.ItemId, UserRating = Convert.ToDouble(model.Rating) }; var ratedBefore = _db.UserRatings.Where(e => e.UserId == userid).FirstOrDefault(i => i.CategoryItemID == model.ItemId); if (ratedBefore != null) { _db.UserRatings.Remove(ratedBefore); } try { _db.UserRatings.Add(userRating); _db.UsersLastMoves.Add(new UsersLastMoves { MoveDate = DateTime.Now, UserId = userRating.UserId, UsersLastMoveText = " bir öğeyi değerlendirdi.", UsersMoveLink = "/users/interests/" + userRating.UserId }); _db.SaveChanges(); return(Json(new { success = true })); } catch (Exception) { return(Json(new { success = false })); } }
public ActionResult createRating(string userId, string type) { var model = new UserRatings(); model.UserId = userId; model.rating = 0; db.UserRatings.Add(model); db.SaveChanges(); //dodavanje nova slika userImages newUserImage = new userImages(); newUserImage.image = "defaultUser.png"; newUserImage.UserId = userId; db.userImages.Add(newUserImage); db.SaveChanges(); if (type == "user") { return(View()); } else { return(RedirectToAction("approveIndex", "Posts")); } }
public ActionResult userProfile(string userId, int?favPosts, int?userPosts) { if (userId == null) { return(RedirectToAction("accessDenied", "Partial")); } ApplicationUser user = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>().FindById(userId); var userPostsAll = db.Posts.Where(x => x.approved == true && x.UserId == user.Id).OrderBy(x => x.CreatedDate).ToList(); UserRatings ratingTable = db.UserRatings.Where(x => x.UserId == userId).FirstOrDefault(); var userImages = db.userImages.Where(x => x.UserId == userId).FirstOrDefault(); var favorites = db.Favorites.Where(x => x.userId == user.Id).ToList(); var favoritePostsAll = new List <Posts>(); foreach (var item in favorites) { var post = db.Posts.Where(x => x.Id == item.postId).FirstOrDefault(); favoritePostsAll.Add(post); } if (userPostsAll.Count > 0) { if (userPostsAll.Count() > 8) { ViewBag.showUserPosts = "yes"; } } if (favoritePostsAll.Count > 0) { if (favoritePostsAll.Count() > 8) { ViewBag.showFavPosts = "yes"; } } int pageSize = 8; int favNumber = (favPosts ?? 1); int userNumber = (userPosts ?? 1); var model = new userProfileViewModel() { UserId = user.Id, UserName = user.UserName, rating = ratingTable.rating, image = userImages.image, numPosts = userPostsAll.Count(), userPostsAll = userPostsAll.ToPagedList(userNumber, pageSize), favoritePostsAll = favoritePostsAll.ToPagedList(favNumber, pageSize), }; ViewBag.favNumber = favNumber; ViewBag.userNumber = userNumber; return(View(model)); }
public IActionResult Get(int id) { UserRatings userRatings = _userRatings.GetByID(id); if (userRatings == null) { return(NotFound()); } return(Ok(userRatings)); }
/// <summary> /// (Update) Edits the User Rating of the Trail /// </summary> /// <param name="id">User Rating ID</param> /// <param name="userRatings">User Rating row</param> /// <returns></returns> public async Task EditRating(int id, UserRatings userRatings) { UserRatings userRating = GetByID(id); userRating.ID = userRatings.ID; userRating.TrailInfoID = userRatings.TrailInfoID; userRating.Rating = userRatings.Rating; _context.UserRatings.Update(userRating); await _context.SaveChangesAsync(); }
public async Task <IActionResult> Post([FromBody] UserRatings userRatings) { if (userRatings.ID <= 0) { await _userRatings.AddRating(userRatings); } else { await Put(userRatings.ID, userRatings); } return(RedirectToAction("Get", new { id = userRatings.ID })); }
public async Task <IActionResult> Put(int id, [FromBody] UserRatings userRatings) { UserRatings userRating = _userRatings.GetByID(id); if (userRating != null) { await _userRatings.EditRating(id, userRating); } else { await Post(userRating); } return(RedirectToAction("Get", new { id = userRating.ID })); }
public Details() { Width = BeatmapSetOverlay.RIGHT_WIDTH; AutoSizeAxes = Axes.Y; Spacing = new Vector2(1f); Children = new Drawable[] { preview = new PreviewButton { RelativeSizeAxes = Axes.X, }, new DetailBox { Child = basic = new BasicStats { RelativeSizeAxes = Axes.X, AutoSizeAxes = Axes.Y, Margin = new MarginPadding { Vertical = 10 }, }, }, new DetailBox { Child = advanced = new AdvancedStats { RelativeSizeAxes = Axes.X, AutoSizeAxes = Axes.Y, Margin = new MarginPadding { Vertical = 7.5f }, }, }, new DetailBox { Child = ratings = new UserRatings { RelativeSizeAxes = Axes.X, Height = 95, Margin = new MarginPadding { Top = 10 }, }, }, }; }
public TransactionResult CommentOffer(string offerId, string rateValue, string rateComment) { try { var offer = _dbContext.Offer .Include(i => i.Item) .FirstOrDefault(i => i.Id == new Guid(offerId)); if (offer != null) { offer.IsRated = true; var itemUserRating = new UserRatings() { Id = Guid.NewGuid(), ItemId = offer.ItemId, WinnerOfferId = offer.Id, UserId = offer.UserId, Comment = rateComment, RateValue = getRateValue(rateValue) }; _dbContext.UserRatings.Add(itemUserRating); _dbContext.SaveChanges(); calculateUserRating(offer.UserId); } else { return(new TransactionResult(message: "Teklif bulunamadı. Lütfen tekrar deneyiniz.", type: TransactionType.Error)); } return(new TransactionResult() { Type = TransactionType.Success }); } catch (Exception ex) { return(new TransactionResult(message: "Beklenmedik bir hata oluştu. Lütfen tekrar deneyiniz.", type: TransactionType.Error)); } }
public Response <List <UserRatings> > GetCourtRatings(GetCourtByIdRequest request) { var response = new Response <List <UserRatings> >(); var pagedResponse = new List <UserRatings>(); var getRatings = _ratingRepository.GetAll <Ratings>(includeProperties: $"{nameof(Ratings.User)}").Where(x => x.CourtId == request.CourtId).ToList(); if (getRatings == null) { _logger.LogError("no ratings found"); response.Messages.Add(new ResponseMessage { Type = Contracts.Enums.ResponseMessageEnum.Exception, Message = "the court does not exist", }); response.Status = System.Net.HttpStatusCode.NotFound; } getRatings.ForEach(x => { var userRating = new UserRatings() { Email = x.User.Email, UserName = x.User.UserName, FirstName = x.User.FirstName, LastName = x.User.LastName, Id = x.User.Id, Comment = x.Comment, Rate = x.Rate }; pagedResponse.Add(userRating); }); _logger.LogInfo("user ratings returned"); response.Payload = pagedResponse; response.Status = System.Net.HttpStatusCode.OK; return(response); }
/// <summary> /// (Read) Lists a User Rating by ID /// </summary> /// <param name="id">User Rating ID</param> /// <returns></returns> public UserRatings GetByID(int id) { UserRatings userRating = _context.UserRatings.Find(id); return(userRating); }
/// <summary> /// (Create) Adds and assigns User Rating to a Trail ID /// </summary> /// <param name="userRatings">UserRating</param> /// <returns></returns> public async Task AddRating(UserRatings userRatings) { _context.UserRatings.Add(userRatings); await _context.SaveChangesAsync(); }
public BeatmapDetails() { Children = new Drawable[] { new Box { RelativeSizeAxes = Axes.Both, Colour = Color4.Black.Opacity(0.5f), }, new Container { RelativeSizeAxes = Axes.Both, Padding = new MarginPadding { Horizontal = spacing }, Children = new Drawable[] { top = new FillFlowContainer { RelativeSizeAxes = Axes.X, AutoSizeAxes = Axes.Y, Direction = FillDirection.Horizontal, Children = new Drawable[] { statsFlow = new FillFlowContainer { RelativeSizeAxes = Axes.X, AutoSizeAxes = Axes.Y, Width = 0.5f, Spacing = new Vector2(spacing), Padding = new MarginPadding { Right = spacing / 2 }, Children = new[] { new DetailBox { Child = advanced = new AdvancedStats { RelativeSizeAxes = Axes.X, AutoSizeAxes = Axes.Y, Padding = new MarginPadding { Horizontal = spacing, Top = spacing * 2, Bottom = spacing }, }, }, ratingsContainer = new DetailBox { Child = ratings = new UserRatings { RelativeSizeAxes = Axes.X, Height = 134, Padding = new MarginPadding { Horizontal = spacing, Top = spacing }, }, }, }, }, metadataScroll = new ScrollContainer { RelativeSizeAxes = Axes.X, Width = 0.5f, ScrollbarVisible = false, Padding = new MarginPadding { Left = spacing / 2 }, Child = new FillFlowContainer { RelativeSizeAxes = Axes.X, AutoSizeAxes = Axes.Y, LayoutDuration = transition_duration, Spacing = new Vector2(spacing * 2), Margin = new MarginPadding { Top = spacing * 2 }, Children = new[] { description = new MetadataSection("Description"), source = new MetadataSection("Source"), tags = new MetadataSection("Tags"), }, }, }, }, }, failRetryContainer = new Container { Anchor = Anchor.BottomLeft, Origin = Anchor.BottomLeft, RelativeSizeAxes = Axes.X, Children = new Drawable[] { new OsuSpriteText { Text = "Points of Failure", Font = @"Exo2.0-Bold", TextSize = 14, }, failRetryGraph = new FailRetryGraph { RelativeSizeAxes = Axes.Both, Padding = new MarginPadding { Top = 14 + spacing / 2 }, }, }, }, }, }, loading = new DimmedLoadingAnimation { RelativeSizeAxes = Axes.Both, }, }; }
public ActionResult changeRating(postDetailsViewModel model, int state) { Posts posts = db.Posts.Where(x => x.Id == model.postId).FirstOrDefault(); ApplicationUser loggedUser = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>().FindById(User.Identity.GetUserId()); var postOwner = posts.UserId; var oldRating = posts.postRating; UserRatings rating = db.UserRatings.Where(x => x.UserId == posts.UserId).FirstOrDefault(); var rated = db.Ratings.Where(x => x.PostsID == model.postId && x.UserId == loggedUser.Id).FirstOrDefault(); if (rated == null) { Ratings newReact = new Ratings(); newReact.PostsID = model.postId; newReact.UserId = loggedUser.Id; if (state == 1) { posts.postRating += 1; rating.rating += 1; newReact.reacted = true; } else { posts.postRating -= 1; rating.rating -= 1; newReact.reacted = false; } db.Ratings.Add(newReact); db.SaveChanges(); return(Json(new { success = true, state = posts.postRating }, JsonRequestBehavior.AllowGet)); } else { if (state == 1 && rated.reacted == false) { posts.postRating += 2; rating.rating += 2; rated.reacted = true; db.SaveChanges(); if (loggedUser.Id != postOwner) { var newNotification = new Notifications() { forUserId = postOwner, fromUserName = loggedUser.UserName, postId = posts.Id, postTitle = posts.postTitle, notificationType = "like", status = "unseen", CreatedDate = DateTime.UtcNow }; db.Notifications.Add(newNotification); db.SaveChanges(); } return(Json(new { success = true, state = posts.postRating }, JsonRequestBehavior.AllowGet)); } else if (state == 2 && rated.reacted == true) { posts.postRating -= 2; rating.rating -= 2; rated.reacted = false; db.SaveChanges(); return(Json(new { success = true, state = posts.postRating }, JsonRequestBehavior.AllowGet)); } return(Json(new { success = false }, JsonRequestBehavior.AllowGet)); } }