Exemple #1
0
        public string Action_Get_DialogContent(string symbolMessage, AppLoader existedLoader)
        {
            Dictionary <string, string> activeParams = new Dictionary <string, string>();

            activeParams.Add("symbol", symbolMessage);
            DataTable activeDataTable = existedLoader.ExecuteSelectWithConditionsReturnDT(Global.GlobalDefines.DB_KEY_IKCODER_BASIC, Global.MapStoreProcedures.ikcoder_basic.spa_operation_messages_students, activeParams);

            if (activeDataTable == null || activeDataTable.Rows.Count == 0)
            {
                StringBuilder strReturnDoc = new StringBuilder();
                strReturnDoc.Append("<root type='passive'>");
                strReturnDoc.Append("<action>" + Global.ActionsMap.Action_Get_RelationsList + "</action>");
                strReturnDoc.Append("</root>");
                return(strReturnDoc.ToString());
            }
            else
            {
                StringBuilder resultStr        = new StringBuilder();
                string        base64MsgContent = string.Empty;
                Data_dbDataHelper.GetArrByteColumnDataToString(activeDataTable.Rows[0], "content", out base64MsgContent);
                string MsgContent = Util_Common.Decoder_Base64(base64MsgContent);
                string dialogID   = string.Empty;
                Data_dbDataHelper.GetArrByteColumnDataToString(activeDataTable.Rows[0], "id", out dialogID);
                resultStr.Append("<did>");
                resultStr.Append(dialogID);
                resultStr.Append("</did>");
                resultStr.Append(MsgContent);
                return(resultStr.ToString());
            }
        }
Exemple #2
0
        public string Action_Set_SendMessage(string uid, string messageSymbol, string message, List <string> lstOwners, AppLoader existedLoader)
        {
            foreach (string owner in lstOwners)
            {
                if (_accountTokenMap.ContainsKey(owner))
                {
                    string    owner_token  = _accountTokenMap[owner];
                    WebSocket owner_socket = null;
                    if (_sockets.ContainsKey(owner_token))
                    {
                        owner_socket = _sockets[owner_token];
                        StringBuilder sent_message = new StringBuilder();
                        sent_message.Append("<root>");
                        sent_message.Append("<from>" + uid);
                        sent_message.Append("</from>");
                        sent_message.Append("<group>");
                        sent_message.Append("</group>");
                        sent_message.Append("<action>");
                        sent_message.Append(Global.ActionsMap.Passive_Get_ReceivedMessage);
                        sent_message.Append("</action>");
                        sent_message.Append("<msg>");
                        sent_message.Append(message);
                        sent_message.Append("</msg>");
                        sent_message.Append("</root>");
                        SendStringAsync(owner_socket, message);
                    }
                }
            }
            Dictionary <string, string> activeParams = new Dictionary <string, string>();

            activeParams.Add("symbol", messageSymbol);
            DataTable activeDataTable = existedLoader.ExecuteSelectWithConditionsReturnDT(Global.GlobalDefines.DB_KEY_IKCODER_BASIC, Global.MapStoreProcedures.ikcoder_basic.spa_operation_messages_students, activeParams);

            if (activeDataTable == null)
            {
                return("<root type='error'><errmsg>lostdata</errmsg></root>");
            }
            else
            {
                string base64MsgContent = string.Empty;
                string id = string.Empty;
                Data_dbDataHelper.GetArrByteColumnDataToString(activeDataTable.Rows[0], "content", out base64MsgContent);
                Data_dbDataHelper.GetColumnData(activeDataTable.Rows[0], "id", out id);
                string      MsgContent = Util_Common.Decoder_Base64(base64MsgContent);
                XmlDocument contentDoc = new XmlDocument();
                contentDoc.LoadXml(MsgContent);
                XmlNode newItem = Util_XmlOperHelper.CreateNode(contentDoc, "item", message);
                Util_XmlOperHelper.SetAttribute(newItem, "date", DateTime.Now.ToString("yyyy-MM-dd"));
                Util_XmlOperHelper.SetAttribute(newItem, "time", DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second);
                Util_XmlOperHelper.SetAttribute(newItem, "dt", DateTime.Now.ToString());
                contentDoc.SelectSingleNode("/msg").AppendChild(newItem);
                string MsgBase64Conetent = Util_Common.Encoder_Base64(contentDoc.OuterXml);
                activeParams.Clear();
                activeParams.Add("id", id);
                activeParams.Add("content", MsgBase64Conetent);
                existedLoader.ExecuteUpdate(Global.GlobalDefines.DB_KEY_IKCODER_BASIC, Global.MapStoreProcedures.ikcoder_basic.spa_operation_messages_students, activeParams);
                return("<root><msg>sent</msg></root>");
            }
        }
