예제 #1
0
        public ActionResult SearchNotes(NoteModel Nm)
        {
            Nm.IsItSearchAndFilter = true;
            ListNotes Ln = NotesRepository.GetAllAvailableNotes(Nm);

            return(PartialView("_ListNotes", Ln));
        }
예제 #2
0
        public ActionResult SearchNotes()
        {
            ViewBag.Title = "SearchNotes";

            if (Request.IsAuthenticated && Session["UserID"] == null)
            {
                return(RedirectToAction("Login", "Authentication"));
            }
            else if (Request.IsAuthenticated)
            {
                ViewBag.Authorized = true;
            }


            SearchNotesModel FilterData = new SearchNotesModel();

            FilterData.Type       = NotesFilters.Types();
            FilterData.Category   = NotesFilters.Categories();
            FilterData.Country    = NotesFilters.Countries();
            FilterData.Rating     = NotesFilters.Ratings();
            FilterData.University = NotesFilters.Universities();
            FilterData.Course     = NotesFilters.Courses();
            ViewBag.FilterData    = FilterData;

            ListNotes Ln = NotesRepository.GetAllAvailableNotes(new NoteModel()
            {
                IsItSearchAndFilter = false
            });

            ViewBag.LoadAjaxJS = true;
            ViewBag.NotesData  = Ln;
            return(View());
        }
예제 #3
0
        public static ListNotes GetAllAvailableNotes(NoteModel Nm, int Status = 3)
        {
            ListNotes AvailableNotes = new ListNotes();

            AvailableNotes.Notes = new List <NoteModel>();
            using (NotesMarketPlaceEntities context = new NotesMarketPlaceEntities())
            {
                var NotesInDB = context.Notes.Where(n => n.NoteStatus == Status && n.IsActive == true).ToList();
                if (NotesInDB != null && Nm.IsItSearchAndFilter)
                {
                    if (Nm.Title != null)
                    {
                        NotesInDB = NotesInDB.Where(n => { return(new CultureInfo("en-IN").CompareInfo.IndexOf(n.Title, Nm.Title, CompareOptions.IgnoreCase) >= 0); }).ToList();
                    }
                    if (Nm.Type != null)
                    {
                        NotesInDB = NotesInDB.Where(n => n.NoteType1.TypeName == Nm.Type).ToList();
                    }
                    if (Nm.Category != null)
                    {
                        NotesInDB = NotesInDB.Where(n => n.NoteCategory.CategoryName == Nm.Category).ToList();
                    }
                    if (Nm.Institution != null)
                    {
                        NotesInDB = NotesInDB.Where(n => n.University == Nm.Institution).ToList();
                    }
                    if (Nm.CourseName != null)
                    {
                        NotesInDB = NotesInDB.Where(n => n.Course == Nm.CourseName).ToList();
                    }
                    if (Nm.Country != null)
                    {
                        NotesInDB = NotesInDB.Where(n => n.Country1.CountryName == Nm.Country).ToList();
                    }
                    if (Nm.rating != null)
                    {
                        NotesInDB = NotesInDB.Where(n => n.NotesReviews.Count != 0 ? (int)n.NotesReviews.Average(r => r.Rating) >= Nm.rating : false).ToList();
                    }
                }

                foreach (Note n in NotesInDB)
                {
                    AvailableNotes.Notes.Add(
                        new NoteModel()
                    {
                        NoteId         = n.NoteID,
                        Title          = n.Title,
                        Category       = n.NoteCategory.CategoryName,
                        Type           = n.NoteType1.TypeName,
                        Description    = n.NoteDescription,
                        DisplayPicture = n.DisplayPicture,
                        Price          = n.Price,
                        Institution    = n.University,
                        Country        = context.Countries.FirstOrDefault(c => c.CountryID == n.Country).CountryName,
                        CourseCode     = n.CourseCode,
                        CourseName     = n.Course,
                        Professor      = n.Professor,
                        Pages          = n.NumberOfPages,
                        Approved       = n.PublishedDate != null ? (System.DateTime)n.PublishedDate : System.DateTime.MinValue,
                        rating         = n.NotesReviews.Count != 0 ? (int)n.NotesReviews.Average(r => r.Rating) : 0,
                        Reports        = n.NotesReports.Count,
                        Reviews        = GetReviews(n.NoteID),
                        Preview        = n.Preview
                    }
                        );
                }
            }
            return(AvailableNotes);
        }