public ActionResult Add(Review model, HttpPostedFileBase image) { var validator = new ReviewValidator(_unitOfWork).Validate(model); if (validator.IsValid) { if (image != null) { Image img = Image.FromStream(image.InputStream); string name = Guid.NewGuid() + Path.GetExtension(image.FileName); string smPath = "/content/site/style/images/reviewimg/sm/" + name; string mdPath = "/content/site/style/images/reviewimg/md/" + name; string lgPath = "/content/site/style/images/reviewimg/lg/" + name; Bitmap smImage = new Bitmap(img, MySettings.SmallPicSize); Bitmap mdImage = new Bitmap(img, MySettings.MediumPicSize); Bitmap lgImage = new Bitmap(img, MySettings.LargePicSize); smImage.Save(Server.MapPath(smPath)); mdImage.Save(Server.MapPath(mdPath)); lgImage.Save(Server.MapPath(lgPath)); Picture pic = new Picture(); pic.SmPic = smPath; pic.MdPic = mdPath; pic.LgPic = lgPath; _unitOfWork.GetRepo <Picture>().Add(pic); _unitOfWork.Commit(); model.PictureId = pic.Id; _unitOfWork.GetRepo <Review>().Add(model); bool IsSuccess = _unitOfWork.Commit(); if (IsSuccess) { return(RedirectToAction("list")); } else { ViewBag.IsSuccess = IsSuccess; ViewBag.Message = "tekrar deneyin"; return(View()); } } } validator.Errors.ToList().ForEach(a => { ModelState.AddModelError(a.PropertyName, a.ErrorMessage); }); return(View()); }
private void ValidateReview(Review review) { var issues = ReviewValidator.GetValidationIssues(review); if (!issues.Any()) { return; } var message = new StringBuilder(); message.AppendLine("There were validation issues with the review."); foreach (var issue in issues) { message.AppendLine(issue); } throw new ApplicationException(message.ToString()); }
public IActionResult SaveComment(int id, ReviewFormModel formModel) { try { var product = _productService.GetProduct(id); if (product == null) { TempData["InfoMessage"] = AppStrings.ProductNotFoundMessage; return(RedirectToAction(nameof(Index))); } var _validator = new ReviewValidator(); var results = _validator.Validate(formModel); if (results.Errors.Any()) { foreach (var error in results.Errors) { ModelState.AddModelError(error.PropertyName, error.ErrorMessage); } } if (ModelState.IsValid) { _productService.SaveReview(_mapper.Map <ProductReview>(formModel)); TempData["SuccessMessage"] = AppStrings.ReviewEditSuccessMsg; return(RedirectToAction(nameof(Details), new { id })); } formModel.Product = _mapper.Map <ProductViewModel>(product); return(View("ReviewForm", formModel)); } catch (Exception ex) { _logger.LogMessage(ex.Message); TempData["ErrorMessage"] = AppStrings.GenericErrorMsg; return(RedirectToAction(nameof(Details), new { id })); } }
public async Task <IActionResult> Put([FromBody] RatingandReviewDetails ratingandReviewDetails) { int UserId = (Request.Headers.ContainsKey("CustomerId") ? int.Parse(HttpContext.Request.Headers["CustomerId"]) : 0); string UserToken = (Request.Headers.ContainsKey("AuthToken") ? Convert.ToString(HttpContext.Request.Headers["AuthToken"]) : ""); ReviewValidator reviewEntityValidator = new ReviewValidator(UserId, UserToken, business_Repo); ValidationResult validationResult = reviewEntityValidator.Validate(ratingandReviewDetails); if (!validationResult.IsValid) { return(BadRequest(validationResult.ToString(";"))); } else { var result = await Task <bool> .Run(() => business_Repo.UpdateRatingandReviews(ratingandReviewDetails)); if (result.Equals("false")) { return(this.BadRequest("Failed to update , please try again later")); } } return(this.Ok("Updated")); }
public ActionResult Edit(Review guncel, HttpPostedFileBase image) { var validator = new ReviewValidator(_unitOfWork).Validate(guncel); if (validator.IsValid) { var model = _unitOfWork.GetRepo <Review>().GetObject(x => x.Id == guncel.Id); model.Title = guncel.Title; model.Content = guncel.Content; model.GenreId = guncel.GenreId; _unitOfWork.GetRepo <Review>().Update(model); bool IsSuccess = _unitOfWork.Commit(); if (IsSuccess) { return(RedirectToAction("list")); } else { ViewBag.IsSuccess = IsSuccess; ViewBag.Message = "tekrar deneyin"; return(View()); } } validator.Errors.ToList().ForEach(a => { ModelState.AddModelError(a.PropertyName, a.ErrorMessage); }); return(View()); }
public EfAddReview(MovieReviewContext context, IMapper mapper, ReviewValidator validator) { this.context = context; this.mapper = mapper; this.validator = validator; }
public void Setup() { _sut = new ReviewValidator(); }