public ActionResult ExportXML(ItemToSellFilterViewModel model)
        {
            int totalCount;
            var list = ItemRep.Filter(
                model.ItemName,
                model.ItemBrand,
                model.ItemModel,
                model.ItemCategoryId,
                model.ItemAddedDate,
                out totalCount,
                1,
                1000_000);

            var memory     = new MemoryStream();
            var writer     = new StreamWriter(memory);
            var serializer = new XmlSerializer(typeof(List <ItemToSell>));

            serializer.Serialize(writer, list);
            writer.Flush();

            memory.Position = 0;
            if (memory != Stream.Null)
            {
                return(File(memory, "application/xml", $"Export_{DateTime.Now}.xml"));
            }
            return(NotFound());
        }
        public ActionResult ExportCSV(ItemToSellFilterViewModel model)
        {
            int totalCount;
            var list = ItemRep.Filter(
                model.ItemName,
                model.ItemBrand,
                model.ItemModel,
                model.ItemCategoryId,
                model.ItemAddedDate,
                out totalCount,
                1,
                1000_000);

            var memory    = new MemoryStream();
            var writer    = new StreamWriter(memory);
            var csvWriter = new CsvWriter(writer, CultureInfo.InvariantCulture);

            csvWriter.WriteRecords(list);
            writer.Flush();

            memory.Position = 0;
            if (memory != Stream.Null)
            {
                return(File(memory, "text/csv", $"Export_{DateTime.Now}.csv"));
            }
            return(NotFound());
        }
        public ActionResult Filter(int page, ItemToSellFilterViewModel model)
        {
            int totalCount;
            var list = ItemRep.Filter(model.ItemName, model.ItemBrand, model.ItemModel,
                                      model.ItemCategoryId, model.ItemAddedDate, out totalCount, page, 2);


            if (page <= 0)
            {
                page = 1;
            }

            //model.ItemToSells = list;
            model.ItemToSellsPaged = new StaticPagedList <ItemToSell>(list, page, 2, totalCount);

            return(View(model));
        }