Пример #1
0
        public void sendPrivateMessageForAdmin(string UserId, string message, string ClientID)
        {
            // string fromUserId1 = Context.ConnectionId;
            //Console.WriteLine(fromUserId1);
            string fromUserId = UserId;
            var    toUserr    = ClientID;
            var    toUser     = ConnectedUsers.FirstOrDefault(x => x.RecieverId.ToString() == toUserr);
            var    fromUser   = ConnectedUsers.FirstOrDefault(x => x.SenderId.ToString() == UserId);

            if (toUser == null && fromUser == null)
            {
                ChatFacade  chatfac = new ChatFacade();
                ChatMessage cm      = new ChatMessage();


                // send to
                // Clients.Client(fromUserId).sendPrivateMessage(toUserr, fromuserName, message);

                // send to caller user
                // Clients.Caller.sendPrivateMessage(fromUserId, fromuserName, message);

                cm.SenderId   = new Guid(fromUserId);
                cm.RecieverId = new Guid(toUserr);
                cm.Message    = message;
                cm.SendDate   = DateTime.Now;
                cm.ReadDate   = DateTime.Now;

                chatfac.InsertChatMessage(cm);

                //Clients.All.giveMessageAlert("Message Sent Successfully");
            }
        }
Пример #2
0
        public Respbase DismissGroup(DismissGroupReq req)
        {
            ChatFacade facade = new ChatFacade();
            bool       result = facade.DismissGroup(req);

            return(facade.PromptInfo);
        }
Пример #3
0
        public Respbase GagUserRemoveGroup(GagUserRemoveGroupReq req)
        {
            ChatFacade facade = new ChatFacade();
            bool       result = facade.GagUserRemoveGroup(req);

            return(facade.PromptInfo);
        }
Пример #4
0
        public Respbase ConcernCancel(ConcernCancelReq req)
        {
            ChatFacade facade = new ChatFacade();
            bool       result = facade.ConcernCancel(req);

            return(facade.PromptInfo);
        }
Пример #5
0
        public Respbase RemoveGroupUser(RemoveGroupUserReq req)
        {
            ChatFacade facade = new ChatFacade();
            bool       result = facade.RemoveGroupUser(req);

            return(facade.PromptInfo);
        }
Пример #6
0
        //ChatHubController obj = new ChatHubController();
        #endregion

        #region Methods

        public void  Connect(string userName, string email, string phoneNo)
        {
            //var id = Context.ConnectionId;
            Guid userid     = new Guid(Context.ConnectionId);
            Guid employeeid = Guid.NewGuid();
            // ChatUser chatusr = obj.GetId(userName);
            ChatFacade chatfacade = new ChatFacade();
            ChatUser   chatusr1   = new ChatUser();

            chatusr1 = chatfacade.getbyEmail(email);

            if (chatusr1 == null)
            {
                ChatUser chatusr = new ChatUser();

                chatusr.ChatUserId = userid;
                //HttpContext.Current.Session["UserId"]= userid;
                chatusr.Name       = userName;
                chatusr.Email      = email;
                chatusr.EmployeeId = employeeid;
                // HttpContext.Current.Session["EmployeeId"] = employeeid;
                chatusr.Ip        = GetIPAddress();
                chatusr.JoinDate  = DateTime.Today;
                chatusr.Phone     = phoneNo;
                chatusr.UserAgent = "Habib";

                chatfacade.InsertChatUser(chatusr);
                // obj.InsertUser(chatusr);

                //    // send to caller
                Clients.Caller.onConnected(chatusr.ChatUserId, chatusr.Name, ConnectedUsers, CurrentMessage);
                //    // send to all except caller client
                Clients.AllExcept(chatusr.ChatUserId.ToString()).onNewUserConnected(chatusr.ChatUserId, chatusr.Name);
            }
        }
Пример #7
0
        public Respbase JoinGroupConfirm(JoinGroupConfirmReq req)
        {
            ChatFacade facade = new ChatFacade();
            bool       result = facade.JoinGroupConfirm(req);

            return(facade.PromptInfo);
        }
Пример #8
0
        public Respbase DeleteFriend(DeleteFriendReq req)
        {
            ChatFacade facade = new ChatFacade();
            bool       result = facade.DeleteFriend(req);

            return(facade.PromptInfo);
        }
