コード例 #1
0
        public unsafe void Update()
        {
            fixed(byte *ptr = _readBuffer)
            {
                uint    dataSize = 0u;
                SteamId userId   = 0UL;

                while (SteamNetworking.ReadP2PPacket(_readBuffer, ref dataSize, ref userId))
                {
                    var handle  = new AccountHandle(userId);
                    var handled = false;
                    foreach (var lobby in _connectedLobbies.Values)
                    {
                        if (lobby.Members.TryGetValue(handle, out LobbyMember member))
                        {
                            member.DispatchNetworkMessage(new ReadOnlySpan <byte>(_readBuffer, 0, (int)dataSize));
                            handled = true;
                        }
                    }
                    if (!handled)
                    {
                        Debug.LogWarning($"[Steam] Unexpected network message from user: {userId}");
                    }
                }
            }
        }
コード例 #2
0
        // GET: Admin/User

        public ActionResult Index(int page = 1, int pagesize = 5)
        {
            List <Account>        lsta  = new AccountHandle().GetListAccount();
            IEnumerable <Account> model = lsta.OrderByDescending(x => x.id).ToPagedList(page, pagesize);

            return(View(model));
        }
コード例 #3
0
        public ActionResult Login(LoginModel loginModel)
        {
            int kq = 0;
            lstAcc = new AccountHandle().GetListAccount();

            if (ModelState.IsValid)
            {
                kq = new AccountHandle().CheckLogin(loginModel.userName, loginModel.passWord, lstAcc);
                if (kq == 1)
                {
                    Account user = new AccountHandle().GetAccountByUsername(loginModel.userName, lstAcc);
                    var accSession = new AccLogin();
                    accSession.UserName = user.username;
                    accSession.AccID = Int32.Parse(user.id);
                    CommonConstants.typeAcc = int.Parse(user.type);
                    CommonConstants.nameBr = user.name;

                    Session.Add(CommonConstants.Admin_Session, accSession);

                    return RedirectToAction("AdminIndex", "Index");
                }
                else if (kq == 0)
                {
                    ModelState.AddModelError("", "Tài khoản không tồn tại");
                }
                else
                {
                    ModelState.AddModelError("", "Sai tài khoản hoặc mật khẩu");
                }
            }
            return View("LoginAcc");
        }
コード例 #4
0
 public unsafe void Update()
 {
     fixed(byte *ptr = _readBuffer)
     {
         while (SteamNetworking.ReadP2PPacket(_readBuffer, kMaxMessageSize,
                                              out uint dataSize, out CSteamID userId))
         {
             var handle  = new AccountHandle(userId.m_SteamID);
             var handled = false;
             foreach (var lobby in _connectedLobbies.Values)
             {
                 if (lobby.Members.TryGetValue(handle, out LobbyMember member))
                 {
                     var buffer = new FixedBuffer(ptr, dataSize);
                     member.DispatchNetworkMessage(buffer);
                     handled = true;
                 }
             }
             if (!handled)
             {
                 Debug.LogWarning($"[Steam] Unexpected network message from user: {userId}");
             }
         }
     }
 }
コード例 #5
0
        void OnLobbyDataUpdate(LobbyDataUpdate_t evt)
        {
            var id = new CSteamID(evt.m_ulSteamIDLobby);

            if (_connectedLobbies.TryGetValue(id, out SteamLobby lobby))
            {
                if (evt.m_ulSteamIDLobby == evt.m_ulSteamIDMember)
                {
                    // Lobby metadata updated
                    lobby.DispatchUpdate();
                }
                else
                {
                    LobbyMember member;
                    var         handle = new AccountHandle(evt.m_ulSteamIDMember);
                    if (lobby.Members.TryGetValue(handle, out member))
                    {
                        member.DispatchUpdate();
                    }
                    else
                    {
                        Debug.LogWarning($"[Steam] Unexpected Lobby update event for lobby: {id}");
                    }
                }
            }
            else
            {
                Debug.LogWarning($"[Steam] Unexpected lobby update event for lobby: {id}");
            }
        }
コード例 #6
0
        public ActionResult Edit(int id)
        {
            List <Account> lsta = new AccountHandle().GetListAccount();
            var            user = new AccountHandle().GetAccount(id.ToString(), lsta);

            SetGender(user.gender);
            return(View(user));
        }
コード例 #7
0
        LobbyMember GetLobbyMember(long lobbyId, long userId)
        {
            var handle = new AccountHandle((ulong)userId);

            if (_connectedLobbies.TryGetValue(lobbyId, out DiscordLobby lobby) &&
                lobby.Members.TryGetValue(handle, out LobbyMember member))
            {
                return(member);
            }
            return(default(LobbyMember));
        }
コード例 #8
0
        public ActionResult Delete(int id)
        {
            List <Account> lsta   = new AccountHandle().GetListAccount();
            var            user   = new AccountHandle().GetAccount(id.ToString(), lsta);
            bool           result = new AccountHandle().DeleteAccount(user.username.ToString());

            if (result)
            {
                SetAlert("Xóa người dùng thành công", "success");
                return(Redirect("/User/Index"));
            }
            else
            {
                ModelState.AddModelError("", "Xóa tài khoản khoản thất bại");
            }
            return(Redirect("/User/Index"));
        }
