public IActionResult Update(RatingInput rating) { try { if (rating.Stars < 1 && rating.Stars > 5) { return(BadRequest()); } var res = _ratingService.UpdateAddRating(new Rating { MovieId = rating.MovieId, UserId = rating.UserId, Stars = rating.Stars }); if (!res) { return(NotFound("User not found")); } return(Ok()); } catch (Exception e) { _logger.LogError(e.Message); return(StatusCode(500, "Something went wrong")); } }
public async Task <IActionResult> Put([FromBody] RatingInput rating, int id) { try { var validationResult = rating.Validate(id); if (!validationResult.IsValid) { return(BadRequest(validationResult.Message)); } var result = await _ratingsRepository.Update(id, rating); if (result == null) { return(BadRequest($"There is already a rating with the name {rating.Name}")); } if (result.Id != id) { return(Created($"api/ratings/{result.Id}", result)); } return(NoContent()); } catch (Exception) { return(new StatusCodeResult(500)); } }
protected void input_rating_TextChanged(object sender, EventArgs e) { if ((sender.GetType() == typeof(RatingInput)) && base.ControlMode == SPControlMode.Display) { if (!HasVote()) { input_rating = sender as RatingInput; //SPListItem item = this.ListItem; url = SPContext.Current.Web.Url; //OpenElevatedWeb(); Guid listId = this.ListId; Guid itemId = this.ListItem.UniqueId; SPUtility.ValidateFormDigest(); SPSecurity.RunWithElevatedPrivileges(delegate() { RatingField.Votes += 1; RatingField.Rating += input_rating.Value; using (SPSite site = new SPSite(url)) { using (SPWeb web = site.OpenWeb()) { SPListItem item = web.Lists[listId].Items[itemId]; //SPFile file = web.GetFile(itemId); //SPListItem item = file.ListItemAllFields; item[BuildFieldId.Rating] = RatingField; item.SystemUpdate(false); } } }); } input_rating.Attributes.Add("data-rateit-readonly", "true"); input_rating.Votes = RatingField.Votes; if (RatingField.Votes > 0) { input_rating.Value = float.Parse((RatingField.Rating / RatingField.Votes).ToString()); input_rating.Text = float.Parse((RatingField.Rating / RatingField.Votes).ToString()).ToString("F2", CultureInfo.InvariantCulture); } else { input_rating.Value = 0.0f; input_rating.Text = "0.0"; } Page.Response.Cookies[ListItem.UniqueId.ToString() + "_" + input_rating.ClientID].Value = Boolean.TrueString; } }
public async Task <RatingModel> Update(int id, RatingInput rating) { var currentRating = Ratings.Find(x => x.Id == id); if (currentRating == null) { return(await Add(rating)); } currentRating.Score = rating.Score; currentRating.Name = rating.Name; return(await Task.FromResult(currentRating)); }
public async Task <RatingModel> Add(RatingInput ratingInput) { var id = ++_id; var rating = ratingInput.ToModel(id); var exists = await CheckIfRatingNameExists(rating.Name); if (exists) { return(null); } Ratings.Add(rating); return(await Task.FromResult(rating)); }
public void UnknownTitle() { var bookWithoutTitle = new RatingInput { BookId = Guid.NewGuid(), Title = null, IsForeign = false }; var ratingSystem = new RatingSystem(); var result = ratingSystem.ComputeRating(new[] { bookWithoutTitle }).Single(); Assert.AreEqual(bookWithoutTitle.BookId, result.BookId); Assert.AreEqual(0, result.Value); }
public async Task <IActionResult> Post(RatingInput model) { string userId = this.userManager.GetUserId(User); if (this.unitOfWork.Ratings.HasAlreadyRated(userId, model.ProductId)) { return(Conflict()); } else { this.unitOfWork.Ratings.RateProduct(userId, model.ProductId, model.Value); await this.unitOfWork.Save(); return(NoContent()); } }
public async Task <IActionResult> Post([FromBody] RatingInput rating) { try { var validationResult = rating.Validate(); if (!validationResult.IsValid) { return(BadRequest(validationResult.Message)); } var created = await _ratingsRepository.Add(rating); if (created == null) { return(BadRequest($"There is already a rating with the name {rating.Name}")); } return(Created($"api/ratings/{created.Id}", created)); } catch (Exception) { return(new StatusCodeResult(500)); } }
protected override void CreateChildControls() { this.DisableInputFieldLabel = true; base.ControlMode = SPContext.Current.FormContext.FormMode; if (base.ControlMode == SPControlMode.Display || base.ControlMode == SPControlMode.Invalid) { ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(this); //Page.RegisterRequiresPostBack(this); //Page.RegisterRequiresRaiseEvent(this); } base.CreateChildControls(); RatingField = (HTML5RatingField)ItemFieldValue; if (RatingField == null) { try { url = SPContext.Current.Web.Url; Guid listId = this.ListId; Guid itemId = this.ListItem.UniqueId; using (SPSite site = new SPSite(url)) { using (SPWeb web = site.OpenWeb()) { SPListItem item = web.Lists[listId].Items[itemId]; //SPFile file = web.GetFile(itemId); //SPListItem item = file.ListItemAllFields; RatingField = item[BuildFieldId.Rating] as HTML5RatingField; ItemFieldValue = RatingField; } } } catch (Exception) { RatingField = new HTML5RatingField(); } if (RatingField == null) { RatingField = new HTML5RatingField(); } } if (settings == null) { settings = new RatingSettings(); settings = settings.Load(); } if (base.ControlMode == SPControlMode.Edit || base.ControlMode == SPControlMode.New) { RatingField.Maximum = settings.Maximum; RatingField.Minimum = settings.Minimum; RatingField.Step = settings.Step; } else { input_rating = (RatingInput)this.TemplateContainer.FindControl("RatingInput"); if (input_rating != null) { if (!Page.ClientScript.IsClientScriptIncludeRegistered("jQuery")) { Page.ClientScript.RegisterClientScriptInclude(typeof(HTML5RatingControl), "jQuery", "/_layouts/Hemrika/Content/js/jquery.min.js"); } if (!Page.ClientScript.IsClientScriptIncludeRegistered("RateIt")) { Page.ClientScript.RegisterClientScriptInclude(typeof(HTML5RatingControl), "RateIt", "/_layouts/Hemrika/Content/js/jquery.rateit.js"); } CssRegistration.Register("/_layouts/Hemrika/Content/css/rateit.css"); input_rating.TextChanged += new EventHandler(input_rating_TextChanged); input_rating.Step = RatingField.Step; input_rating.Maximum = settings.Maximum; input_rating.Minimum = settings.Minimum; input_rating.Votes = RatingField.Votes; if (RatingField.Votes > 0) { input_rating.Value = float.Parse((RatingField.Rating / RatingField.Votes).ToString()); input_rating.Text = float.Parse((RatingField.Rating / RatingField.Votes).ToString()).ToString("F2", CultureInfo.InvariantCulture); } else { input_rating.Value = 0.0f; input_rating.Text = "0.0"; } //input_rating.Value = 0.0f; //input_rating.Text = "0.0f"; HtmlGenericControl rating = new HtmlGenericControl("div"); rating.Attributes.Add("class", "rateit"); rating.Attributes.Add("data-rateit-backingfld", "#" + input_rating.ClientID); rating.Attributes.Add("data-rateit-resetable", "false"); if (Page.IsPostBack || HasVote()) { rating.Attributes.Add("data-rateit-readonly", "true"); } this.Controls.Add(rating); //ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(rating); } MicroDate(); } }
public HttpResponseMessage MicroRating([FromBody] RatingInput ratingInput) { apiManager = new APIManager(token); apiManager.getMicroRating(ratingInput.category, ratingInput.latitude, ratingInput.longitude, "CH"); return(Request.CreateResponse(HttpStatusCode.OK, new { Rating = apiManager.ratingResponse.results.microRatingClass1To5 ?? 3.0 })); }