Exemple #3
0
        /*
         * public string Action_Set_RemoveFromChatGroup(string dialogSymbol, string owner, AppLoader existedLoader)
         * {
         *  Dictionary<string, string> activeParams = new Dictionary<string, string>();
         *  activeParams.Add("symbol", dialogSymbol);
         *  DataTable dtMessageIndex = existedLoader.ExecuteSelectWithConditionsReturnDT(Global.GlobalDefines.DB_KEY_IKCODER_BASIC, Global.MapStoreProcedures.ikcoder_basic.spa_operation_messagesindex_students, activeParams);
         *  Dictionary<string, string> existedIndexLst = new Dictionary<string, string>();
         *  foreach (DataRow dr in dtMessageIndex.Rows)
         *  {
         *      string existedUID = string.Empty;
         *      string existedID = string.Empty;
         *      Data_dbDataHelper.GetColumnData(dr, "uid", out existedUID);
         *
         *      if (!existedIndexLst.Contains(existedUID))
         *          existedIndexLst.Add(existedUID);
         *  }
         *  if(existedIndexLst.Contains(owner))
         *  {
         *
         *  }
         * }
         */


        public string Action_Set_NewDialog(string token, List <string> lstOwners, AppLoader existedLoader)
        {
            string symbol_dialog = Guid.NewGuid().ToString();
            Dictionary <string, string> activeParams = new Dictionary <string, string>();

            activeParams.Add("symbol", symbol_dialog);
            DataTable     dtMessageIndex  = existedLoader.ExecuteSelectWithConditionsReturnDT(Global.GlobalDefines.DB_KEY_IKCODER_BASIC, Global.MapStoreProcedures.ikcoder_basic.spa_operation_messagesindex_students, activeParams);
            List <string> existedIndexLst = new List <string>();

            foreach (DataRow dr in dtMessageIndex.Rows)
            {
                string existedUID = string.Empty;
                Data_dbDataHelper.GetColumnData(dr, "uid", out existedUID);
                if (!existedIndexLst.Contains(existedUID))
                {
                    existedIndexLst.Add(existedUID);
                }
            }
            foreach (string owner in lstOwners)
            {
                if (!existedIndexLst.Contains(owner))
                {
                    if (activeParams.ContainsKey("uid"))
                    {
                        activeParams.Remove("uid");
                    }
                    activeParams.Add("uid", owner);
                    existedLoader.ExecuteInsert(Global.GlobalDefines.DB_KEY_IKCODER_BASIC, Global.MapStoreProcedures.ikcoder_basic.spa_operation_messagesindex_students, activeParams);
                }
            }
            activeParams.Clear();
            activeParams.Add("symbol", symbol_dialog);
            string newMsgContent = "<msg></msg>";
            string base64Content = Util_Common.Encoder_Base64(newMsgContent);

            activeParams.Add("content", base64Content);
            existedLoader.ExecuteInsert(Global.GlobalDefines.DB_KEY_IKCODER_BASIC, Global.MapStoreProcedures.ikcoder_basic.spa_operation_messages_students, activeParams);
            StringBuilder strReturnDoc = new StringBuilder();

            strReturnDoc.Append("<root type='passive'>");
            strReturnDoc.Append("<action>" + Global.ActionsMap.Action_Get_DialogList + "</action>");
            strReturnDoc.Append("</root>");
            return(strReturnDoc.ToString());
        }