コード例 #9
0
        void OnLobbyMemberDataChanged(Steamworks.Data.Lobby steamLobby, Friend friend)
        {
            SteamLobby  lobby;
            LobbyMember member;

            if (!_connectedLobbies.TryGetValue(steamLobby.Id, out lobby))
            {
                Debug.LogWarning($"[Steam] Unexpected lobby member update event for lobby: {steamLobby.Id}");
                return;
            }
            var handle = new AccountHandle(friend.Id);

            if (!lobby.Members.TryGetValue(handle, out member))
            {
                Debug.LogWarning($"[Steam] Unexpected lobby member update event for lobby: {steamLobby.Id}");
                return;
            }
            member.DispatchUpdate();
        }
コード例 #10
0
        // Callbacks

        void OnMemberConnect(long lobbyId, long userId)
        {
            if (_connectedLobbies.TryGetValue(lobbyId, out DiscordLobby lobby))
            {
                var handle = new AccountHandle((ulong)userId);
                if (!lobby.Members.Contains(handle))
                {
                    lobby.Members.Add(handle);
                }
                else
                {
                    Debug.LogWarning($"[Discord] Members somehow has joined multiple times: {lobbyId}, member: {userId}");
                }
            }
            else
            {
                Debug.LogWarning($"[Discord] Unexpected member connect for lobby: {lobbyId}");
            }
        }
コード例 #11
0
        // Why Steam does lobby joins and leaves via a chat update is beyond me.
        void OnLobbyChatUpdate(LobbyChatUpdate_t evt)
        {
            var id = new CSteamID(evt.m_ulSteamIDLobby);

            if (_connectedLobbies.TryGetValue(id, out SteamLobby lobby))
            {
                uint          leaveMask   = ~(uint)EChatMemberStateChange.k_EChatMemberStateChangeEntered;
                uint          stateChange = evt.m_rgfChatMemberStateChange;
                AccountHandle user        = evt.m_ulSteamIDUserChanged;
                var           present     = lobby.Members.Contains(user);
                if ((stateChange & leaveMask) != 0)
                {
                    // Member disconnected
                    if (!present)
                    {
                        lobby.Members.Remove(user);
                    }
                    else
                    {
                        Debug.LogWarning($"[Steam] Unexpected member disconnect for lobby: {id}, member: {user}");
                    }
                }
                else if ((stateChange & ~leaveMask) != 0)
                {
                    // Member joined
                    if (present)
                    {
                        lobby.Members.Add(user);
                    }
                    else
                    {
                        Debug.LogWarning($"[Steam] Members somehow has joined multiple times: {id}, member: {user}");
                    }
                }
            }
            else
            {
                Debug.LogWarning($"[Steam] Unexpected lobby chat update for lobby: {id}");
            }
        }
コード例 #12
0
 public ActionResult Edit(Account acc)
 {
     if (ModelState.IsValid)
     {
         var            dao  = new AccountHandle();
         List <Account> lsta = new AccountHandle().GetListAccount();
         //int id = Int32.Parse(lsta[lsta.Count - 1].id) + 1;
         acc.img = "null";
         SetGender(acc.gender);
         var result = dao.UpdateAccount(acc, acc.username);
         if (result)
         {
             SetAlert("Chỉnh sửa người dùng thành công", "success");
             return(RedirectToAction("Index", "User"));
         }
         else
         {
             ModelState.AddModelError("", "Chỉnh sửa người dùng thất bại");
         }
     }
     return(View("Index"));
 }
コード例 #13
0
        public ActionResult Edit(Order order)
        {
            List <Account> lsta   = new List <Account>(); // = new AccountHandle().GetListAccount();
            List <int>     listId = new List <int>();     //= new BranchHandle().GetListIDOrderInBranch(CommonConstants.nameBr.Split('-').ElementAt(1),lsta);
            List <KeyFire> lstKey = new List <KeyFire>();

            lsta = new AccountHandle().GetListAccount();

            lstO   = new OrderFigureHandle().GetListOrder();
            lstKey = new OrderFigureHandle().GetListKeyFire();


            int vitri = new OrderFigureHandle().GetIndex(lstO, order.Code);

            if (vitri != -1)
            {
                Order  o   = lstO[vitri];
                string key = lstKey[vitri].Key;
                if (o != null)
                {
                    var  user   = new AccountHandle().GetAccount(o.IdCustomer.ToString(), lsta);
                    bool result = new OrderFigureHandle().SetTypeOrder(user, o, Int32.Parse(order.Status), key);
                    if (result)
                    {
                        SetAlert("Cập nhật trạng thái đơn hàng thành công", "success");
                        return(Redirect("/OrderFigure/Index"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Cập nhật trạng thái đơn hàn thất bại");
                    }
                    return(Redirect("/OrderFigure/Index"));
                }
            }
            return(Redirect("/OrderFigure/Index"));
        }
コード例 #14
0
        public ActionResult Tao(Account acc)
        {
            if (ModelState.IsValid)
            {
                var            dao  = new AccountHandle();
                List <Account> lsta = new AccountHandle().GetListAccount();
                int            id   = Int32.Parse(lsta[lsta.Count - 1].id) + 1;
                acc.img = "null";
                acc.id  = id.ToString();

                SetGender(acc.gender);
                bool kq = dao.AddAccount(acc, acc.username);
                if (kq)
                {
                    SetAlert("Thêm người dùng thành công", "success");
                    return(RedirectToAction("Index", "User"));
                }
                else
                {
                    ModelState.AddModelError("", "Thêm người dùng thất bại");
                }
            }
            return(View(acc));
        }