public static int AddSchoolWithDefaultUser(School schoolToInsert) { //create DBContext object using (var smsDB = new SMSEntities()) { //Add Student object into Students DBset smsDB.Schools.Add(schoolToInsert); //School school = new GetSchool // Get Admin User //UserGroup userGroup = GetUserGroup(1); // ExternalUserInfo ExternalUserInfo externalUserToAdd = new ExternalUserInfo(); externalUserToAdd.SchoolID = schoolToInsert.SchoolID; externalUserToAdd.FirstName = "Admin"; externalUserToAdd.LastName = "Admin"; int result = DA_ExternalUser.AddExternalUserInfo(externalUserToAdd); ExternalUserLogin externalUserLogin = new ExternalUserLogin(); //externalUserLogin. // ExternalUserLogin // ExternalUserLogin_UserGroup_Mapping // // call SaveChanges method to save student into database return(smsDB.SaveChanges()); } }
public ActionResult Login(LoginCredentials login) { /** * UserGroupId UserGroupName * 1 Admin * 2 Parent * 3 Student * 4 Teacher * 5 View */ ExternalUserLogin extuser = DA_Login.GetExternalUser(login); if (extuser != null) { if (extuser.Password != login.Password) { return(View("Index")); } ExternalUserInfo exUserInfo = DA_ExternalUser.GetExternalUserInfo(extuser.ExternalUserInfoID); Session["CurrentUser"] = exUserInfo; int userGroupID = DA_ExternalUser.GetExternalUserGroup(extuser.ExternalUserLoginID).UserGroupId; Session["UserGroupID"] = userGroupID; if (userGroupID == 3) // student { StudentInfo sInfo = DA_Student.GetStudentInfoByLoginID(extuser.ExternalUserLoginID); return(View("~/Views/Student/Index.cshtml", sInfo)); } if (userGroupID == 4) // Teacher { return(View("~/Views/Teacher/Index.cshtml", exUserInfo)); } } else { InternalUser interanlUser = DA_Login.GetInternalUser(login); if (interanlUser != null) { if (interanlUser.Password != login.Password) { return(View("Index")); } Session["CurrentUser"] = interanlUser; Session["UserGroupID"] = interanlUser.UserGroupId; } else { return(View("Index")); } } return(View()); }
public async Task <IActionResult> PhoneLogin([FromForm] ExternalUserLogin obj) { var user = new ApplicationUser(); user.Email = obj.Email; user.UserName = obj.PhoneNumber; user.FullName = obj.FullName; user.PasswordHash = obj.PhoneNumber; user.Type = obj.TypeUser; return(await ExternalUser(user)); }
public static int AddExternalUserLogin(ExternalUserLogin userToInsert) { //create DBContext object using (var smsDB = new SMSEntities()) { //Add Student object into Students DBset smsDB.ExternalUserLogins.Add(userToInsert); // call SaveChanges method to save student into database return(smsDB.SaveChanges()); } }
public async Task <IActionResult> FacebookLogin([FromForm] ExternalUserLogin obj) { FacebookClient _facebook = new FacebookClient(); _facebook.AppId = _externalProvider.Value.Facebook.AppId; _facebook.AppSecret = _externalProvider.Value.Facebook.AppSecret; _facebook.AccessToken = obj.AccessToken; string result = _facebook.Get("/me?fields=id,name,picture.width(240).height(240),email").ToString(); var tmpUser = JsonConvert.DeserializeObject <ExternalUserModel>(result); if (tmpUser.id == 0) { var responseEr = new ResponseError(); responseEr.status = "Có lỗi xảy ra không liên kết được với Facebook!"; return(Ok(responseEr)); } var user = new ApplicationUser(); user.Email = (tmpUser.email == null ? obj.Email : tmpUser.email); user.UserName = "******" + tmpUser.id; user.FullName = tmpUser.name; user.PasswordHash = tmpUser.id.ToString(); user.Avatar = tmpUser.picture.data.url; var userEmail = await _userStoreExtend.FindByEmailAsync(tmpUser.email); if (userEmail != null) { var response = new Response(); var permissions = await _roleStoreExtend.ReadByUser(userEmail.Id); //Mapping var userInfo = _mapper.Map <UserInfo>(userEmail); userInfo.Permissions = permissions; string[] output = userInfo.FullName.Split(' '); foreach (string s in output) { userInfo.LetterAvatar += s[0]; } userInfo.Avatar = (userInfo.Avatar == null ? "" : _imagePath.Value.URL + userInfo.Avatar); userInfo.PhoneNumber = (userInfo.PhoneNumber == null ? "" : userInfo.PhoneNumber); userInfo.LetterAvatar = userInfo.LetterAvatar.ToUpper(); response.response = userInfo; return(Ok(response)); } return(await ExternalUser(user)); }
public async Task <IActionResult> ZaloRegister([FromForm] ExternalUserLogin obj) { Zalo3rdAppInfo appInfo = new Zalo3rdAppInfo(Int64.Parse(_externalProvider.Value.Zalo.AppId), _externalProvider.Value.Zalo.SecretCode, _externalProvider.Value.Zalo.CallbackUrl); Zalo3rdAppClient appClient = new Zalo3rdAppClient(appInfo); JObject profile = appClient.getProfile(obj.AccessToken, "name, id, picture"); var tmpData = profile.ToObject <ExternalUserModel>(); var user = new ApplicationUser(); user.Email = obj.Email; user.UserName = "******" + tmpData.id; user.FullName = tmpData.name; user.PasswordHash = tmpData.id.ToString(); user.Avatar = tmpData.picture.data.url; return(await ExternalUser(user)); }
public static bool CheckExternalUserGroupTypeIsAdmin(int?externalUserInfoId) { bool result = false; using (var smsDB = new SMSEntities()) { ExternalUserLogin externalUserLogin = smsDB.ExternalUserLogins.SingleOrDefault(m => m.ExternalUserInfoID == externalUserInfoId); ExternalUserLogin_UserGroup_Mapping userMapping = smsDB.ExternalUserLogin_UserGroup_Mapping.SingleOrDefault(m => m.ExternalUserLoginID == externalUserLogin.ExternalUserLoginID && m.UserGroupId == 1); if (userMapping != null) { result = true; } } return(result); }
public static int DeleteExternalUserLogin(int?externalUserLoginId) { using (var smsDB = new SMSEntities()) { ExternalUserLogin externalUserLogin = smsDB.ExternalUserLogins.Find(externalUserLoginId); if (externalUserLogin != null) { smsDB.ExternalUserLogins.Remove(externalUserLogin); return(smsDB.SaveChanges()); } else { return(0); // no record found } } }
public static UserGroup Login(LoginCredentials login) { using (var smsDB = new SMSEntities()) { ExternalUserLogin extuser = smsDB.ExternalUserLogins.FirstOrDefault(m => m.ExternalUserName == login.Username); if (extuser != null) { var tmp = smsDB.ExternalUserLogin_UserGroup_Mapping.FirstOrDefault(m => m.ExternalUserLoginID == extuser.ExternalUserLoginID); return(tmp.UserGroup); } InternalUser interanlUser = smsDB.InternalUsers.FirstOrDefault(m => m.UserName == login.Username); if (interanlUser != null) { return(interanlUser.UserGroup); } } return(null); }
public static int EditExternalUserLogin(ExternalUserLogin userToEdit) { //create DBContext object using (var smsDB = new SMSEntities()) { ExternalUserLogin externalUserLogin = smsDB.ExternalUserLogins.Find(userToEdit.ExternalUserLoginID); externalUserLogin.CreateDate = userToEdit.CreateDate; externalUserLogin.CurrentSuccesfulLogin = userToEdit.CurrentSuccesfulLogin; externalUserLogin.Disabled = userToEdit.Disabled; externalUserLogin.ExternalUserInfoID = userToEdit.ExternalUserInfoID; externalUserLogin.ExternalUserName = userToEdit.ExternalUserName; externalUserLogin.FailedLoginCount = userToEdit.FailedLoginCount; externalUserLogin.LastSuccesfulLogin = userToEdit.LastSuccesfulLogin; externalUserLogin.Password = userToEdit.Password; return(smsDB.SaveChanges()); } }
public async Task <IActionResult> GoogleLogin([FromForm] ExternalUserLogin obj) { // Confirm JWT is valid try { var validPayload = await GoogleJsonWebSignature.ValidateAsync(obj.AccessToken); var httpClient = new HttpClient(); var requestUri = new Uri("https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=" + obj.AccessToken); //httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", obj.AccessToken); HttpResponseMessage httpResponseMessage; try { httpResponseMessage = httpClient.GetAsync(requestUri).Result; var response = httpResponseMessage.Content.ReadAsStringAsync().Result; var googleApiTokenInfo = JsonConvert.DeserializeObject <GoogleApiTokenInfo>(response); if (googleApiTokenInfo.email == null) { var responseEr = new ResponseError(); responseEr.status = "Có lỗi xảy ra không liên kết được với Google!"; return(Ok(responseEr)); } //TODO var user = new ApplicationUser(); user.Email = googleApiTokenInfo.email; user.UserName = googleApiTokenInfo.email; user.FullName = googleApiTokenInfo.name; user.PasswordHash = googleApiTokenInfo.email; user.Avatar = googleApiTokenInfo.picture; return(await ExternalUser(user)); } catch (Exception ex) { return(BadRequest(ex)); } } catch (Exception ex) { return(BadRequest(ex)); } }
public static int AddSchool(School schoolToInsert) { //create DBContext object using (var smsDB = new SMSEntities()) { //Add Student object into Students DBset schoolToInsert.CreateDate = DateTime.Now; schoolToInsert.IsActive = true; smsDB.Schools.Add(schoolToInsert); // call SaveChanges method to save student into database smsDB.SaveChanges(); // Add Default Admin User into database when school is added. ExternalUserInfo externalUserInfo = new ExternalUserInfo(); externalUserInfo.SchoolID = schoolToInsert.SchoolID; externalUserInfo.EmailID = "Admin@" + externalUserInfo.SchoolID + ".com"; smsDB.ExternalUserInfoes.Add(externalUserInfo); smsDB.SaveChanges(); ExternalUserLogin externalUserLogin = new ExternalUserLogin(); externalUserLogin.ExternalUserInfoID = externalUserInfo.ExternalUserInfoID; externalUserLogin.ExternalUserName = "******" + schoolToInsert.SchoolID; externalUserLogin.Password = "******"; smsDB.ExternalUserLogins.Add(externalUserLogin); smsDB.SaveChanges(); ExternalUserLogin_UserGroup_Mapping userMapping = new ExternalUserLogin_UserGroup_Mapping(); userMapping.ExternalUserLoginID = externalUserLogin.ExternalUserLoginID; userMapping.UserGroupId = 1; smsDB.ExternalUserLogin_UserGroup_Mapping.Add(userMapping); return(smsDB.SaveChanges()); } }
public int DeleteExternalUserLogin(ExternalUserLogin obj) { _ctx.ExternalUserLogins.Remove(obj); return(_ctx.SaveChanges()); }
public int UpdateExternalUserLogin(ExternalUserLogin obj) { _ctx.ExternalUserLogins.Add(obj); return(_ctx.SaveChanges()); }