コード例 #1
0
        public ActionResult Index(FinTotal FinTotal, EFPagingInfo <FinTotal> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <FinTotal> FinTotalList1 = new PageOfItems <FinTotal>(new List <FinTotal>(), 0, 10, 0, new Hashtable());
                ViewBag.FinTotalList  = FinTotalList1;
                ViewBag.FinTotal      = FinTotal;
                ViewBag.IsCountByYear = false;
                return(View());
            }
            p.OrderByList.Add("AddTime", "DESC");
            bool IsCountByYear = false;

            if (!FinTotal.Id.IsNullOrEmpty())
            {
                p.SqlWhere.Add(n => n.AddTime.Year == FinTotal.Id);
                IsCountByYear = true;
            }
            p.PageSize = 12;//一年为一页
            IPageOfItems <FinTotal> FinTotalList = Entity.Selects <FinTotal>(p);

            if (p.PageIndex < 2)
            {//第一页处理
                FinTotal FT = FinTotalList.FirstOrDefault();
                if (FT != null)
                {//有数据才处理
                    DateTime DT = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01"));
                    if (FT.AddTime < DT)
                    {//本月未在数据库中
                        FinTotal ft = new FinTotal();
                        ft.AddTime = DT;
                        Entity.FinTotal.AddObject(ft);
                        Entity.SaveChanges();
                        FT = Update(FT);
                        //重新获取数据
                        FinTotalList = Entity.Selects <FinTotal>(p);
                    }
                }
            }
            ViewBag.FinTotalList  = FinTotalList;
            ViewBag.FinTotal      = FinTotal;
            ViewBag.IsCountByYear = IsCountByYear;
            return(View());
        }