Beispiel #1
0
        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));
        }
Beispiel #3
0
        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));
        }
Beispiel #5
0
        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
            }));
        }
Beispiel #6
0
        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));
        }
Beispiel #7
0
        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);
        }
Beispiel #10
0
        public async Task <IHttpActionResult> SendFeedback(SendFeedbackViewModel model)
        {
            await _luckyUserService.Value.SendFeedback(model, HttpContext.Current.User.Identity.GetUserId());

            return(Ok(LuckyConstants.ApiSuccessMessage));
        }