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());
        }
Ejemplo n.º 2
0
        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
        }