예제 #1
0
        private async Task GetCache()
        {
            var results = await ChatReader.GetChatHistory(CurrentUserId());

            if (results == null)
            {
                return;
            }

            _messageCache = new ConcurrentQueue <ChatMessageModel>(results);
        }
예제 #2
0
        public async Task <ActionResult> BanChatUser(string chathandle)
        {
            var selectedUserId = string.Empty;
            var users          = await ChatReader.GetChatUsers();

            var selectedUser = users.FirstOrDefault(x => x.ChatHandle == chathandle);

            if (selectedUser != null)
            {
                selectedUserId = selectedUser.UserId;
            }

            return(View("BanHammerModal", new ChatBanModel
            {
                UserId = selectedUserId,
                ChatUsers = users
            }));
        }
예제 #3
0
        private bool m_Commit(object oDeviceData, string strCustomState)
        {
            bool result = false;

            GLPBase report = oDeviceData as GLPBase;

            string outgoingMessage = string.Empty;

            //to nie odpowiedz wiec, sprawdzamy połaczenie
            if (report == null)
            {
                byte[] arrToSend = UTF8Encoding.UTF8.GetBytes(".ttc\r\n");

                try
                {
                    SendToDevice(arrToSend, "tcp", true);
                    UpdateProgress(2, 3, "Connection OK", "");
                }
                catch
                {
                    UpdateProgress(1, 3, "Waiting for connection...", "");
                }
            }
            else if (report.TerminalStatus != 3) //poleczenie ok brak garmina
            {
                UpdateProgress(2, 3, "Connection OK but terminal not connected", "");
            }
            else if (report.TerminalStatus == 3)    //polaczenie i garmin ok
            {
                outgoingMessage = ".tt " + ChatTextID + ",\"" + ChatText + "\"";

                if (CannedResponseList.Count > 0)
                {
                    int newFlag = 1;

                    ChatReader reader = new ChatReader();
                    foreach (ChatResponseBag response in reader.GetAllResponses())
                    {
                        uint iResponseID = (uint)response.ID;

                        if (CannedResponseList.Contains(iResponseID))
                        {
                            outgoingMessage += ",\"" + response.ResponseText + "\"";
                        }

                        newFlag = 0;
                    }


                    if (newFlag == 1)
                    {
                        uint[] CannedResponseID = new uint[CannedResponseList.Count];
                        for (int i = 0; i < CannedResponseList.Count; i++)
                        {
                            CannedResponseID[i] = CannedResponseList[i];
                        }

                        string ConnStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;

                        System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection();
                        conn.ConnectionString = ConnStr;
                        try
                        {
                            conn.Open();

                            for (int i = 0; i < CannedResponseList.Count; i++)
                            {
                                System.Data.Odbc.OdbcCommand cmd = new System.Data.Odbc.OdbcCommand(
                                    @"SELECT body FROM chat_profile_message WHERE chat_profile_message_id = " + CannedResponseID[i] + ";"
                                    , conn);

                                outgoingMessage += ",\"" + cmd.ExecuteScalar().ToString() + "\"";
                            }
                        }
                        catch (Exception ex)
                        {
                        }
                        finally
                        {
                            conn.Close();
                        }
                    }
                }

                outgoingMessage += "\r\n";

                byte[] arrToSend = UTF8Encoding.UTF8.GetBytes(outgoingMessage);

                try
                {
                    SendToDevice(arrToSend, "tcp", true);
                    UpdateProgress(3, 3, "Completed", "");
                    Thread.Sleep(2000);
                    result = true;
                }
                catch
                {
                    UpdateProgress(1, 3, "Waiting for connection...", "");
                }
            }


            return(result);
        }
예제 #4
0
 private async Task <ChatUserModel> GetChatUser(string userId)
 {
     return(await ChatReader.GetChatUser(userId));
 }