public ActionResult Index(string sortOrder, string currentFilter, string searchString, int?page) { // SORTING ---------------------------------------------------------------------------->> ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "title_desc" : ""; ViewBag.CurrentSort = sortOrder; var paintings = from st in PaintingServ.GetPaintings() // Edw einai ntaks? select st; // PAGE NUMBERS ----------------------------------------------------------------------->> if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; // FILTER --------------------------------------=-------------------------------------->> if (!String.IsNullOrEmpty(searchString)) { paintings = paintings.Where(st => (st.PaintingTitle.Contains(searchString))); } // SORTING ---------------------------------------------------------------------------->> switch (sortOrder) { case "title_desc": paintings = paintings.OrderByDescending(s => s.PaintingTitle); break; default: paintings = paintings.OrderBy(s => s.PaintingTitle); break; } // Number of Pages -------------------------------------------------------------------->> int pageSize = 6; int pageNumber = (page ?? 1); return(View(paintings.ToPagedList(pageNumber, pageSize))); // Palio return ------------------------------>> //return View(PaintingServ.GetPaintings()); }
public void CreateAttachments(List <string> paintingIDs) { PaintingApiService ServicePainting = new PaintingApiService(); //Purpose of LINQ: Get list of paintings and a list of selected painting ids and fill the list of mail.Attachments ServicePainting //Service For Paintings .GetPaintings() //Will Get A List of Paintings From API .Where(a => paintingIDs //From paintingIDs .Select(int.Parse) //Convert Everything To INT .ToList() //Convert To List .Contains(a.PaintingId)) //Filter Resault With The Paintings id From API .Select(b => b.ImageUrl) //Keep Only The Img Source .Select(c => new Attachment(LocalUrl + c)) //Create Attachment With Local URL For Every Img Scource in List .ToList() //Convert To List, Nessesary To Add a ForEach Later .ForEach(d => { mail.Attachments.Add(d); }); //Add Each Attachment Created Above, Into the List Of Attachments in mail //LINQ returns Null...so no need to save a var }