コード例 #1
0
        public ActionResult StatisticCoQuan(ValueSearchStatisticViewModel model)
        {
            var find = Find(model);

            var tinhHinhThucHienByTacNghiep = TacNghiepTinhHinhThucHienRepository.GetAllByListTacNghiepId(find.Select(x => x.Id));

            var result = tinhHinhThucHienByTacNghiep.GroupBy(x => new { x.CoQuanId, x.CoQuanInfo.Name }, y => y, (a, b) =>
            {
                return(new ResultStatisticByCoQuanViewModel
                {
                    TenCoQuan = a.Name,

                    NotExecuteResults = b.Where(x => x.MucDoHoanThanhId == (int)EnumMucDoHoanThanh.CHUATHUHIEN).Select(s => new ResultCongViecThucHien
                    {
                        LinhVucString = s.TacNghiepInfo.LinhVucTacNghiepInfo.Name,
                        VanBan = GetPathFiles(EnsureFolderTacNghiep(s.TacNghiepId)),
                        NoiDungCongViec = s.TacNghiepInfo.NoiDung,
                        NgayHoanThanh = s.NgayHoanThanh,
                        NgayTao = s.TacNghiepInfo.NgayTao,
                        NgayHetHan = s.TacNghiepInfo.NgayHetHan,
                        TrangThai = "Chưa thực hiện",
                    }),
                    ExecutingResults = b.Where(w => w.MucDoHoanThanhId == (int)EnumMucDoHoanThanh.DANGTHUCHIEN).Select(s => new ResultCongViecThucHien
                    {
                        LinhVucString = s.TacNghiepInfo.LinhVucTacNghiepInfo.Name,
                        VanBan = GetPathFiles(EnsureFolderTacNghiep(s.TacNghiepId)),
                        NoiDungCongViec = s.TacNghiepInfo.NoiDung,
                        NgayHoanThanh = s.NgayHoanThanh,
                        NgayTao = s.TacNghiepInfo.NgayTao,
                        NgayHetHan = s.TacNghiepInfo.NgayHetHan,
                        TrangThai = "Đang thực hiện",
                    }),
                    ExecutedResults = b.Where(w => (w.MucDoHoanThanhId == (int)EnumMucDoHoanThanh.DATHUCHIEN || w.MucDoHoanThanhId == (int)EnumMucDoHoanThanh.DAHOANHTHANH) &&
                                              w.NgayHoanThanh.CompareDate(w.TacNghiepInfo.NgayHetHan)).Select(s => new ResultCongViecThucHien
                    {
                        LinhVucString = s.TacNghiepInfo.LinhVucTacNghiepInfo.Name,
                        VanBan = GetPathFiles(EnsureFolderTacNghiep(s.TacNghiepId)),
                        NoiDungCongViec = s.TacNghiepInfo.NoiDung,
                        NgayHoanThanh = s.NgayHoanThanh,
                        NgayTao = s.TacNghiepInfo.NgayTao,
                        NgayHetHan = s.TacNghiepInfo.NgayHetHan,
                        TrangThai = "Đã thực hiện/đúng hạn",
                    }),
                    ExecutedOverResults = b.Where(w => (w.MucDoHoanThanhId == (int)EnumMucDoHoanThanh.DATHUCHIEN || w.MucDoHoanThanhId == (int)EnumMucDoHoanThanh.DAHOANHTHANH) &&
                                                  !w.NgayHoanThanh.CompareDate(w.TacNghiepInfo.NgayHetHan)).Select(s => new ResultCongViecThucHien
                    {
                        LinhVucString = s.TacNghiepInfo.LinhVucTacNghiepInfo.Name,
                        VanBan = GetPathFiles(EnsureFolderTacNghiep(s.TacNghiepId)),
                        NoiDungCongViec = s.TacNghiepInfo.NoiDung,
                        NgayHoanThanh = s.NgayHoanThanh,
                        NgayTao = s.TacNghiepInfo.NgayTao,
                        NgayHetHan = s.TacNghiepInfo.NgayHetHan,
                        TrangThai = "Đã thực hiện/trễ hạn",
                        IsDeadline = true
                    }),
                });
            });

            return(PartialView("_PartialPageStatisticCoQuan", result));
        }
コード例 #2
0
        private IEnumerable <TacNghiepResult> Find(ValueSearchStatisticViewModel model)
        {
            var all = TacNghiepRepository.GetAll();

            if (model.CoQuanId.HasValue)
            {
                all = all.Where(x => x.CoQuanInfos.Any(y => y.Id == model.CoQuanId.Value));
            }

            if (model.LinhVucTacNghiepId.HasValue)
            {
                all = all.Where(x => x.LinhVucTacNghiepId == model.LinhVucTacNghiepId.Value);
            }

            if (model.MucDoHoanThanhId.HasValue)
            {
                all = all.Where(x => x.MucDoHoanThanhId == model.MucDoHoanThanhId.Value);
            }

            if (model.From.HasValue)
            {
                all = all.Where(x => x.NgayTao >= model.From.Value);
            }

            if (model.To.HasValue)
            {
                all = all.Where(x => x.NgayTao <= model.To.Value);
            }

            return(all);
        }
コード例 #3
0
        public ActionResult StatisticCongViec(ValueSearchStatisticViewModel model)
        {
            var find = Find(model);
            var tinhHinhThucHienByTacNghiep = TacNghiepTinhHinhThucHienRepository.GetAllByListTacNghiepId(find.Select(x => x.Id));

            var result = tinhHinhThucHienByTacNghiep.GroupBy(x => new { x.TacNghiepInfo.NoiDung, x.TacNghiepId, x.TacNghiepInfo.NgayTao, x.TacNghiepInfo.NgayHoanThanh }, y => y, (a, b) =>
            {
                return(new ResultStatisticByCongViecViewModel
                {
                    NgayTao = a.NgayTao,
                    Name = a.NoiDung,
                    NotExecuteResults = b.Where(w => (w.MucDoHoanThanhId == (int)EnumMucDoHoanThanh.CHUATHUHIEN ||
                                                      w.MucDoHoanThanhId == (int)EnumMucDoHoanThanh.DAXEM)).Select(s => new ResultCoQuanThucHien
                    {
                        Name = s.CoQuanInfo.Name,
                    }),
                    ExecutingResults = b.Where(w => w.MucDoHoanThanhId == (int)EnumMucDoHoanThanh.DANGTHUCHIEN).Select(s => new ResultCoQuanThucHien
                    {
                        Name = s.CoQuanInfo.Name,
                    }),
                    ExecutedResults = b.Where(w => w.MucDoHoanThanhId == (int)EnumMucDoHoanThanh.DATHUCHIEN ||
                                              w.MucDoHoanThanhId == (int)EnumMucDoHoanThanh.DAHOANHTHANH).Select(s => new ResultCoQuanThucHien
                    {
                        Name = s.CoQuanInfo.Name,
                        NgayHoanThanh = a.NgayHoanThanh,
                    }),
                });
            });

            return(PartialView("_PartialPageStatisticCongViec", result));
        }