• 1399/03/11

استخراج اطلاعات ازدیتابیس در یک بازه تاریخی :

باسلام واحترام

 

  public ActionResult SelectReportPage(string fdate,string tdate)
        {
            ViewBag.fdate = fdate; // Assigned value : Null
            ViewBag.tdate = tdate;
            var req = from m in db.Requests
                      select m;

            var amaken = from z in dbAuth.ZAmakenPersonnel
                         select z;
            //req = req.Include(a => a.Users).Include(a => a.RequestFlows).Include(a => a.RequestAlongs).OrderBy(a => a.CenterID).Where(a => a.Users.UserID == a.EmployeeUserID && a.IsApproval == true ).OrderBy(a => a.Centers.Title + a.Users.UserName);
            req = req.Include(a => a.Users).Include(a => a.RequestFlows).Include(a => a.RequestAlongs).OrderBy(a => a.CenterID).Where(a => a.Users.UserID == a.EmployeeUserID && a.IsApproval == true && a.FromDate.Year+"/"+a.FromDate.Month+"/"+a.FromDate.Day =>fdate  ).OrderBy(a => a.Centers.Title + a.Users.UserName);

            var reqvm = new List<RequestAllReportViewModel>();

            foreach (var item in req)
            {
                PersianCalendar pc = new PersianCalendar();
                int m = pc.GetMonth(item.FromDate).ToString().Length;
                string month = pc.GetMonth(item.FromDate).ToString();
                if (m < 2)
                {
                    month = "0" + pc.GetMonth(item.FromDate).ToString();
                }
                int d = pc.GetDayOfMonth(item.FromDate).ToString().Length;
                string day = pc.GetDayOfMonth(item.FromDate).ToString();
                if (d < 2)
                {
                    day = "0" + pc.GetDayOfMonth(item.FromDate).ToString();
                }
                string FDate = pc.GetYear(item.FromDate).ToString() + "/" + month + "/" + day;
                //ToDate
                m = pc.GetMonth(item.ToDate).ToString().Length;
                month = pc.GetMonth(item.ToDate).ToString();
                if (m < 2)
                {
                    month = "0" + pc.GetMonth(item.ToDate).ToString();
                }
                d = pc.GetDayOfMonth(item.ToDate).ToString().Length;
                day = pc.GetDayOfMonth(item.ToDate).ToString();
                if (d < 2)
                {
                    day = "0" + pc.GetDayOfMonth(item.ToDate).ToString();
                }
                string TDate = pc.GetYear(item.ToDate).ToString() + "/" + month + "/" + day;
                //RegisterDate
                m = pc.GetMonth(item.RegisterDate).ToString().Length;
                month = pc.GetMonth(item.RegisterDate).ToString();
                if (m < 2)
                {
                    month = "0" + pc.GetMonth(item.RegisterDate).ToString();
                }
                d = pc.GetDayOfMonth(item.RegisterDate).ToString().Length;
                day = pc.GetDayOfMonth(item.RegisterDate).ToString();
                if (d < 2)
                {
                    day = "0" + pc.GetDayOfMonth(item.RegisterDate).ToString();
                }
                string RDate = pc.GetYear(item.RegisterDate).ToString() + "/" + month + "/" + day;


                /* +"/" + pc.GetMonth(DateTime.Now).ToString() + "/" + pc.GetDayOfMonth(DateTime.Now).ToString());*/
                reqvm.Add(new RequestAllReportViewModel
                {
                    EmployeeUserId = item.Users.EmployeeNo,
                    UserName = item.Users.UserName,
                    MembersCnt = item.MembersCnt + item.HostsCnt,
                    Title1 = item.Centers.Title,
                    FromDate = FDate,
                    ToDate = TDate,
                    RegisterDate = RDate,
                    PlaceName = unit.ZAmakenPersonnelRepository.Get(g => g.Code == item.Users.EmployeeNo).Select(g => g.WorkLocation).FirstOrDefault()

                });
            }
            @ViewBag.Title = @ViewBag.Title + " تعداد :" + reqvm.Count().ToString() + " رکورد";

            var report = new StiReport();
            report.Load(Server.MapPath("/Reports/report.mrt"));
            report.Compile();
            report.RegBusinessObject("dt", reqvm.ToList());

            return StiMvcViewer.GetReportSnapshotResult(report);
      

 

در req میخوام در یک بازه تاریخی فیلترشود ولی نمیدونم دستورش روچه جوری بنویسم درقسمت مقایسه تاریخ 

وبعد درقسمت return آن هم پیغام خطای value cannot be null رامیدهد لطفا راهنمایی بفرمائید

 

logo-samandehi