public ActionResult Index(int?page)
        {
            int pageIndex = PagingHelper.GetPageIndex(page);
            StockMovementSearchModel q  = new StockMovementSearchModel();
            IStockMovementService    ss = new StockMovementService(Settings.Default.db);

            IPagedList <StockMovement> stockMovements = ss.Search(q).ToPagedList(pageIndex, Settings.Default.pageSize);

            ViewBag.Query = q;

            SetMoveTypeDisplayList(null);

            return(View(stockMovements));
        }
        public ActionResult Search([Bind(Include = "PartNr,PartNrAct, DateFrom, DateTo, MoveType")] StockMovementSearchModel q)
        {
            int pageIndex = 0;

            int.TryParse(Request.QueryString.Get("page"), out pageIndex);
            pageIndex = PagingHelper.GetPageIndex(pageIndex);

            IStockMovementService      ss             = new StockMovementService(Settings.Default.db);
            IPagedList <StockMovement> stockMovements = ss.Search(q).ToPagedList(pageIndex, Settings.Default.pageSize);

            ViewBag.Query = q;

            SetMoveTypeDisplayList(q.MoveType);
            return(View("Index", stockMovements));
        }
        public void Export([Bind(Include = "PartNr, PartNrAct, DateFrom, DateTo, MoveType")] StockMovementSearchModel q)
        {
            IStockMovementService sms            = new StockMovementService(Settings.Default.db);
            List <StockMovement>  stockMovements = sms.Search(q).ToList();

            ViewBag.Query = q;
            MemoryStream ms = new MemoryStream();

            using (StreamWriter sw = new StreamWriter(ms, Encoding.UTF8))
            {
                List <string> head = new List <string>
                {
                    "N0.", "PartNr", "Quantity", "FIFO", "MoveType", "SouceDoc", "CreatedAt"
                };

                sw.WriteLine(string.Join(Settings.Default.csvDelimiter, head));

                for (var i = 0; i < stockMovements.Count; i++)
                {
                    List <string> ii = new List <string>();
                    ii.Add((i + 1).ToString());
                    ii.Add(stockMovements[i].partNr);
                    ii.Add(stockMovements[i].quantity.ToString());
                    ii.Add(stockMovements[i].fifoDisplay);
                    ii.Add(stockMovements[i].typeDisplay);
                    ii.Add(stockMovements[i].sourceDoc == null ? string.Empty : stockMovements[i].sourceDoc.ToString());
                    ii.Add(stockMovements[i].createdAtDisplay);
                    sw.WriteLine(string.Join(Settings.Default.csvDelimiter, ii.ToArray()));
                }
            }

            var filename    = "StockMovements" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv";
            var contenttype = "text/csv";

            Response.Clear();
            Response.ContentEncoding = Encoding.UTF8;
            Response.ContentType     = contenttype;
            Response.AddHeader("content-disposition", "attachment;filename=" + filename);
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.BinaryWrite(ms.ToArray());
            Response.End();
        }
        public ActionResult JsonSearch([Bind(Include = "PartNr, DateFrom, DateTo, MoveType")] StockMovementSearchModel q)
        {
            int pageIndex = 0;

            int.TryParse(Request.QueryString.Get("page"), out pageIndex);
            pageIndex = PagingHelper.GetPageIndex(pageIndex);
            if (q.DateFrom.HasValue)
            {
                q.DateFrom = q.DateFrom.Value.Date;
            }
            if (q.DateTo.HasValue)
            {
                q.DateTo = q.DateTo.Value.Date.AddDays(1).AddMilliseconds(-1);
            }

            ViewBag.Query = q;

            IStockMovementService ss = new StockMovementService(Settings.Default.db);

            IPagedList <StockMovement> moves = ss.Search(q).ToPagedList(pageIndex, Settings.Default.pageSize);

            return(Json(moves.ToList(), JsonRequestBehavior.AllowGet));
        }