Пример #9
0
        public void SendPrivateMessage(string UserId, string message, string rcvrId)
        {
            // string fromUserId1 = Context.ConnectionId;
            //Console.WriteLine(fromUserId1);
            string fromUserId = UserId;

            var toUserr  = rcvrId;
            var toUser   = ConnectedUsers.FirstOrDefault(x => x.RecieverId.ToString() == toUserr);
            var fromUser = ConnectedUsers.FirstOrDefault(x => x.SenderId.ToString() == UserId);

            if (toUser == null && fromUser == null)
            {
                ChatFacade  chatfac = new ChatFacade();
                ChatMessage cm      = new ChatMessage();

                var fromuserName = chatfac.getbyUserID(new Guid(fromUserId)).Name;
                // send to
                //Clients.Client(fromUserId).sendPrivateMessage(toUserr, fromuserName, message);

                // send to caller user
                //Clients.Caller.sendPrivateMessage(fromUserId, fromuserName, message);

                cm.SenderId   = new Guid(fromUserId);
                cm.RecieverId = new Guid(toUserr);
                cm.Message    = message;
                cm.SendDate   = DateTime.Now;
                cm.ReadDate   = null;

                chatfac.InsertChatMessage(cm);
            }
        }
Пример #10
0
        public Respbase UpdateMyFriendRemarks(UpdateMyFriendRemarksReq req)
        {
            ChatFacade facade = new ChatFacade();
            bool       result = facade.UpdateMyFriendRemarks(req);

            return(facade.PromptInfo);
        }
Пример #11
0
        public void Initialize(ServiceContext context)
        {
            this.context = context;

            chatFacade = new ChatFacade(context);
            webHandler = new WebHandler(chatFacade);

            providerContext = new ProviderContext(context, chatFacade);

            context.RestfulServer.UseRoute((RouteBuilder routeBuilder) =>
            {
                routeBuilder
                .MapGet("client/{client}/user_id", webHandler.GetUserId)
                .MapGet("client/{client}/username", webHandler.GetUsername)
                .MapPost("chat/{client}/{channel}/send", webHandler.PostSendMessage)
                .MapPost("private_chat/{client}/{user}/send", webHandler.PostSendPrivateMessage)
                .MapPost("chat/{client}/{channel}/timeout", webHandler.TimeoutUser)
                .MapPost("chat/{client}/{channel}/ban", webHandler.BanUser)
                .MapGet("chat/{client}/{channel}/room_list", webHandler.GetRoomList)
                ;
            });

            providers = new List <IProvider>();
            createProviders();
        }
Пример #12
0
 private async Task Communicator_OnClientDisconnected(Guid connectionUid)
 {
     await ChatFacade.ProcessMessageAsync(new DisconnectCommand()
     {
         ConnectionUid = connectionUid
     });
 }
Пример #13
0
        public Respbase UpdateMyNick(UpdateMyNickReq req)
        {
            ChatFacade facade = new ChatFacade();
            bool       result = facade.UpdateMyNick(req);

            return(facade.PromptInfo);
        }
Пример #14
0
        public Respbase JoinGroupInvitation(JoinGroupInvitationReq req)
        {
            ChatFacade facade = new ChatFacade();
            bool       result = facade.JoinGroupInvitation(req);

            return(facade.PromptInfo);
        }
Пример #15
0
        public Respbase DestroyChatRoom(DestroyChatRoomReq req)
        {
            ChatFacade facade = new ChatFacade();
            bool       result = facade.DestroyChatRoom(req);

            return(facade.PromptInfo);
        }
Пример #16
0
        public Respbase QuitChatRoom(QuitChatRoomReq req)
        {
            ChatFacade facade = new ChatFacade();
            bool       result = facade.QuitChatRoom(req);

            return(facade.PromptInfo);
        }
Пример #17
0
        public Respbase UpdateChatRoomPwd(UpdateChatRoomPwdReq req)
        {
            ChatFacade facade = new ChatFacade();
            bool       result = facade.UpdateChatRoomPwd(req);

            return(facade.PromptInfo);
        }
Пример #18
0
        private async Task Communicator_OnClientSendCommand(Guid connectionUid, string textualCommand)
        {
            ClientState clientState = await DiscoverClientStateAsync(connectionUid);

            Command command = TextualCommandMapper.ToCommand(connectionUid, clientState, textualCommand);

            await ChatFacade.ProcessMessageAsync(command);
        }
