Beispiel #1
0
        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()));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }