Exemplo n.º 1
0
        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}]");
        }
Exemplo n.º 2
0
// ---------------------------------------------------
        // 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}]");
        }
Exemplo n.º 3
0
        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());
     }
 }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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()));
        }
Exemplo n.º 9
0
        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));
            }
        }
Exemplo n.º 10
0
        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));
                }
            }
        }