Ejemplo n.º 1
0
        //[Authorize(Roles = "Admin,Client")]
        public ActionResult GetFeedBacks(string Name, string sortOrder, string TrainerId, string Frequency, int?page, int PageSize = 10)
        {
            string UserId      = User.Identity.GetUserId();
            var    UserDetails = generic.GetUserDetail(UserId);

            ViewData["UserProfile"] = UserDetails;
            ViewData["CompanyLogo"] = cms.GetCompanyLogo(UserDetails.SubscriberId).FirstOrDefault();
            var plandetail = admin.GetUserplanDetails(UserDetails.SubscriberId).Where(c => c.AddOnId == 3).FirstOrDefault();

            ViewData["plandetail"] = plandetail;
            PopulateFrequency();
            PopulateTrainer();
            if (UserDetails.DepartmentId == "ADI")
            {
                var feedback = rms.GetFeedback(null, Frequency, null);
                ViewBag.CurrentSort           = sortOrder;
                ViewBag.FeedBackdateSortParam = sortOrder == "FeedBackDate" ? "FeedBackDate_desc" : "FeedBackDate";
                ViewBag.NameSortParam         = sortOrder == "Name" ? "Name_desc" : "Name";
                ViewBag.FrequencySortParam    = sortOrder == "Frequency" ? "Frequency_desc" : "Frequency";
                ViewBag.SubmittedSortParam    = sortOrder == "SubmittedOn" ? "SubmittedOn_desc" : "Submitted";

                ViewBag.Name      = Name;
                ViewBag.Frequency = Frequency;
                ViewBag.Page      = page;

                if (feedback.Count != 0)
                {
                    switch (sortOrder)
                    {
                    case "FeedBackDate":
                        feedback = feedback.OrderBy(c => c.FeedBackdate).ToList();
                        break;

                    case "FeedBackDate_desc":
                        feedback = feedback.OrderByDescending(c => c.FeedBackdate).ToList();
                        break;

                    case "Frequency":
                        feedback = feedback.OrderBy(c => c.Frequency).ToList();
                        break;

                    case "Frequency_desc":
                        feedback = feedback.OrderByDescending(c => c.Frequency).ToList();
                        break;

                    case "Name":
                        feedback = feedback.OrderBy(c => c.Name).ToList();
                        break;

                    case "Name_desc":
                        feedback = feedback.OrderByDescending(c => c.Name).ToList();
                        break;

                    case "SubmittedOn":
                        feedback = feedback.OrderBy(c => c.UpdatedOn).ToList();
                        break;

                    case "SubmittedOn_desc":
                        feedback = feedback.OrderByDescending(c => c.UpdatedOn).ToList();
                        break;

                    default:
                        feedback = feedback.OrderBy(c => c.Name).ToList();
                        break;
                    }
                }
                PopulatePaging(PageSize);
                ViewBag.Paging = PageSize;
                int pageSize   = PageSize;
                int pageNumber = (page ?? 1);
                return(View(feedback.ToPagedList(pageNumber, pageSize)));
            }
            else
            {
                var feedback = rms.GetFeedback(null, Frequency, UserId);
                ViewBag.CurrentSort           = sortOrder;
                ViewBag.FeedBackdateSortParam = sortOrder == "FeedBackDate" ? "FeedBackDate_desc" : "FeedBackDate";
                ViewBag.NameSortParam         = sortOrder == "Name" ? "Name_desc" : "Name";
                ViewBag.FrequencySortParam    = sortOrder == "Frequency" ? "Frequency_desc" : "Frequency";
                ViewBag.SubmittedSortParam    = sortOrder == "SubmittedOn" ? "SubmittedOn_desc" : "Submitted";

                ViewBag.Name      = Name;
                ViewBag.Frequency = Frequency;
                ViewBag.Page      = page;

                if (feedback.Count != 0)
                {
                    switch (sortOrder)
                    {
                    case "FeedBackDate":
                        feedback = feedback.OrderBy(c => c.FeedBackdate).ToList();
                        break;

                    case "FeedBackDate_desc":
                        feedback = feedback.OrderByDescending(c => c.FeedBackdate).ToList();
                        break;

                    case "Frequency":
                        feedback = feedback.OrderBy(c => c.Frequency).ToList();
                        break;

                    case "Frequency_desc":
                        feedback = feedback.OrderByDescending(c => c.Frequency).ToList();
                        break;

                    case "Name":
                        feedback = feedback.OrderBy(c => c.Name).ToList();
                        break;

                    case "Name_desc":
                        feedback = feedback.OrderByDescending(c => c.Name).ToList();
                        break;

                    case "SubmittedOn":
                        feedback = feedback.OrderBy(c => c.UpdatedOn).ToList();
                        break;

                    case "SubmittedOn_desc":
                        feedback = feedback.OrderByDescending(c => c.UpdatedOn).ToList();
                        break;

                    default:
                        feedback = feedback.OrderBy(c => c.Name).ToList();
                        break;
                    }
                }
                PopulatePaging(PageSize);
                ViewBag.Paging = PageSize;
                int pageSize   = PageSize;
                int pageNumber = (page ?? 1);
                return(View(feedback.ToPagedList(pageNumber, pageSize)));
            }
        }