public async Task <IActionResult> SendFeedback(SendFeedbackViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = await _userManager.GetUserAsync(User); if (user == null) { return(RedirectToAction("SendFeedback", "Home")); } var userId = new Guid(user.Id); var attorney = await _context.Attorneys.FirstOrDefaultAsync(x => x.AttorneyUserId == userId); if (attorney == null) { return(RedirectToAction("SendFeedback", "Home")); } await _emailSender.SendEmailAsync( null, "*****@*****.**", "Visual Evidence Recorder Feedback", "Message from: " + attorney.Name + " " + attorney.Surname + "<br><br>" + model.Feedback, "Administrator", ""); return(RedirectToAction("Index", "Customer")); }
public async Task ReturnBadRequest_WhenModelIsInvalid() { string feedbackText = null; var rating = 5; var author = "IvanchoIvanchoIvanchoIvanchoIvanchoIvanchoIvancho"; var businessId = 1; var businessServiceMocked = new Mock <IBusinessService>(); var feedbackServiceMocked = new Mock <IFeedbackService>(); var loggerFactoryMocked = new Mock <ILogger <BusinessController> >(); var sendFeedbackViewModel = new SendFeedbackViewModel { FeedbackText = feedbackText, Rating = rating, Author = author, BusinessId = businessId }; var businessController = new BusinessController(businessServiceMocked.Object, feedbackServiceMocked.Object, loggerFactoryMocked.Object); businessController.ModelState.AddModelError("test", "test"); var result = await businessController.SendFeedback(sendFeedbackViewModel); Assert.AreEqual(result.GetType(), typeof(BadRequestObjectResult)); }
public async Task <IActionResult> SendMessage(FeedbackViewModel feedbackViewModel) { SendFeedbackViewModel details = new SendFeedbackViewModel(); var contact = _contactService.LoadContactDetail(); details.Contact = contact; if (!ModelState.IsValid) { ModelState.AddModelError(string.Empty, string.Empty); return(View("Index", details)); } _feedbackService.AddFeedback(feedbackViewModel); _feedbackService.Save(); var flag = HttpContext.Session.Get <FlagIndicate>(Flag.Contact); if (flag == null) { flag = new FlagIndicate(); flag.Content = Flag.Contact; HttpContext.Session.Set <FlagIndicate>(Flag.Contact, flag); } await _emailSender.SendFeedback(CommonConstants.mailAdmin, feedbackViewModel); return(RedirectToAction("Index", "Contact")); }
public async Task <IActionResult> SendFeedback(SendFeedbackViewModel model) { if (!this.ModelState.IsValid) { this.logger.LogInformation("Invalid parameters"); return(BadRequest("Invalid parameters")); } await this.feedbackService.AddFeedbackAsync(model.FeedbackText, model.Rating, model.Author, model.BusinessId); return(Json(model)); }
public async Task <IActionResult> SendFeeback([FromBody] SendFeedbackViewModel model) { var product = await _productsRepository .GetByIdAsync(model.ProductId); if (product == null) { return(BadRequest("Product don't exist")); } var user = await _userManager.FindByIdAsync(model.UserId); if (user == null) { return(BadRequest("User with this id don't exist")); } var feedback = new Feedback { Product = product, ProductId = product.Id, Body = model.Body, Date = DateTime.Now, UserId = model.UserId }; if (product.Feedbacks == null) { product.Feedbacks = new List <Feedback> { feedback } } ; product .Feedbacks .Add(feedback); var updateResult = await _productsRepository .UpdateAsync(product); if (updateResult <= 0) { throw new Exception("Can't update product"); } return(this.JsonResult(new FeedbackDto { UserName = user.Name, UserLastName = user.LastName, UserId = user.Id, Date = ((DateTimeOffset)feedback.Date).ToUnixTimeSeconds(), Body = feedback.Body })); }
public IActionResult Index() { var contact = _contactService.LoadContactDetail(); var feedbackVm = new SendFeedbackViewModel(); feedbackVm.Contact = contact; var flag = HttpContext.Session.Get <FlagIndicate>(Flag.Contact); if (flag != null) { TempData["StatusMessage"] = flag.Content; HttpContext.Session.Remove(Flag.Contact); } return(View(feedbackVm)); }
public ActionResult SendFeedback(SendFeedbackViewModel model) { var url = Request.UrlReferrer.AbsoluteUri; var store = new StoreAction(); var canSendFeedback = Session.IsAuth() && !store.GetFeedBack(model.goodId).Any(s => s.userId == Session.GetUserId()); if (canSendFeedback) { var customer = new CustomerAction(Session.GetUserId()); customer.LeaveFeadback(new FeedBack { date = DateTime.Now, goodId = model.goodId, mark = model.score, message = model.message }); } return(RedirectPermanent(url)); }
public async Task ReturnCorrectViewResult() { var feedbackText = "test"; var rating = 5; var author = "Ivancho"; var businessId = 1; var businessServiceMocked = new Mock <IBusinessService>(); var feedbackServiceMocked = new Mock <IFeedbackService>(); var loggerFactoryMocked = new Mock <ILogger <BusinessController> >(); var sendFeedbackViewModel = new SendFeedbackViewModel { FeedbackText = feedbackText, Rating = rating, Author = author, BusinessId = businessId }; var businessController = new BusinessController(businessServiceMocked.Object, feedbackServiceMocked.Object, loggerFactoryMocked.Object); var result = await businessController.SendFeedback(sendFeedbackViewModel); Assert.IsInstanceOfType(result, typeof(JsonResult)); }
public async Task CallBusinessServiceOnce_WhenModelIsValid() { var feedbackText = "test"; var rating = 5; var author = "Ivancho"; var businessId = 1; var businessServiceMocked = new Mock <IBusinessService>(); var feedbackServiceMocked = new Mock <IFeedbackService>(); var loggerFactoryMocked = new Mock <ILogger <BusinessController> >(); var sendFeedbackViewModel = new SendFeedbackViewModel { FeedbackText = feedbackText, Rating = rating, Author = author, BusinessId = businessId }; var businessController = new BusinessController(businessServiceMocked.Object, feedbackServiceMocked.Object, loggerFactoryMocked.Object); await businessController.SendFeedback(sendFeedbackViewModel); feedbackServiceMocked.Verify(f => f.AddFeedbackAsync(feedbackText, rating, author, businessId), Times.Once); }
public async Task <IHttpActionResult> SendFeedback(SendFeedbackViewModel model) { await _luckyUserService.Value.SendFeedback(model, HttpContext.Current.User.Identity.GetUserId()); return(Ok(LuckyConstants.ApiSuccessMessage)); }