public async Task CreateChatAsync(AddChatRequest request)
        {
            var user = await _auth.FindByIdUserAsync(request.userId);

            if (user == null)
            {
                throw new UserNotExistException("user not exist", 400);
            }

            if ((await this._unit.ChatRepository.ChatExistAsync(user.Id, request.SecondUserId)))
            {
                var grettingMessage = new Message()
                {
                    Content     = _config.GetValue <string>("greetmessage"),
                    TimeCreated = DateTime.Now,
                    UserId      = user.Id,
                };

                var chat = new Chat()
                {
                    FirstUserId  = user.Id,
                    SecondUserId = request.SecondUserId,
                    LastMessage  = grettingMessage
                };

                await this._unit.ChatRepository.CreateAsync(chat);

                await this._unit.Commit();
            }
            else
            {
                throw new ChatAlreadyExistException("chat already exist", 400);
            }
        }
Exemple #2
0
 private void ShowNotify(AddChatRequest request)
 {
     //上次登录历史窗体
     //frmNotify frm = new frmNotify(request);
     //   frm.Show(this);
     //获取屏幕宽高与调节最大大小
     // this.MaximumSize = new Size(543, Screen.GetWorkingArea(this).Height);
 }
Exemple #3
0
        public async Task <IActionResult> Create([FromBody] AddChatRequest request)
        {
            request.userId = (int)HttpContext.Items["id"];

            await _chatService.CreateChatAsync(request);

            return(Ok());
        }
Exemple #4
0
 public ChatForm(AddChatRequest request)
 {
     InitializeComponent();
     //加载表情到文本框
     this.chatBoxSend.Initialize(GlobalResourceManager.EmotionDictionary);
     this.chatBox_history.Initialize(GlobalResourceManager.EmotionDictionary);
     _displayName = request.ChatDisplayName;
     _userName    = request.ChatUserName;
     CreateChatItems(request);
 }
Exemple #5
0
        /// <summary>
        /// 私聊
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void userList_privateChat_Click(object sender, EventArgs e)
        {
            string         userName    = this.onlineList.SelectedItems[0].SubItems[2].Text;
            string         displayName = this.onlineList.SelectedItems[0].Text;
            AddChatRequest request     = new AddChatRequest();

            request.DisplayName = displayName;
            request.ChatType    = ChatType.PrivateChat;
            request.UserName    = userName;
            request.UserType    = ClientRole.Student;
            GlobalVariable.AddNewChat(request);
            OpenOrCreateChatForm(request, false);
        }
Exemple #6
0
        /// <summary>
        /// 打开或创建聊天窗口
        /// </summary>
        /// <param name="request"></param>
        public void OpenOrCreateChatForm(AddChatRequest request, bool fromReceMsg)
        {
            //chatFormIsShow = CheckChatFormIsOpen();
            //if (chatForm == null)
            //{
            //    chatForm = new ChatForm();
            //    isOpen = false;
            //}

            chatForm.BringToFront();
            chatForm.CreateChatItems(request, fromReceMsg);
            chatForm.Show();
        }
Exemple #7
0
        public void Execute(AddChatRequest request)
        {
            using (var db = databaseFactory.CreateNew())
            {
                var result = db.PogoRaidUsers.SingleOrDefault(x => x.ChatId == request.ChatId);

                if (result == null)
                {
                    db.PogoRaidUsers.Add(new PogoRaidUser {
                        ChatId = request.ChatId, Ingress = false, RaidLevel = 1, Active = true, Name = request.Name.Length > 100 ? request.Name.Substring(0, 100) : request.Name
                    });
                    db.SaveChanges();
                }
            }
        }
Exemple #8
0
        /// <summary>
        /// 接收到私聊信息
        /// </summary>
        /// <param name="privateChatResponse"></param>
        private void AppendToPrivateForm(PrivateChatRequest privateChatResponse)
        {
            AddChatRequest request = privateChatResponse.ToAddChatRequest();

            GlobalVariable.AddNewChat(request);
            if (CheckChatFormIsOpen())
            {
                //   chatForm.DoReveieveMessage(request);
                OpenOrCreateChatForm(request, true);
            }
            else
            {
                OpenOrCreateChatForm(request, true);
                // ShowNotify(request);
            }
        }
Exemple #9
0
 /// <summary>
 /// 创建聊天对象
 /// </summary>
 /// <param name="request"></param>
 /// <param name="isCreate"></param>
 public void CreateChatItems(AddChatRequest request, bool isCreate = true)
 {
     if (CheckItemExist(request.ChatUserName))
     {
         return;
     }
     if (isCreate)
     {
         foreach (ChatStore chat in GlobalVariable.ChatList)
         {
             AddNewChatItem(chat.ChatType, chat.ChatUserName, chat.ChatDisplayName);
         }
     }
     else
     {
         AddNewChatItem(request.ChatType, request.ChatUserName, request.ChatDisplayName);
     }
 }
Exemple #10
0
        public static void AddNewChat(AddChatRequest request)
        {
            if (ChatList == null)
            {
                ChatList = new List <ChatStore>();
            }

            if (!ChatList.Any(d => d.ChatUserName == request.UserName))
            {
                ChatStore info = new ChatStore();
                info.ChatDisplayName = request.DisplayName;
                info.ChatStartTime   = DateTime.Now;
                info.ChatType        = request.ChatType;
                info.ChatUserName    = request.UserName;
                info.MessageList     = new List <ChatMessage>();
                ChatList.Add(info);
            }
        }
Exemple #11
0
 public frmNotify(AddChatRequest request)
 {
     InitializeComponent();
     _request = request;
 }
Exemple #12
0
 public ChatItem2(ChatListItem ParentItem, AddChatRequest ChatRequest)
 {
     CreateChatItem(ParentItem, ChatRequest.UserName,
                    ChatRequest.DisplayName, ChatRequest.ChatType, ChatRequest.UserType);
 }