Exemple #4
0
        public string Action_Set_NewFriend(string token, string suname, string msg, AppLoader existedLoader)
        {
            Global.ItemAccountStudents  activeItem           = Global.LoginServices.Pull(token);
            Dictionary <string, string> paramsMap_for_profle = new Dictionary <string, string>();

            paramsMap_for_profle.Add("@puname", activeItem.name);
            DataTable dtData = existedLoader.ExecuteSelectWithConditionsReturnDT(Global.GlobalDefines.DB_KEY_IKCODER_BASIC, Global.MapStoreProcedures.ikcoder_basic.spa_operation_relations_students, paramsMap_for_profle);

            if (dtData != null && dtData.Rows.Count > 0)
            {
                DataRow[] rows = dtData.Select("suname='" + suname + "'");
                if (rows.Length > 0)
                {
                    return(MessageHelper.ExecuteSucessful());
                }
            }
            paramsMap_for_profle.Add("@isacc", "0");
            paramsMap_for_profle.Add("@suname", suname);
            paramsMap_for_profle.Add("@message", msg);
            if (existedLoader.ExecuteInsert(Global.GlobalDefines.DB_KEY_IKCODER_BASIC, Global.MapStoreProcedures.ikcoder_basic.spa_operation_relations_students, paramsMap_for_profle))
            {
                if (_accountTokenMap.ContainsKey(suname))
                {
                    string    owner_token  = _accountTokenMap[suname];
                    WebSocket owner_socket = null;
                    if (_sockets.ContainsKey(owner_token))
                    {
                        owner_socket = _sockets[owner_token];
                        StringBuilder message = new StringBuilder();
                        message.Append("<root type='passive'>");
                        message.Append("<action>" + Global.ActionsMap.Action_Get_RelationsAcceptableList + "</action>");
                        message.Append("</root>");
                        SendStringAsync(owner_socket, BuildReturnDoc(message.ToString(), Global.ActionsMap.Action_Get_RelationsAcceptableList, true));
                    }
                }
                return(MessageHelper.ExecuteSucessful());
            }
            else
            {
                return(MessageHelper.ExecuteFalse());
            }
        }
Exemple #5
0
        public string Action_Set_AcceptFriend(string id, AppLoader existedLoader)
        {
            Dictionary <string, string> paramsMap_for_profle = new Dictionary <string, string>();

            paramsMap_for_profle.Add("@id", id);
            DataTable dtData = existedLoader.ExecuteSelectWithConditionsReturnDT(Global.GlobalDefines.DB_KEY_IKCODER_BASIC, Global.MapStoreProcedures.ikcoder_basic.spa_operation_relations_students, paramsMap_for_profle);

            if (dtData != null && dtData.Rows.Count == 1)
            {
                paramsMap_for_profle.Add("@isacc", "1");
                if (existedLoader.ExecuteUpdate(Global.GlobalDefines.DB_KEY_IKCODER_BASIC, Global.MapStoreProcedures.ikcoder_basic.spa_operation_relations_students, paramsMap_for_profle))
                {
                    string puname = string.Empty;
                    Data_dbDataHelper.GetColumnData(dtData.Rows[0], "puname", out puname);
                    if (_accountTokenMap.ContainsKey(puname))
                    {
                        string    owner_token  = _accountTokenMap[puname];
                        WebSocket owner_socket = null;
                        if (_sockets.ContainsKey(owner_token))
                        {
                            owner_socket = _sockets[owner_token];
                            StringBuilder message = new StringBuilder();
                            message.Append("<root type='passive'>");
                            message.Append("<action>" + Global.ActionsMap.Action_Get_RelationsList + "</action>");
                            message.Append("</root>");
                            SendStringAsync(owner_socket, BuildReturnDoc(message.ToString(), Global.ActionsMap.Action_Get_RelationsList, false));
                        }
                    }
                    return(MessageHelper.ExecuteSucessful());
                }
                else
                {
                    return(MessageHelper.ExecuteFalse());
                }
            }
            else
            {
                return(MessageHelper.ExecuteFalse());
            }
        }