Beispiel #1
0
        public IActionResult listUser(string Search, string userType)
        {
            List <userList> userList = new List <userList>();

            try
            {
                DataTable dt = Data.User.listUser(Search, userType);

                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        userList user            = new userList();
                        var      DecryptPassword = Common.DecryptData(dt.Rows[i]["password"] == DBNull.Value ? "" : dt.Rows[i]["password"].ToString());

                        user.userId      = (int)dt.Rows[i]["userId"];
                        user.firstName   = (dt.Rows[i]["firstName"] == DBNull.Value ? "" : dt.Rows[i]["firstName"].ToString());
                        user.lastName    = (dt.Rows[i]["lastName"] == DBNull.Value ? "" : dt.Rows[i]["lastName"].ToString());
                        user.gender      = (dt.Rows[i]["gender"] == DBNull.Value ? "" : dt.Rows[i]["gender"].ToString());
                        user.dob         = (dt.Rows[i]["dob"] == DBNull.Value ? "" : dt.Rows[i]["dob"].ToString());
                        user.email       = (dt.Rows[i]["email"] == DBNull.Value ? "" : dt.Rows[i]["email"].ToString());
                        user.password    = DecryptPassword;
                        user.phoneNumber = (dt.Rows[i]["phoneNumber"] == DBNull.Value ? "" : dt.Rows[i]["phoneNumber"].ToString());
                        // user.countryId = (dt.Rows[i]["countryId"] == DBNull.Value ? 0 : (int)dt.Rows[i]["countryId"]);
                        // user.stateId = (dt.Rows[i]["stateId"] == DBNull.Value ? 0 : (int)dt.Rows[i]["stateId"]);
                        user.city    = (dt.Rows[i]["city"] == DBNull.Value ? "" : dt.Rows[i]["city"].ToString());
                        user.address = (dt.Rows[i]["address"] == DBNull.Value ? "" : dt.Rows[i]["address"].ToString());
                        user.pinCode = (dt.Rows[i]["pinCode"] == DBNull.Value ? "" : dt.Rows[i]["pinCode"].ToString());
                        // user.profileImage = (dt.Rows[i]["profileImage"] == DBNull.Value ? "" : dt.Rows[i]["profileImage"].ToString());
                        user.isEmailNotification = (dt.Rows[i]["isEmailNotification"] == DBNull.Value ? false : (bool)dt.Rows[i]["isEmailNotification"]);
                        user.isEmailVerified     = (dt.Rows[i]["isEmailVerified"] == DBNull.Value ? false : (bool)dt.Rows[i]["isEmailVerified"]);
                        user.isSMSNotification   = (dt.Rows[i]["isSMSNotification"] == DBNull.Value ? false : (bool)dt.Rows[i]["isSMSNotification"]);
                        user.userCreatedDate     = (dt.Rows[i]["userCreatedDate"] == DBNull.Value ? "" : dt.Rows[i]["userCreatedDate"].ToString());
                        user.isPublicProfile     = (dt.Rows[i]["isPublicProfile"] == DBNull.Value ? false : (bool)dt.Rows[i]["isPublicProfile"]);
                        user.userUpdatedDate     = (dt.Rows[i]["userUpdatedDate"] == DBNull.Value ? "" : dt.Rows[i]["userUpdatedDate"].ToString());
                        user.passwordUpdatedDate = (dt.Rows[i]["passwordUpdatedDate"] == DBNull.Value ? "" : dt.Rows[i]["passwordUpdatedDate"].ToString());
                        user.userTypeId          = (dt.Rows[i]["userTypeId"] == DBNull.Value ? "" : dt.Rows[i]["userTypeId"].ToString());
                        user.userType            = (dt.Rows[i]["userType"] == DBNull.Value ? "" : dt.Rows[i]["userType"].ToString());
                        userList.Add(user);
                    }

                    return(StatusCode((int)HttpStatusCode.OK, userList));
                }
                else
                {
                    string[] data = new string[0];
                    return(StatusCode((int)HttpStatusCode.OK, data));
                }
            }
            catch (Exception e)
            {
                string SaveErrorLog = Data.Common.SaveErrorLog("listUser", e.Message);

                return(StatusCode((int)HttpStatusCode.InternalServerError, new { error = new { message = e.Message } }));
            }
        }
        internal void sendUserlistToClients(userList connectedUsers)
        {
            dataTypes objToSend = new dataTypes();

            objToSend.setType(typeof(userList).ToString());
            objToSend.setObject(connectedUsers);

            IFormatter formatter = new BinaryFormatter();
            Stream stream = new MemoryStream();

            formatter.Serialize(stream, objToSend);

            byte[] buffer = ((MemoryStream)stream).ToArray();

            for (int index = 0; index < netServ.clients.Count; index++)
                netServ.clients[index].getSocket().Send(buffer, buffer.Length, 0);

            stream.Close();
        }
        public void OnDataReceived(IAsyncResult asyn)
        {
            try
            {
                SocketPacket socketData = (SocketPacket)asyn.AsyncState;

                int bytesReceived = 0;
                bytesReceived = socketData.m_currentSocket.EndReceive(asyn);
                byte[] buffer = new byte[bytesReceived + 1];

                buffer = socketData.dataBuffer;

                IFormatter formatter = new BinaryFormatter();
                Stream stream = new MemoryStream();

                stream.Write(buffer, 0, buffer.Length);
                stream.Seek(0, 0);

                dataTypes objReceived = new dataTypes();

                objReceived = (dataTypes)formatter.Deserialize(stream);

                parseObject(objReceived, socketData.m_currentSocket);

                stream.Close();

                WaitForData(socketData.m_currentSocket);
            }
            catch (ObjectDisposedException)
            {
                System.Diagnostics.Debugger.Log(0, "1", "\nOnDataReceived: Socket has been closed\n");
            }
            catch (SocketException se)
            {
                if (se.ErrorCode.ToString().Equals("10054"))
                {

                    SocketPacket socketData = (SocketPacket)asyn.AsyncState;

                    serverMW.appendDebugOutput("Client disconnected : ");

                    for (int i = 0; i < m_clientCount; i++)
                    {
                        if (m_socWorker[i] == socketData.m_currentSocket)
                            for (int j = i; j < m_clientCount - 1; j++)
                            {
                                m_socWorker[j] = m_socWorker[j + 1];
                            }
                        m_clientCount--;
                    }

                    for (int i = 0; i < clients.Count; i++)
                        if (clients[i].getSocket() == socketData.m_currentSocket)
                        {
                            serverMW.appendDebugOutput(clients[i].getUserName());
                            clients.Remove(clients[i]);

                        }

                    socketData.m_currentSocket.Close();
                    socketData.m_currentSocket.Dispose();

                    userList connectedUsers = new userList();

                    for (int index = 0; index < clients.Count; index++)
                    {
                        connectedUsers.users.Add(clients[index].getUserName());
                    }

                    STCB.sendUserlistToClients(connectedUsers);
                }
            }
            catch (Exception ex)
            {
                serverMW.appendDebugOutput(ex.Message);
            }
        }
        private void parseObject(dataTypes objReceived, Socket m_socWorker)
        {
            if (objReceived.objectType.Equals(typeof(loginInfo).ToString()))
            {
                loginInfo clientInfo = (loginInfo)objReceived.myObject;
                bool result = DS.isClientAuthorized((loginInfo)objReceived.myObject);
                if (result) serverMW.appendDebugOutput("New client connecterd : " + clientInfo.username);

                for (int i = 0; i < clients.Count; i++)
                {
                    if (clients[i].getSocket() == m_socWorker)
                        clients[i].setName(clientInfo.username);
                }

                userList connectedUsers = new userList();
                for (int index = 0; index < clients.Count; index++)
                {
                    connectedUsers.users.Add(clients[index].getUserName());
                }

                STCB.sendUserlistToClients(connectedUsers);
            }
            else if (objReceived.objectType.Equals(typeof(messageToEveryone).ToString()))
            {
                messageToEveryone msg = (messageToEveryone)objReceived.myObject;
                STCB.sendMsgToAllClients(msg);
            }
            else if (objReceived.objectType.Equals(typeof(startPrivate).ToString()))
            {
                startPrivate startPRV = (startPrivate)objReceived.myObject;
                STCB.sendMsgToClient(startPRV.withWho, objReceived);
            }
            else if (objReceived.objectType.Equals(typeof(privateMessage).ToString()))
            {
                privateMessage prvMsg = (privateMessage)objReceived.myObject;
                STCB.sendMsgToClient(prvMsg.toWho, objReceived);
            }
            else if (objReceived.objectType.Equals(typeof(closePrivate).ToString()))
            {
                closePrivate closePrv = (closePrivate)objReceived.myObject;
                STCB.sendMsgToClient(closePrv.toWho, objReceived);
            }
            else throw new Exception("Unsupported object type");
        }