public IActionResult LeaveFeedback(LeaveFeedbackViewModel model) { if (!_settings.ShowFeedback) { return(RedirectToAction(nameof(Index), Name)); } if (_settings.ShowCaptchaText) { HelpdeskCacheItem helpdeskCache = GetCachedHelpdeskItem(true); if (!model.CaptchaText.Equals(helpdeskCache.CaptchaText, StringComparison.CurrentCultureIgnoreCase)) { ModelState.AddModelError(nameof(model.CaptchaText), Languages.LanguageStrings.CodeNotValid); } } if (ModelState.IsValid) { if (_helpdeskProvider.SubmitFeedback(UserId(), model.Name, model.Feedback)) { GrowlAdd(Languages.LanguageStrings.FeedbackSubmitted); return(RedirectToAction(nameof(Index))); } ModelState.AddModelError(String.Empty, Languages.LanguageStrings.FeedbackFailed); } return(View(GetFeedbackModel())); }
public IActionResult Feedback(int id) { Package currentPackage = _packageRepo.GetSingle(p => p.PackageId == id); Provider currentProvider = _providerRepo.GetSingle(p => p.ProviderId == currentPackage.ProviderId); LeaveFeedbackViewModel vm = new LeaveFeedbackViewModel { PackageId = id, PackageName = currentPackage.Name, CompanyName = currentProvider.DisplayName }; return(View(vm)); }
public async Task <IActionResult> Feedback(LeaveFeedbackViewModel vm) { if (ModelState.IsValid) { Package currentPackage = _packageRepo.GetSingle(p => p.PackageId == vm.PackageId); Provider currentProvider = _providerRepo.GetSingle(p => p.ProviderId == currentPackage.ProviderId); string userFullName = ""; if (!User.Identity.IsAuthenticated) { userFullName = "Anonymous"; } else { if (User.IsInRole("Customer")) { ApplicationUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); Customer customer = _customerRepo.GetSingle(c => c.UserId == user.Id); userFullName = customer.FirstName + " " + customer.LastName; } else if (User.IsInRole("Provider")) { userFullName = currentProvider.DisplayName; } } Feedback newFeedback = new Feedback { PackageId = vm.PackageId, Rating = vm.Rating, Content = vm.Content, FullName = userFullName, Date = DateTime.Now }; _feedbackRepo.Create(newFeedback); return(RedirectToAction("FeedbackPost")); } return(View(vm)); }