コード例 #1
0
        public List<TestReportModel> TestReport(string dateFrom, string dateTo)
        {
            var TR = new List<TestReportModel>();
             QuizBookDbEntities1 _db = new QuizBookDbEntities1();

            if (!string.IsNullOrEmpty(dateFrom) && !string.IsNullOrEmpty(dateTo))
            {

                var f = ErecruitHelper.GetCurrentDateFromDateString(dateFrom);
                var t = ErecruitHelper.GetCurrentDateFromDateString(dateTo);
                var tr = _db.T_CTestTracker.Where(s => s.CurrentStartTime.Value.Date >= f.Date && s.CurrentStartTime.Value.Date <= t.Date).OrderByDescending(s => s.CurrentStartTime).Select(s => s.BatchId).Distinct();
                var bs = _db.T_BatchSet.Where(s => tr.Contains(s.BatchId)).ToList();
                TR = bs.Select(a => new TestReportModel
                {
                    ID = (long)a.CandidateId,
                    Code = ErecruitHelper.getCandidateCode((long)a.CandidateId).ToString(),
                    FirstName = ErecruitHelper.getCandidateFirstName((long)a.CandidateId).ToString(),
                    LastName = ErecruitHelper.getCandidateLastName((long)a.CandidateId).ToString(),
                    Qualification = ErecruitHelper.getCandidate((long)a.CandidateId).Degree,
                    Grade = ErecruitHelper.getCandidate((long)a.CandidateId).ClassOfDegree,
                    Contact = ErecruitHelper.getCandidate((long)a.CandidateId).Email,
                    Refferal = ErecruitHelper.getCandidate((long)a.CandidateId).Referer,
                    from =ErecruitHelper.GetDateStringFromDateX(f),
                    to = ErecruitHelper.GetDateStringFromDateX(t),
                    Email = ErecruitHelper.getCandidate((long)a.CandidateId).Email,
                    TestDate = ErecruitHelper.GetDateStringFromDateX(ErecruitHelper.getTracker(a.CandidateId.Value,a.BatchId.Value).CurrentStartTime.Value),
                    Score = a.TestScore == null ? "Not Attempted" : a.TestScore + "%",
                    Age = (DateTime.Now.Year - (ErecruitHelper.getCandidateDobx((long)a.CandidateId) != null ? ErecruitHelper.getCandidateDobx((long)a.CandidateId).Value.Year: 0)).ToString(),
                    DateOfBirth = ErecruitHelper.GetDateStringFromDateX(ErecruitHelper.getCandidate((long)a.CandidateId).DateOfBirth.Value),
                    Sex = ErecruitHelper.getCandidateSex((long)a.CandidateId).ToString(),
                    Passport = ErecruitHelper.getCandidateImgUrl((long)a.CandidateId).ToString(),
                    Alt = ErecruitHelper.getCandidateCode((long)a.CandidateId).ToString()

                }).ToList();

            }
            else if (string.IsNullOrEmpty(dateFrom) && !string.IsNullOrEmpty(dateTo))
            {

                var f = DateTime.Now;
                var t = ErecruitHelper.GetCurrentDateFromDateString(dateTo);
                var tr = _db.T_CTestTracker.Where(s => s.CurrentStartTime.Value.Date >= f.Date && s.CurrentStartTime.Value.Date <= t.Date).OrderByDescending(s => s.CurrentStartTime).Select(s => s.BatchId).Distinct();
                var bs = _db.T_BatchSet.Where(s => tr.Contains(s.BatchId)).ToList();
                TR = bs.Select(a => new TestReportModel
                {
                    ID = (long)a.CandidateId,
                    Code = ErecruitHelper.getCandidateCode((long)a.CandidateId).ToString(),
                    FirstName = ErecruitHelper.getCandidateFirstName((long)a.CandidateId).ToString(),
                    LastName = ErecruitHelper.getCandidateLastName((long)a.CandidateId).ToString(),
                    Qualification = ErecruitHelper.getCandidate((long)a.CandidateId).Degree,
                    Grade = ErecruitHelper.getCandidate((long)a.CandidateId).ClassOfDegree,
                    Contact = ErecruitHelper.getCandidate((long)a.CandidateId).Email,
                    Refferal = ErecruitHelper.getCandidate((long)a.CandidateId).Referer,
                    Email = ErecruitHelper.getCandidate((long)a.CandidateId).Email,
                    from = ErecruitHelper.GetDateStringFromDateX(f),
                    to = ErecruitHelper.GetDateStringFromDateX(t),
                    TestDate = ErecruitHelper.GetDateStringFromDateX(ErecruitHelper.getTracker(a.CandidateId.Value, a.BatchId.Value).CurrentStartTime.Value),
                    Score = a.TestScore == null ? "Not Attempted" : a.TestScore + "%",
                    Age = (DateTime.Now.Year - (ErecruitHelper.getCandidateDobx((long)a.CandidateId) != null ? ErecruitHelper.getCandidateDobx((long)a.CandidateId).Value.Year : 0)).ToString(),
                    DateOfBirth = ErecruitHelper.GetDateStringFromDateX(ErecruitHelper.getCandidate((long)a.CandidateId).DateOfBirth.Value),
                    Sex = ErecruitHelper.getCandidateSex((long)a.CandidateId).ToString(),
                    Passport = ErecruitHelper.getCandidateImgUrl((long)a.CandidateId).ToString(),
                    Alt = ErecruitHelper.getCandidateCode((long)a.CandidateId).ToString()

                }).ToList();

            }
            else if (!string.IsNullOrEmpty(dateFrom) && string.IsNullOrEmpty(dateTo))
            {
                var f = ErecruitHelper.GetCurrentDateFromDateString(dateFrom);
                var t = DateTime.Now;
                var tr = _db.T_CTestTracker.Where(s => s.CurrentStartTime.Value.Date >= f.Date && s.CurrentStartTime.Value.Date <= t.Date).OrderByDescending(s => s.CurrentStartTime).Select(s => s.BatchId).Distinct();
                var bs = _db.T_BatchSet.Where(s => tr.Contains(s.BatchId)).ToList();
                TR = bs.Select(a => new TestReportModel
                {
                    ID = (long)a.CandidateId,
                    Code = ErecruitHelper.getCandidateCode((long)a.CandidateId).ToString(),
                    FirstName = ErecruitHelper.getCandidateFirstName((long)a.CandidateId).ToString(),
                    LastName = ErecruitHelper.getCandidateLastName((long)a.CandidateId).ToString(),
                    Qualification = ErecruitHelper.getCandidate((long)a.CandidateId).Degree,
                    Grade = ErecruitHelper.getCandidate((long)a.CandidateId).ClassOfDegree,
                    Contact = ErecruitHelper.getCandidate((long)a.CandidateId).Email,
                    Refferal = ErecruitHelper.getCandidate((long)a.CandidateId).Referer,
                    Email = ErecruitHelper.getCandidate((long)a.CandidateId).Email,
                    from = ErecruitHelper.GetDateStringFromDateX(f),
                    to = ErecruitHelper.GetDateStringFromDateX(t),
                    TestDate = ErecruitHelper.GetDateStringFromDateX(ErecruitHelper.getTracker(a.CandidateId.Value, a.BatchId.Value).CurrentStartTime.Value),
                    Score = a.TestScore == null ? "Not Attempted" : a.TestScore + "%",
                    Age = (DateTime.Now.Year - (ErecruitHelper.getCandidateDobx((long)a.CandidateId) != null ? ErecruitHelper.getCandidateDobx((long)a.CandidateId).Value.Year : 0)).ToString(),
                    DateOfBirth = ErecruitHelper.GetDateStringFromDateX(ErecruitHelper.getCandidate((long)a.CandidateId).DateOfBirth.Value),
                    Sex = ErecruitHelper.getCandidateSex((long)a.CandidateId).ToString(),
                    Passport = ErecruitHelper.getCandidateImgUrl((long)a.CandidateId).ToString(),
                    Alt = ErecruitHelper.getCandidateCode((long)a.CandidateId).ToString()

                }).ToList();
            }
            else
            {
                var f = DateTime.Now;
                var tr = _db.T_CTestTracker.Where(s => s.CurrentStartTime.Value.Date == f.Date).OrderByDescending(s=>s.CurrentStartTime).Select(s => s.BatchId).Distinct();
                var bs = _db.T_BatchSet.Where(s => tr.Contains(s.BatchId)).ToList();
                TR = bs.Select(a => new TestReportModel
                {
                    ID = (long)a.CandidateId,
                    Code = ErecruitHelper.getCandidateCode((long)a.CandidateId).ToString(),
                    FirstName = ErecruitHelper.getCandidateFirstName((long)a.CandidateId).ToString(),
                    LastName = ErecruitHelper.getCandidateLastName((long)a.CandidateId).ToString(),
                    Qualification = ErecruitHelper.getCandidate((long)a.CandidateId).Degree,
                    Grade = ErecruitHelper.getCandidate((long)a.CandidateId).ClassOfDegree,
                    Contact = ErecruitHelper.getCandidate((long)a.CandidateId).Email,
                    Refferal = ErecruitHelper.getCandidate((long)a.CandidateId).Referer,
                    Email = ErecruitHelper.getCandidate((long)a.CandidateId).Email,
                    from = ErecruitHelper.GetDateStringFromDateX(f),

                    TestDate = ErecruitHelper.GetDateStringFromDateX(ErecruitHelper.getTracker(a.CandidateId.Value, a.BatchId.Value).CurrentStartTime.Value),
                    Score = a.TestScore == null ? "Not Attempted" : a.TestScore + "%",
                    Age = (DateTime.Now.Year - (ErecruitHelper.getCandidateDobx((long)a.CandidateId) != null ? ErecruitHelper.getCandidateDobx((long)a.CandidateId).Value.Year : 0)).ToString(),
                    DateOfBirth = ErecruitHelper.GetDateStringFromDateX(ErecruitHelper.getCandidate((long)a.CandidateId).DateOfBirth.Value),
                    Sex = ErecruitHelper.getCandidateSex((long)a.CandidateId).ToString(),
                    Passport = ErecruitHelper.getCandidateImgUrl((long)a.CandidateId).ToString(),
                    Alt = ErecruitHelper.getCandidateCode((long)a.CandidateId).ToString()

                }).ToList();
            }

            return TR;
        }