示例#1
0
        public DisplayAllVM SearchTestRegis(string txt, string centerid)
        {
            //using (var client = new WebClient())
            //{
            //    try
            //    {
            //        string URL = string.Format(this.svconfig.admindbip + "/api/OnSite/SearchTestRegis/{0}/{1}", txt, centerid);

            //        var dataByte = client.DownloadData(URL);
            //        var responseString = System.Text.Encoding.UTF8.GetString(dataByte);
            //        var data = Newtonsoft.Json.JsonConvert.DeserializeObject<DisplayAllVM>(responseString);

            //        return data;
            //    }
            //    catch (Exception e)
            //    {
            //        throw new Exception(e.Message);
            //    }
            //}

            using (var client = new WebClient())
            {
                try
                {
                    string URL = string.Format(this.svconfig.admindbip + "/api/OnSite/ListTestRegistration/{0}", centerid);

                    var dataByte       = client.DownloadData(URL);
                    var responseString = System.Text.Encoding.UTF8.GetString(dataByte);
                    var data           = Newtonsoft.Json.JsonConvert.DeserializeObject <DisplayAllVM>(responseString);


                    var result = new DisplayAllVM
                    {
                        TestRegistrations = data.TestRegistrations.Where(x => x.CenterId == centerid && (x.PID == txt || x.FirstName.Contains(txt) || x.LastName.Contains(txt))).ToList(),
                    };
                    return(result);
                }
                catch (Exception e)
                {
                    throw new Exception(e.Message);
                }
            }
        }
示例#2
0
        public DisplayAllVM SearchTestRegis(string txt, string centerid)
        {
            var data = repoOnSite.SearchTestRegis(txt, centerid);

            var result = new DisplayAllVM
            {
                TestRegistrations = data.Select(x => new TestRegistrationRespone
                {
                    _id           = x._id,
                    Title         = x.Title,
                    FirstName     = x.FirstName,
                    LastName      = x.LastName,
                    SubjectCode   = x.SubjectCode,
                    SubjectName   = x.SubjectName,
                    ExamLanguage  = x.ExamLanguage,
                    VoiceLanguage = x.VoiceLanguage,
                    RegDate       = x.RegDate,
                    RegDateString = x.RegDateString,
                    ExpriedDate   = x.ExpriedDate,
                    SiteId        = x.SiteId,
                    CenterId      = x.CenterId,
                    ForPractice   = x.ForPractice,
                    ForTestSystem = x.ForTestSystem,
                    Status        = x.Status,
                    PID           = x.PID,
                    ExamNumber    = x.ExamNumber,
                    ExamPeriod    = x.ExamPeriod,
                    AppointDate   = x.AppointDate,
                    Address       = x.Address,
                    MaxCount      = x.MaxCount,
                    CertData      = new CertData
                    {
                        CertNo   = x.CertData.CertNo,
                        CertYear = x.CertData.CertYear,
                        UserCode = x.CertData.UserCode
                    }
                }).ToList(),
            };

            return(result);
        }
示例#3
0
        public DisplayAllVM ListTestRegistration(string centerid)
        {
            var fromtestRegis = repoOnSite.ListTestRegis(centerid);

            if (fromtestRegis.Count() > 0)
            {
                var mappedsheet = repoOnSite.GetMappedSheet(centerid);

                var fromtestRegisExistMappedsheet = fromtestRegis.Where(p2 => mappedsheet.All(p1 => p1.TestRegisID != p2._id));

                var _listTestRegisBySheet = repoOnSite.GetTestRegisByIds(mappedsheet.Select(x => x.TestRegisID).ToList());

                List <TestRegistrationRespone> formsheet = new List <TestRegistrationRespone>();

                foreach (var item in mappedsheet)
                {
                    var regis = _listTestRegisBySheet.Where(x => x._id == item.TestRegisID).FirstOrDefault();

                    if (regis != null)
                    {
                        var sheetRegis = new TestRegistrationRespone()
                        {
                            _id           = regis._id,
                            Title         = regis.Title,
                            FirstName     = regis.FirstName,
                            LastName      = regis.LastName,
                            SubjectCode   = regis.SubjectCode,
                            SubjectName   = regis.SubjectName,
                            ExamLanguage  = regis.ExamLanguage,
                            VoiceLanguage = regis.VoiceLanguage,
                            RegDate       = regis.RegDate,
                            RegDateString = regis.RegDateString,
                            ExpriedDate   = regis.ExpriedDate,
                            SiteId        = regis.SiteId,
                            CenterId      = regis.CenterId,
                            ForPractice   = regis.ForPractice,
                            ForTestSystem = regis.ForTestSystem,
                            Status        = item.LatestStatus,
                            PID           = regis.PID,
                            ExamNumber    = regis.ExamNumber,
                            ExamPeriod    = regis.ExamPeriod,
                            AppointDate   = regis.AppointDate,
                            Address       = regis.Address,
                            MaxCount      = regis.MaxCount,
                            LatestCount   = item.TestCount,
                            CertData      = new CertData
                            {
                                CertNo   = regis.CertData.CertNo,
                                CertYear = regis.CertData.CertYear,
                                UserCode = regis.CertData.UserCode
                            },
                            IsSync        = item.IsSync,
                            SheetId       = item._id,
                            CorrectCount  = item.CorrectScore,
                            QuestionCount = item.RandomQuestions.Count(),
                        };

                        formsheet.Add(sheetRegis);
                    }
                }

                var result = new DisplayAllVM
                {
                    TestRegistrations = fromtestRegisExistMappedsheet.Select(x => new TestRegistrationRespone
                    {
                        _id           = x._id,
                        Title         = x.Title,
                        FirstName     = x.FirstName,
                        LastName      = x.LastName,
                        SubjectCode   = x.SubjectCode,
                        SubjectName   = x.SubjectName,
                        ExamLanguage  = x.ExamLanguage,
                        VoiceLanguage = x.VoiceLanguage,
                        RegDate       = x.RegDate,
                        RegDateString = x.RegDateString,
                        ExpriedDate   = x.ExpriedDate,
                        SiteId        = x.SiteId,
                        CenterId      = x.CenterId,
                        ForPractice   = x.ForPractice,
                        ForTestSystem = x.ForTestSystem,
                        Status        = x.Status,
                        PID           = x.PID,
                        ExamNumber    = x.ExamNumber,
                        ExamPeriod    = x.ExamPeriod,
                        AppointDate   = x.AppointDate,
                        Address       = x.Address,
                        MaxCount      = x.MaxCount,
                        CertData      = new CertData
                        {
                            CertNo   = x.CertData.CertNo,
                            CertYear = x.CertData.CertYear,
                            UserCode = x.CertData.UserCode
                        },
                        LatestCount   = x.LatestCount <= 1 ? 1 : x.LatestCount,
                        IsSync        = x.IsSync,
                        SheetId       = string.Empty,
                        CorrectCount  = 0,
                        QuestionCount = 0,
                    }).ToList(),
                };
                result.TestRegistrations.AddRange(formsheet);

                return(result);
            }
            else
            {
                return(new DisplayAllVM {
                    TestRegistrations = new List <ViewModels.TestRegistrationRespone>()
                });
            }
        }