private void OnDisconnected(int socketId, int connectionId) { if (NetUsers.ContainsKey(connectionId) == false) { Debug.LogError($"@OnDisconnected -> Try to remove userId[{connectionId}] but it doesn't exist"); return; } // Remove user and user's instance NetUsers.Remove(connectionId); NetPlayer pInstance = PlayerInstances[connectionId]; PlayerInstances.Remove(connectionId); Destroy(pInstance.gameObject); // Notify all users about thje disconnection ByteStream stream = new ByteStream(); stream.Encode ( (byte)NetMessageType.USER_DISCONNECT, connectionId ); BroadcastNetMessage(ReliableChannel, stream.ToArray(), connectionId); Debug.Log($"receiver.Disconnect -> Socket[{socketId}], userId[{connectionId}]"); }
// --------------------------------------------------- // Send disconnected message to all users private void OnDisconnectedEvent(int recConnectionId) { GameObject disconnectPlayer = NetUsers[recConnectionId].Player; if(disconnectPlayer != null) { Destroy(disconnectPlayer); } NetUsers.Remove(recConnectionId); // Remove disconnected user from server list var msg = new ByteStream(); msg.Encode((byte)NetMessageType.DISCONNECTION_ACK, recConnectionId); // Create a new disconnection message with user id foreach(var user in NetUsers) // Send to all clents { SendNetMessage(user.Key, ReliableChannel, msg.ToArray()); } Debug.Log($"@Receiver.Disconnect -> userId = [{recConnectionId}]"); }
public ActionResult DeleteRegisteredUsers(byte id) { try { if (ModelState.IsValid) { NetUsers netUsers = objEntities.NetUsers.Find(id); objEntities.NetUsers.Remove(netUsers); objEntities.SaveChanges(); } return(RedirectToAction("UserSearchView", "Admin/TeacherInfo")); } catch (Exception ex) { throw ex; } }
public ActionResult RegisteredUser(NetUsers objNetUsers) { try { { if (Session["FirstName"] != null) { return(View()); } else { return(RedirectToAction("LogIn")); } }; } catch { return(View()); } }
private void OnConnectedToServer(int connectionId) { if (NetUsers.ContainsKey(connectionId)) { Debug.Log($"@OnConnectedToServer -> userId [{connectionId}] has Re-Connected"); } else { NetUser newUser = new NetUser() { ConnectionID = connectionId }; NetUsers[connectionId] = newUser; Debug.Log($"@OnConnectedToServer -> UserId[{connectionId}]"); } // Send CONNECTION_ACK with the connectionId to the client ByteStream bytestream = new ByteStream(); bytestream.Append((byte)NetMessageType.CONNECTION_ACK); bytestream.Append(connectionId); SendNetMessage(connectionId, ReliableChannel, bytestream.ToArray()); // Spawn a player instance that represents the new user PlayerInstances[connectionId] = NetSpawner.SpawnPlayer(Vector3.zero, Quaternion.identity); }
private void OnConnectedEvent(int connectionId) { float posX = Random.Range(-30f,30f); float posZ = Random.Range(-30f,30f); Vector3 spawnPosition = new Vector3(posX, _PlayerPrefab.transform.position.y, posZ); if (NetUsers.ContainsKey(connectionId)) { Debug.Log($"@Receiver.Connect -> userId = [{connectionId}] Re-Conneted"); } else { var newUser = new NetUser() { ConnectionID = connectionId }; NetUsers[connectionId] = newUser; NetUsers[connectionId].Player = Instantiate(_PlayerPrefab, spawnPosition, Quaternion.identity); Debug.Log($"@Receiver.Connect -> userId = [{connectionId}]"); } var byteStream = new ByteStream(); byteStream.Append((byte)NetMessageType.CONNECTION_ACK); byteStream.Append(connectionId); byteStream.Append(spawnPosition); SendNetMessage(connectionId, ReliableChannel, byteStream.ToArray()); }
public ActionResult LogIn(LoginViewModel model, string returnUrl) { { //do lots of stuff //Create username remember cookie if (model.RememberMe) { HttpCookie ckEmail = new HttpCookie("Email"); ckEmail.Expires = DateTime.Now.AddSeconds(500); ckEmail.Value = model.Email; Response.Cookies.Add(ckEmail); } } NetUsers netuser = new NetUsers(); try { if (model.Email != null && model.Password != null && model.RememberMe != null) { using (SiplDatabaseEntities objSiplDatabaseEntities = new SiplDatabaseEntities()) { //To Encode Password enter by User to match it with Database var keyNew = "Test"; var password = Helper.EncodePassword(model.Password, keyNew); //To check Email & Password From DB var obj = objSiplDatabaseEntities.NetUsers.Where (u => u.Email == model.Email && u.Password == password) .FirstOrDefault(); if (obj != null) { FormsAuthentication.SetAuthCookie(model.Email, true); var isAdmin = (from role in objSiplDatabaseEntities.NetRoles join user in objSiplDatabaseEntities.UserRole on role.RoleId equals user.RoleId where user.UserId == obj.UserId select role.RoleName).FirstOrDefault(); if (isAdmin == "Admin") { Session["RoleId"] = 3; Session["RoleName"] = "Admin"; return(RedirectToAction("UserSearchView", "Admin/TeacherInfo")); } else if (isAdmin == "Teacher") { Session["RoleId"] = 1; Session["RoleName"] = "Teacher"; return(RedirectToAction("TeacherProfile", "Admin/TeacherInfo", new { id = obj.UserId })); } else if (isAdmin == "Student") { Session["RoleId"] = 2; Session["RoleName"] = "Student"; return(RedirectToAction("UserProfile", "Admin/TeacherInfo", new { id = obj.UserId })); } else { Session["Email"] = null; Session["Password"] = null; return(View(model)); } } else { ModelState.AddModelError("Email", "Email and Password not found or matched"); return(View(model)); } } } else { return(View(model)); } { } } catch (Exception ex) { Console.WriteLine("Exception source: {0} Login Failed", ex.Message); return(View()); } }
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Model.RemoveEntityType(typeof(IdentityRoleClaim <Guid>)); modelBuilder.Model.RemoveEntityType(typeof(IdentityRoleClaim <string>)); modelBuilder.Model.RemoveEntityType(typeof(IdentityUserRole <Guid>)); modelBuilder.Model.RemoveEntityType(typeof(SqlIdentityRole)); modelBuilder.Model.AddEntityType(typeof(SqlIdentityRole)); modelBuilder.Model.AddEntityType(typeof(IdentityRoleClaim <Guid>)); modelBuilder.Entity <AspNetUser>() .ToTable("aspnet_Users") .HasKey(x => x.UserId); modelBuilder.Entity <AspNetRoles>() .ToTable("aspnet_Roles") .HasKey(x => x.RoleId); modelBuilder.Entity <AspNetUsersInRoles>() .ToTable("aspnet_UsersInRoles") .HasKey(x => new { x.UserId, x.RoleId }); modelBuilder.Entity <AspNetMembership>() .ToTable("aspnet_Membership") .HasKey(x => new { x.UserId, x.ApplicationId }); modelBuilder.Entity <AspNetProfile>() .ToTable("aspnet_Profile") .HasKey(x => x.UserId); modelBuilder.Entity <SqlIdentityRole>() .HasNoKey() .ToQuery(() => DBRoles.Select(role => new SqlIdentityRole { ConcurrencyStamp = Guid.NewGuid().ToString(), Id = role.RoleId, Name = role.RoleName, NormalizedName = role.RoleName.ToUpper() })); modelBuilder.Entity <IdentityUserRole <Guid> >() .HasNoKey() .ToQuery(() => NetRoles.Select(userRole => new IdentityUserRole <Guid> { RoleId = userRole.RoleId, UserId = userRole.UserId })); modelBuilder.Entity <IdentityRoleClaim <Guid> >() .HasNoKey() .ToQuery(() => DBRoles.Select(roleClaim => new IdentityRoleClaim <Guid> { RoleId = roleClaim.RoleId, ClaimType = "Role", ClaimValue = roleClaim.RoleName }).DefaultIfEmpty()); modelBuilder.Entity <SqlIdentityUser>() .HasNoKey() .ToQuery(() => NetUsers.Join(AspNet_Memberships, user => user.UserId, membership => membership.UserId, (user, membership) => new { User = user, Membership = membership }) .Join(AspNet_Profiles, user => user.User.UserId, profile => profile.UserId, (user, profile) => new { ProfileUser = user, Profile = profile }) .Select(x => new SqlIdentityUser { Id = x.ProfileUser.Membership.UserId, UserName = x.ProfileUser.User.UserName, PasswordHash = (x.ProfileUser.Membership.Password + "|" + x.ProfileUser.Membership.PasswordFormat + "|" + x.ProfileUser.Membership.PasswordSalt), SecurityStamp = Guid.NewGuid().ToString(), Profile = x.Profile, EmailConfirmed = true, PhoneNumberConfirmed = true, TwoFactorEnabled = true, LockoutEnd = x.ProfileUser.Membership.LastLockoutDate, LockoutEnabled = true, AccessFailedCount = 0, ApplicationId = x.ProfileUser.User.ApplicationId, NormalizedUserName = x.ProfileUser.User.LoweredUserName, LastActivityDate = x.ProfileUser.User.LastActivityDate, Email = x.ProfileUser.Membership.Email, NormalizedEmail = x.ProfileUser.Membership.LoweredEmail, })); modelBuilder.Entity <AspNetUserRoles>() .HasNoKey() .ToQuery(() => NetRoles.Select(m => new AspNetUserRoles { })); modelBuilder.Entity <AspNetRoleClaims>() .HasNoKey() .ToQuery(() => NetRoles.Select(m => new AspNetRoleClaims())); }
public ActionResult UpdateRegisteredUsers(CrudViewModel objCrudViewModel) { ViewBag.Role = new SelectList(objEntities.NetRoles.ToList(), "RoleId", "RoleName"); try { if (ModelState.IsValid) { // to specify UserRole according to their UserId UserRole objUserRole = new UserRole { Id = objCrudViewModel.Id, RoleId = objCrudViewModel.RoleId, UserId = objCrudViewModel.UserId }; objEntities.Entry(objUserRole).State = EntityState.Modified; objEntities.UserRole.Add(objUserRole); objEntities.SaveChanges(); //Encrytion For Password //Encrytion For Password var keyNew = "Test"; var password = Helper.EncodePassword(objCrudViewModel.Password, keyNew); NetUsers objNetUsers = new NetUsers { UserId = objCrudViewModel.UserId, FirstName = objCrudViewModel.FirstName, LastName = objCrudViewModel.LastName, Gender = objCrudViewModel.Gender, CourseId = objCrudViewModel.CourseId, Email = objCrudViewModel.Email, Password = objCrudViewModel.Password, DOB = objCrudViewModel.DOB, IsActive = objCrudViewModel.IsActive, IsVerified = objCrudViewModel.IsVerified, DateCreated = DateTime.Now, DateModified = DateTime.Now, }; objEntities.Entry(objNetUsers).State = EntityState.Modified; objEntities.SaveChanges(); //to get userId var userId = objNetUsers.UserId; //to add data in Address Table Address objAddress = new Address { AddressId = objCrudViewModel.AddressId, CountryId = objCrudViewModel.CountryId, StateId = objCrudViewModel.StateId, CityId = objCrudViewModel.CityId, CurrentAddress = objCrudViewModel.CurrentAddress, PermanantAddress = objCrudViewModel.PermanantAddress, Pincode = objCrudViewModel.Pincode, UserId = userId }; objEntities.Entry(objAddress).State = EntityState.Modified; objEntities.SaveChanges(); if (Convert.ToInt32(Session["RoleId"]) == 2) { return(RedirectToAction("UserProfile", "Admin/TeacherInfo", new { id = userId })); //return RedirectToAction("StudentProfile", , Id = userId })); } else if (Convert.ToInt32(Session["RoleId"]) == 1) { return(RedirectToAction("TeacherProfile", "Admin/TeacherInfo", new { id = userId })); } else if (Convert.ToInt32(Session["RoleId"]) == 3) { return(RedirectToAction("UserSearchView", "Admin/TeacherInfo", new { id = userId })); } } return(View(objCrudViewModel)); } catch (Exception ex) { Console.WriteLine("Exception source: {0} user is failed to Update", ex.Message); return(View(ex)); } }
public ActionResult RegisterUser(NetUserViewModel objNetUserViewModel) { using (var dbTransaction = objEntities.Database.BeginTransaction()) { ViewBag.Role = new SelectList(objEntities.NetRoles.ToList(), "RoleId", "RoleName"); try { if (ModelState.IsValid) { //Encrytion For Password var keyNew = "Test"; var password = Helper.EncodePassword(objNetUserViewModel.Password, keyNew); NetUsers objNetUsers = new NetUsers { FirstName = objNetUserViewModel.FirstName, LastName = objNetUserViewModel.LastName, Gender = objNetUserViewModel.Gender, CourseId = objNetUserViewModel.CourseId, Email = objNetUserViewModel.Email, Password = password, DOB = objNetUserViewModel.DOB, IsActive = objNetUserViewModel.IsActive, DateCreated = DateTime.Now, DateModified = DateTime.Now, }; objEntities.NetUsers.Add(objNetUsers); objEntities.SaveChanges(); //to get userId var userId = objNetUsers.UserId; // to specify UserRole according to their UserI UserRole objUserRole = new UserRole { RoleId = objNetUserViewModel.RoleId, UserId = userId }; objEntities.UserRole.Add(objUserRole); objEntities.SaveChanges(); //to add data in Address Table Address objAddress = new Address { CountryId = objNetUserViewModel.CountryId, StateId = objNetUserViewModel.StateId, CityId = objNetUserViewModel.CityId, CurrentAddress = objNetUserViewModel.CurrentAddress, PermanantAddress = objNetUserViewModel.PermanantAddress, Pincode = objNetUserViewModel.Pincode, UserId = userId }; objEntities.Address.Add(objAddress); objEntities.SaveChanges(); dbTransaction.Commit(); ModelState.Clear(); return(RedirectToAction("RegisteredUser", "LogIn")); } return(View(objNetUserViewModel)); } catch (Exception ex) { dbTransaction.Rollback(); Console.WriteLine("Exception source: {0} user is failed to register", ex.Message); return(View(ex)); } } }