Exemplo n.º 1
0
        /// <summary>
        /// báo cáo dư có theo tháng
        /// </summary>
        public ActionResult DuCo(int?month, int?year, DuCoFilterModel filter, Pager pager, ViewMode viewMode = ViewMode.Default)
        {
            title = "Báo cáo dư có";

            IDuCoRepository duCoRepository = uow.Repository <DuCoRepository>();

            // default values: xem báo cáo tháng trước
            var dtBaoCao = DateTime.Now.AddMonths(-1);

            if (month == null)
            {
                month = dtBaoCao.Month;
            }
            if (year == null)
            {
                year = dtBaoCao.Year;
            }

            //if (filter.Mode == null) // not in filter
            //{
            //    // set selected to, quan huyen = nhanVien's to, quan huyen
            //    if (nhanVien != null)
            //    {
            //        filter.NhanVienID = nhanVien.NhanvienID;
            //        filter.ToID = nhanVien.ToQuanHuyenID;

            //        var to = toRepository.GetByID(nhanVien.ToQuanHuyenID ?? 0);
            //        if (to != null)
            //        {
            //            filter.QuanHuyenID = to.QuanHuyenID;
            //        }
            //    }
            //}
            var items = duCoRepository.GetAllDuCoModel(month.Value, year.Value);

            items = filter.ApplyFilter(items);

            ViewBag.TongSoDu = items.Sum(m => m.SoTien) ?? 0;
            ViewBag.Month    = month.Value;
            ViewBag.Year     = year.Value;

            if (viewMode == ViewMode.Excel)
            {
                return(ExcelResult("DuCoExport", items.ToList()));
            }
            if (viewMode == ViewMode.Print)
            {
                return(View("DuCoPrint", items.ToList()));
            }

            items = pager.ApplyPager(items);

            #region view data
            ViewBag.Filter = filter;
            ViewBag.Pager  = pager;
            #endregion

            return(View(items.ToList()));
        }