Esempio n. 1
0
        public async Task <IActionResult> Feedback(UserFeedbackViewModel vm)
        {
            if (ModelState.IsValid)
            {
                bool Isid = int.TryParse(vm.HamperId, out int id);
                if (Isid == false)
                {
                    return(BadRequest());
                }

                var user = await _userManagerService.GetUserAsync(User);

                var feedbacks = _feedBackService.Query(x => x.ApplicationUserId == user.Id)
                                .SingleOrDefault(f => f.HamperId == id);
                if (feedbacks != null)
                {
                    ModelState.AddModelError("", "Feedback alread exists");
                    return(View(vm));
                }
                Feedback feedback = new Feedback
                {
                    HamperId          = id,
                    Rating            = vm.rating,
                    UserFeedBack      = vm.comment,
                    ApplicationUserId = user.Id,
                    Name = User.Identity.Name
                };


                await _feedBackService.Create(feedback);

                return(RedirectToAction("Index", "Home"));
            }
            return(View(vm));
        }
Esempio n. 2
0
        public async Task <IActionResult> Feedback()
        {
            var user = await _userManagerService.GetUserAsync(User);

            var test = _addressService.GetAll()
                       .Where(ad => ad.ApplicationUserId == user.Id)
                       .Include(x => x.CartInvoices);

            var t = test.SelectMany
                        (s => s.CartInvoices.SelectMany
                            (c => c.Carts.Select
                                (ids => ids.HamperId)))
                    .Distinct();

            var hampers = _hamperService.Query(h => t.Any(id => h.HamperId == id));

            var selectList = hampers.Select(item => new SelectListItem {
                Text  = item.HamperName,
                Value = item.HamperId.ToString()
            });

            UserFeedbackViewModel vm = new UserFeedbackViewModel
            {
                hampers = selectList
            };

            return(View(vm));
        }
        public ActionResult Select(UserFeedbackViewModel userFeedback)
        {
            var surveryObject = JsonConvert.SerializeObject(userFeedback);

            try
            {
                var userId = User.Identity.GetUserId();
                var user   = db.Users.Find(userId);
                var questionDropDownlist = Request.Form.ToDictionary()
                                           .Where(x => x.Key.Contains("QuestionDropDownlist"))
                                           .Select(each => new
                {
                    key        = each.Key,
                    AnswerText = each.Value,
                    questionId = each.Key.Split(':').LastOrDefault()
                });
                ;

                foreach (var question in questionDropDownlist)
                {
                    var answer = new Answer
                    {
                        SurveyId   = userFeedback.SurveyId,
                        QuestionId = Convert.ToInt16(question.questionId),
                        AnswerText = question.AnswerText,
                        User       = user
                    };
                    db.Answers.AddOrUpdate(answer);
                }

                string sentiment;
                if (!string.IsNullOrEmpty(userFeedback.UserFeedbackText))
                {
                    sentiment = DragonApiClass.GetSentiment(userFeedback.UserFeedbackText);
                }
                else
                {
                    sentiment = "Neutral";
                }

                var userfeeback = new UserFeedback
                {
                    UserFeedbackText = userFeedback.UserFeedbackText,
                    User             = user,
                    SurveyId         = userFeedback.SurveyId,
                    Sentiment        = sentiment
                };

                db.UserFeedbacks.AddOrUpdate(userfeeback);
                db.SaveChanges();

                return(View("ThankYou"));
            }
            catch (Exception exp)
            {
                return(RedirectToAction("Index"));
            }
        }
Esempio n. 4
0
        public HttpResponseMessage SubmitFeedback(UserFeedbackViewModel objFeedback)
        {
            try
            {
                UserFeedback objUserFeedback = new UserFeedback();
                string       mobileNumber    = objFeedback.Usercode;
                //get mobileNumber from user table
                var number = (from user in dbContext.UserInfo where user.MobileNumber == mobileNumber select user).FirstOrDefault();
                if (number != null)
                {
                    //objUserFeedback.Tr_Id = objFeedback.Tr_Id;
                    objUserFeedback.Usercode = objFeedback.Usercode;
                    objUserFeedback.Product  = objFeedback.Product;
                    objUserFeedback.Feedback = objFeedback.Feedback;
                    //objUserFeedback.Tr_Date = !string.IsNullOrEmpty(objFeedback.Tr_Date) ? Convert.ToDateTime(objFeedback.Tr_Date) : (DateTime?)null;
                    objUserFeedback.Tr_Date = DateTime.Now;


                    dbContext.UserFeedback.Add(objUserFeedback);
                    var i = dbContext.SaveChanges();
                    if (i != 0)
                    {
                        objResponse.Message = "Submitted successfully";
                        return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                    }
                    else
                    {
                        objResponse.Message = "Failed";
                        return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                    }
                }
                else
                {
                    objResponse.Message = "Mobile number not exists.";

                    return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                }
            }
            catch (Exception ex)
            {
                Log.Info(Convert.ToString(ex.InnerException));
                Log.Info(ex.Message);
                objCommonClasses.InsertExceptionDetails(ex, "UserController", "SubmitFeedback");
                return(Request.CreateErrorResponse(HttpStatusCode.ExpectationFailed, ex.Message));
            }
        }
        // GET: api/RestUserFeedBack/5
        public UserFeedbackViewModel Get(int id)
        {
            var survery = db.Surveys.Find(id);

            var userFeedback = new UserFeedbackViewModel
            {
                SurveyId             = survery.SurveyId,
                StartDate            = survery.StartDate,
                EndDate              = survery.EndDate,
                Description          = survery.Description,
                UserAnswerCollection = survery.Questions.ToList().ConvertAll(x => new UserAnswerViewModel
                {
                    Question     = x.QuestionText,
                    UserAnswerid = x.QuestionId.ToString()
                })
            };

            return(userFeedback);
        }
        // GET: FeedBack/Select/5
        public ActionResult Select(int id)
        {
            showAllsurvery = db.Surveys.ToList();
            var survery = showAllsurvery
                          .FirstOrDefault(x => x.SurveyId == id);

            var userFeedback = new UserFeedbackViewModel
            {
                SurveyId             = survery.SurveyId,
                StartDate            = survery.StartDate,
                EndDate              = survery.EndDate,
                Description          = survery.Description,
                UserAnswerCollection = survery.Questions.ToList().ConvertAll(x => new UserAnswerViewModel
                {
                    Question     = x.QuestionText,
                    UserAnswerid = x.QuestionId.ToString()
                })
            };

            ViewBag.UserFeedbackData = userFeedback;

            return(View(userFeedback));
        }
 public UserFeedbackControl()
 {
     InitializeComponent();
     //Connectto the instance of view model
     _viewModel = (UserFeedbackViewModel)this.Resources["viewModel"];
 }