Пример #19
0
        public void SendInvalidMessageToChat_GetException()
        {
            //Arrange
            var chatFacade = new ChatFacade(_groupRepository, _userRepository);

            //Act
            chatFacade.SendMessage(_creatorId, _testGroupId, " ");
        }
Пример #20
0
        public Respbase <List <ChatUserDto> > MyFriend(Reqbase req)
        {
            ChatFacade         facade = new ChatFacade();
            List <ChatUserDto> dtos   = facade.MyFriend(req);

            return(new Respbase <List <ChatUserDto> > {
                Data = dtos
            });
        }
Пример #21
0
        private async Task Communicator_OnClientConnected(System.Guid connectionUid)
        {
            await MessageBroker.SubscribeAsync(connectionUid, MessageBroker_OnCommand);

            await ChatFacade.ProcessMessageAsync(new ConnectCommand()
            {
                ConnectionUid = connectionUid
            });
        }
Пример #22
0
        public Respbase <List <ChatGroupDto> > MyGroup(Reqbase req)
        {
            ChatFacade          facade = new ChatFacade();
            List <ChatGroupDto> dtos   = facade.MyGroup(req);

            return(new Respbase <List <ChatGroupDto> > {
                Data = dtos
            });
        }
Пример #23
0
        public Respbase <ChatUserDto> Login(LoginReq req)
        {
            ChatFacade  facade = new ChatFacade();
            ChatUserDto user   = facade.PXinLogin(req.Nodeid, req.Gtclientid, req.Devicetoken);

            return(new Respbase <ChatUserDto> {
                Data = user
            });
        }
Пример #24
0
        /// <summary>
        /// 根据userid获取用户信息
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        public Respbase <List <ChatUserDto> > QueryUserInfo(QueryUserInfoReq req)
        {
            ChatFacade         facade = new ChatFacade();
            List <ChatUserDto> dtos   = facade.QueryUserInfo(req);

            return(new Respbase <List <ChatUserDto> > {
                Result = facade.PromptInfo.Result, Message = facade.PromptInfo.Message, Data = dtos
            });
        }
Пример #25
0
        public Respbase <TchatRoom> UpdateChatRoom(UpdateChatRoomReq req)
        {
            ChatFacade facade = new ChatFacade();
            TchatRoom  result = facade.UpdateChatRoom(req);

            return(new Respbase <TchatRoom> {
                Result = facade.PromptInfo.Result, Message = facade.PromptInfo.Message, Data = result
            });
        }
Пример #26
0
        public Respbase GetChatHis(Reqbase req)
        {
            ChatFacade facade = new ChatFacade();
            var        result = facade.GetChatHis();

            return(new Respbase {
                Message = result
            });
        }
Пример #27
0
        public Respbase <int> QueryChatRoomUserCount(QueryChatRoomUserCountReq req)
        {
            ChatFacade facade = new ChatFacade();
            int        result = facade.QueryChatRoomUserCount(req);

            return(new Respbase <int> {
                Result = facade.PromptInfo.Result, Message = facade.PromptInfo.Message, Data = result
            });
        }
Пример #28
0
        public void Initialize()
        {
            ClientRepositoryMock      = new Mock <IClientRepository>();
            CommandHandlerFactoryMock = new Mock <ICommandHandlerFactory>();
            ChatServiceMock           = new Mock <IChatService>();

            ChatFacade = new ChatFacade(ClientRepositoryMock.Object,
                                        CommandHandlerFactoryMock.Object,
                                        ChatServiceMock.Object);
        }
Пример #29
0
        public ChatViewModel(ChatService wsService, ChatFacade facade)
        {
            ChatFacade  = facade;
            CurrentUser = new UserDto();
            ChatRooms   = new List <ChatRoomDto>();
            Messages    = new List <ChatMessageDto>();
            CurrentRoom = new ChatRoomDto();

            Service = wsService;
        }
Пример #30
0
        public Respbase RefreshUserInfo(Reqbase req)
        {
            Log log = new Log(typeof(ChatController));

            log.Info("刷新用户信息,nodeid=" + req.Nodeid);
            ChatFacade facade = new ChatFacade();
            bool       result = facade.RefreshUserInfo(req);

            return(facade.PromptInfo);
        }