public ActionResult SearchNotes(NoteModel Nm) { Nm.IsItSearchAndFilter = true; ListNotes Ln = NotesRepository.GetAllAvailableNotes(Nm); return(PartialView("_ListNotes", Ln)); }
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()); }
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); }