public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, set lockoutOnFailure: true var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure : false); if (result.Succeeded) { _logger.LogInformation(1, "User logged in."); //return RedirectToLocal(returnUrl); CenterDataRequest center = new CenterDataRequest { _id = model.CenterId, LatestUser = model.Email, LatestPass = model.Password, }; var data = _repoRegis.GetCenterData(center._id); center.SiteId = data.SiteId; if (data.CertDatas != null) { center.CertDatas = new List <CertData>(); foreach (var item in data.CertDatas) { center.CertDatas.Add(new CertData { UserCode = item.UserCode, CertNo = item.CertNo, CertYear = item.CertYear, }); } } center.NameEn = data.NameEN; center.NameTh = data.NameTH; center.UpdateDateTime = DateTime.Now; var site = _repoRegis.GetSiteData(data.SiteId); center.SiteName = site.Name; center.IsAutoSyncResult = site.IsAutoSyncResult; center.IsAutoSyncScore = site.IsAutoSyncScore; center.IsShowAnswer = site.IsDisplayAnswer; HomeController._centerdata = center; return(RedirectToAction(nameof(HomeController.Index), "Home")); } if (result.RequiresTwoFactor) { return(RedirectToAction(nameof(SendCode), new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); } if (result.IsLockedOut) { _logger.LogWarning(2, "User account locked out."); return(View("Lockout")); } else { ModelState.AddModelError(string.Empty, "Invalid login attempt."); return(View(model)); } } // If we got this far, something failed, redisplay form return(View(model)); }
public void GetTestRegisFrom3rd(string centerId) { //getcenterInfo var center = repoRegis.GetCenterData(centerId); var site = repoRegis.GetSiteData(center.SiteId); List <AdminOnlineModelsBack.TestTaker> From3rd = new List <AdminOnlineModelsBack.TestTaker>(); //ForTest //var site = new ViewModels.AdminOnlineModelsBack.Site //{ // MaxTestCount = 10 //}; //var center = new ViewModels.AdminOnlineModelsBack.Center //{ // CertDatas = new List<ViewModels.AdminOnlineModelsBack.CertData> { // new ViewModels.AdminOnlineModelsBack.CertData { CertNo = "4050007", CertYear = "2550"}, // } //}; //get from 3rd using (var client = new WebClient()) { try { foreach (var item in center.CertDatas) { string URL = string.Format("http://61.91.64.134/examservice/api/SyncData/{0}/{1}", item.CertNo, item.CertYear); //var responseString = client.DownloadString(URL); var dataByte = client.DownloadData(URL); var responseString = System.Text.Encoding.UTF8.GetString(dataByte); var data = Newtonsoft.Json.JsonConvert.DeserializeObject <IEnumerable <AdminOnlineModelsBack.TestTaker> >(responseString); if (data.Count() > 0) { From3rd.AddRange(data); } } } catch (Exception e) { throw new Exception(" การเชื่อมการ กรม ขัดข้อง " + e.ToString()); } } //get from testTaker if (From3rd.Count() > 0) { // เอา เปรียบเทียบ เอาคนที่ยังไม่เคย นำเช้า var oldRegis = repoRegis.ListTestRegisByPID(From3rd.Select(x => x.ID_NO).ToList()); List <AdminOnlineModelsBack.TestRegistration> _listNewTestRegis = new List <AdminOnlineModelsBack.TestRegistration>(); foreach (var item in From3rd) { string subjectName = string.Empty; if (item.PLT_CODE == "11") { subjectName = "รถยนต์ส่วนบุคคลชั่วคราว"; } else if (item.PLT_CODE == "13") { subjectName = "รถจักรยานยนต์ส่วนบุคคลชั่วคราว"; } var regDate = DateTime.Parse(item.REQ_DATE).ToUniversalTime(); //var ss = oldRegis.Where(x => x.PID == item.ID_NO && x.RegDate.Date == regDate.Date && x.CenterId == centerId).ToList(); //var ss2 = oldRegis.Where(x => x.PID == item.ID_NO && x.RegDate.Day == regDate.Day && x.RegDate.Month == regDate.Month && x.RegDate.Year == regDate.Year && x.CenterId == centerId).ToList(); //var ss3 = oldRegis.Where(x => x.PID == item.ID_NO && x.CenterId == centerId).ToList(); //var ss4 = oldRegis.Where(x => x.PID == item.ID_NO && x.RegDate >= regDate.Date && x.RegDate < regDate.Date.AddDays(1) && x.CenterId == centerId).ToList(); if (oldRegis.Where(x => x.PID == item.ID_NO && x.CenterId == centerId && x.RegDate == regDate).Count() < 1) { var newTestreggis = new AdminOnlineModelsBack.TestRegistration { _id = Guid.NewGuid().ToString(), Title = item.TITLE_CODE, FirstName = item.FNAME, LastName = item.LNAME, SubjectCode = item.PLT_CODE, SubjectName = subjectName, ExamLanguage = "th", VoiceLanguage = "th", RegDate = regDate, //TODO : Bug datetime mongo RegDateString = item.REQ_DATE, ExpiredDate = regDate.AddDays(90), SiteId = site._id, CenterId = center._id, ForPractice = false, ForTestSystem = false, Status = "APPROVED", ExamStatus = "UNSEND", PID = item.ID_NO, ExamNumber = item.ID_NO, ExamPeriod = "all", AppointDate = null, //กำหนดได้อีกทีตอนนัด MaxCount = site.MaxTestCount, CertData = center.CertDatas.Where(x => x.CertNo == item.CERT_NO && x.CertYear == item.CERT_YY).FirstOrDefault(), }; _listNewTestRegis.Add(newTestreggis); } } if (_listNewTestRegis.Count > 0) { // บันทึก ใส่ db TestRegistration repoRegis.CreateTestRegis(_listNewTestRegis.ToList()); } } else { } }