public ActionResult Index() { var existingUser = ChatCookieHelperStub.GetDbUserFromCookie(this.Request); ChatViewModel chatViewModel = null; if (existingUser != null) { if (!ChatHub.IsUserRegisteredInDbUsersStub(existingUser)) { // cookie is invalid ChatCookieHelperStub.RemoveCookie(this.Response); return this.RedirectToAction("Index"); } // in this case the authentication cookie is valid and we must render the chat chatViewModel = new ChatViewModel() { IsUserAuthenticated = true, UserId = existingUser.Id, UserName = existingUser.FullName, UserProfilePictureUrl = GravatarHelper.GetGravatarUrl(GravatarHelper.GetGravatarHash(existingUser.Email), GravatarHelper.Size.s32) }; } return this.View(chatViewModel); }
public ViewResult Index() { var userChats = _messageService.GetConversations(_authProvider.CurrentUserId); var userChatsViewModel = new List<ChatViewModel>(); //реалізувати через автомаппер foreach(var element in userChats) { var userChat = new ChatViewModel(); userChat.LastMessage = element.MsgText.Length < Config.MessageLength ? element.MsgText : element.MsgText.Substring(0, Config.MessageLength -3) + " ..."; userChat.ChatWithUserId = element.FromUserId == _authProvider.CurrentUserId ? element.ToUserId : element.FromUserId; userChat.LastMessageAuthorName = _userService.GetById(element.FromUserId).FirstName; if(element.User1.Id == _authProvider.CurrentUserId) { userChat.FirstName = element.User.FirstName; userChat.LastName = element.User.LastName; userChat.ImageData = element.User.ImageData; } else { userChat.FirstName = element.User1.FirstName; userChat.LastName = element.User1.LastName; userChat.ImageData = element.User1.ImageData; } userChat.DateSent = element.DateSent; userChatsViewModel.Add(userChat); } return View(userChatsViewModel); }
public void WhenSendingMessage_ThenInitiatesInteraction() { var serviceMock = new Mock <IChatService>(); var viewModel = new ChatViewModel(serviceMock.Object); bool interactionRaised = false; viewModel.SendMessageRequest.Raised += (s, e) => interactionRaised = true; viewModel.SendMessage(); Assert.IsTrue(interactionRaised); }
/// <summary> /// Method to as the answer not necessary qualification /// </summary> public void NextQuery() { //Craft a chat model object var chat = new ChatViewModel { Name = "Pólux", Message = "en que puedo ser util", ProfilePictureLocation = "bot-avatar.png" }; //Send welcome message to user Clients.Group(Context.ConnectionId).addChatMessage(chat); }
private void OnPromptClosed(object sender, WindowClosedEventArgs e) { if (e.PromptResult != null && e.PromptResult != string.Empty) { this.ViewModel = new ChatViewModel(e.PromptResult); this.DataContext = this.ViewModel; this.myChat.CurrentAuthor = this.ViewModel.CurrentAuthor; } else { throw new Exception("Username cannot be empty"); } }
public ActionResult Index() { // var currentUser = this.Data.Users.Find(this.User.Identity.GetUserId()).UserName; ChatViewModel vm = this.service.GetChatPage(); if (vm == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } Response.StatusCode = 200; return(View(vm)); }
/// <summary> /// Creates a new chat window for the main chat /// </summary> private void initializeServerChatWindow() { ChatViewModel mainWin = new ChatViewModel(MAINCHAT, this); mainWin.winClosed += onMainChatClosed; mainWin.sendGameChat = sendGameChat; mainWin.addBuddyList += addToBuddyList; mainWin.gameNumber = MAINCHAT; mainWin.wind.sendPM += sendPM; ChatWindows.Add(mainWin); }
private ActionResult ChatV1(string room) { var userId = User.Identity.GetUserId(); var me = new GetPlayerFormFromMembership { MembershipId = userId }.Find(); if (DomainRegistry.Repository.FindSingle(new IsAccountLockedOut { userId = userId })) { return(RedirectToAction(MVC.PvP.Play())); } if (!me.CanAccessChat()) { return(View(MVC.PvP.Views.MakeNewCharacter)); } if (string.IsNullOrWhiteSpace(room) || room.StartsWith("_")) { TempData["Result"] = "A chat room must have a name and not begin with an underscore"; return(RedirectToAction(MVC.PvP.Play())); } if (me.Player.IsBannedFromGlobalChat && room == "global") { TempData["Error"] = "A moderator has temporarily banned you from global chat."; TempData["SubError"] = "To restore your chat privileges please make an appeal on Discord."; return(RedirectToAction(MVC.PvP.Play())); } var roomName = room; if (!UserCanSeeRoom(ref roomName)) { return(RedirectToAction(MVC.PvP.Play())); } var model = new ChatViewModel { Room = room, RoomName = roomName, ChatUser = me.Player.GetDescriptor().Item1, ChatColor = me.Player.ChatColor, }; ViewBag.Result = TempData["Result"]; return(View(MVC.Chat.Views.ChatIndex, model)); }
public ActionResult ChatLogDelete(ChatViewModel chat) { try { _chatLogic.DeleteMessagesFromDatabase(new ChatLog(chat.ChatLogId)); _chatLogic.DeleteChatLogFromDatabase(new ChatLog(chat.ChatLogId)); return(RedirectToAction("ChatLogOverview")); } catch { return(View("../Shared/Error")); } }
public ChatViewModel ToViewModel(Chat chat) { ChatViewModel viewModel = new ChatViewModel(); viewModel.Name = chat.Name; viewModel.Id = chat.Id; FileModel file = _files.Files.FirstOrDefault(f => f.Id == chat.PhotoID); viewModel.Image = new ImageData { ImageBinary = file.Data, ImageHeaders = "data:image/" + Path.GetExtension(file.Name).Replace(".", "") + ";base64," }; return(viewModel); }
public ActionResult LoadChatArea(Guid conversationId) { int unreadMessageNo = _conDb.Conversations.Find(conversationId).UnreadMessageNo; IEnumerable <MessageDetail> messages = _conDb.Messages.Where(x => x.ConversationId1 == conversationId || x.ConversationId2 == conversationId).OrderBy(x => x.Createtime); ChatViewModel model = new ChatViewModel { Messages = messages, UnreadMessagesNo = unreadMessageNo }; _conDb.Conversations.Find(conversationId).UnreadMessageNo = 0; _conDb.SaveChanges(); return(PartialView(model)); }
public IActionResult Index(ChatViewModel model) { if (ChatHub.UserNamesMap.ContainsValue(model.UserName)) { ModelState.AddModelError(string.Empty, "User name already in use."); } if (ModelState.IsValid) { return(View("ChatPage", model.UserName)); } return(View()); }
public void WhenCreated_ThenConnectsServiceAndIsAvailable() { var serviceMock = new Mock <IChatService>(MockBehavior.Strict); serviceMock.SetupSet(svc => svc.Connected = true); serviceMock.SetupGet(svc => svc.Connected).Returns(true); serviceMock.Setup(svc => svc.GetContacts(It.IsAny <Action <IOperationResult <IEnumerable <Contact> > > >())); var viewModel = new ChatViewModel(serviceMock.Object); Assert.AreEqual("Available", viewModel.ConnectionStatus); serviceMock.VerifyAll(); }
public void WhenThereIsNoContactSelected_ThenShowDetailsCommandCannotExecute() { var serviceMock = new Mock <IChatService>(MockBehavior.Strict); serviceMock .SetupSet(svc => svc.Connected = true); serviceMock .Setup(svc => svc.GetContacts(It.IsAny <Action <IOperationResult <IEnumerable <Contact> > > >())); var viewModel = new ChatViewModel(serviceMock.Object); Assert.IsFalse(viewModel.ShowDetailsCommand.CanExecute(null)); serviceMock.VerifyAll(); }
public ChatMessageWindow(string sender, string recipient) { InitializeComponent(); Title = $@"{recipient} | WAPChat Private Instant Message"; ViewModel = new ChatViewModel(recipient) { CurrentRecipient = new Author(recipient), CurrentAuthor = new Author(sender) }; this.ViewModel.CurrentRecipient = new Author(recipient); }
// GET: Chat public async Task <ActionResult> ChatBox() { ChatViewModel Model = new ChatViewModel(); ServiceDiscussion serviceDiscussion = new ServiceDiscussion(); Model.currentUser = (user)System.Web.HttpContext.Current.Session["IUser"]; if (Model.currentUser == null) { return(RedirectToAction("Login", "Home")); } Model.discussions = await serviceDiscussion.getDiscussionsByIdUserAsync(Model.currentUser.id); return(View(Model)); }
protected internal override void OnCreate(object parameter) { base.OnCreate(parameter); if (parameter is InstanceModel instance) { ViewModel = new ChatViewModel(instance) { RoomMessage = OnRoomMessage }; WithHostConverter.Host = ViewModel.Host; AdvancedCollectionView = new AdvancedCollectionView(ViewModel.Rooms, true); AdvancedCollectionView.SortDescriptions.Add(new SortDescription("UpdateAt", SortDirection.Descending)); } }
public ActionResult Messages(string id) { _message.To = id; var messageBL = new MessageBL(_uow.messageRepository); var messages = messageBL.GetMessages(CurrentUser().Id, id); var viewModel = new ChatViewModel { Messages = messages, CurrentUser = CurrentUser(), ToUser = ToUser(id) }; return(View(viewModel)); }
public ChatPage(Contact contact, User user) { this.InitializeComponent(); if (contact == null) { throw new ArgumentNullException(); } this.Title = contact.Name; var vm = new ChatViewModel(contact, user); vm.DisplayMessageTooLong += () => this.DisplayAlert("Error", "Sorry, 106 characters per message are allowed!", "OK"); this.BindingContext = vm; }
public async Task <IActionResult> Index(string username, string group) { var currentUser = await this.userManager.GetUserAsync(this.User); var model = new ChatViewModel { FromUser = await this.userManager.GetUserAsync(this.User), ToUser = this.unitOfWork.Users.All().FirstOrDefault(x => x.UserName == username), ChatMessages = await this.chatService.ExtractAllMessages(group), GroupName = group, }; return(this.View(model)); }
public ChatPage(GroupChat chat) { InitializeComponent(); vm = new ChatViewModel(chat); Content.BindingContext = vm; MessageArea.BindingContext = vm; TextArea.BindingContext = vm; vm.Messages.CollectionChanged += (sender, e) => { var target = vm.Messages[vm.Messages.Count - 1]; MessagesListView.ScrollTo(target, ScrollToPosition.End, true); }; }
public ChatViewModel[] SelectChatsByUserID(string userID) { var chatUsers = _application.ChatUsers.Where(u => u.UserID == userID).ToArray(); var list = new ChatViewModel[chatUsers.Length]; int i = 0; foreach (var c in chatUsers) { int chatId = c.ChatID; Chat chat = _application.Chats.FirstOrDefault(chat => chat.Id == chatId); list[i++] = _chatConverter.ToViewModel(chat); } return(list); }
public ActionResult FormModifica(int id) { ChatViewModel viewModel = new ChatViewModel(); using (DatabaseContext db = new DatabaseContext()) { CHAT model = db.CHAT.SingleOrDefault(m => m.ID == id); if (model != null) { viewModel.SetModel(model); } } return(PartialView("PartialPages/_FormMessaggio", viewModel)); }
public IActionResult Index() { var currentUseer = CurrentUser(); // _message.From = currentUseer.Id; var chatViewModel = new ChatViewModel(); var list = _uow.userRepository.List().ToList(); var listuser = new List <SecureChat.PL.Models.User>(); foreach (var user in list) { var userpl = new SecureChat.PL.Models.User { Id = user.Id, UserName = user.Email, FirstName = user.FirstName, LastName = user.LastName, BirthDate = user.BirthDate, Sex = user.Sex, City = user.City, Address = user.Address, PasswordHash = user.PasswordHash, Email = user.Email, IsDeleted = user.IsDeleted }; listuser.Add(userpl); } var users = listuser.Where(u => u.Id != currentUseer.Id && u.IsDeleted == false).ToList(); var messageBL = new MessageBL(_uow.messageRepository); _message.To = _message.To ?? string.Empty; if (_message.To != string.Empty) { _user = ToUser(_message.To); } ; // var messages = messageBL.GetMessages(_message.From, _message.To); var chatModel = new ChatViewModel { Users = users, //Messages = messages, CurrentUser = currentUseer, // ToUser = _user }; return(View(chatModel)); }
public MessageEditor() { InitializeComponent(); this.Document = this.richBox.Document = new FlowDocument(); try { emojePanel = new IM.Emoje.EmojeBox(); emojePanel.Selected += EmojePanel_Close; this.bdEmoje.Child = emojePanel; } catch { } this.GotFocus += MessageEditor_GotFocus; this.richBox.PreviewDragOver += RichBox_DragOver; this.richBox.PreviewDrop += RichBox_Drop; this.Loaded += delegate { this.richBox.Focus(); ChatViewModel chatViewModel = this.GotDataContext?.Invoke(); chatViewModel.OnFastReply -= ChatViewModel_OnFastReply; chatViewModel.OnFastReply += ChatViewModel_OnFastReply; App.Current.Dispatcher.Invoke(() => { if (!_isEvaluate) { this.btnEvaluate.IsEnabled = !chatViewModel.IsSessionEnd; } else { this.btnEvaluate.IsEnabled = false; } this.btnStopSession.IsEnabled = !chatViewModel.IsSessionEnd; this.btnChangeSession.IsEnabled = !chatViewModel.IsSessionEnd; }); }; //DataObject.AddPastingHandler(this.richBox, (s, e) => { e.CancelCommand(); e.Handled = true; }); this.richBox.AllowDrop = true; this.richBox.IsUndoEnabled = false; this.richBox.PreviewKeyDown += RichBox_PreviewKeyDown; this.richBox.TextChanged += richBox_TextChanged; this.richBox.PreviewMouseRightButtonDown += RichBox_PreviewMouseRightButtonDown; this.richBox.PreviewMouseLeftButtonDown += RichBox_PreviewMouseLeftButtonDown; }
/// <summary> /// 在线发送 /// </summary> private void OnlineSend() { if (ChatViewModel != null) { _targetModel.CanOperate = false; AcioningItems.Remove(this); if (_operateTask != null) { _operateTask.Cancel(); _operateTask = null; } if (FileExists()) { AcioningItems.Add(this); _operateTask = new System.Threading.CancellationTokenSource(); if (ChatViewModel.IsGroup) { this.tbConnecting.Visibility = Visibility.Visible; //群聊只能离线发送 ChatViewModel.SendOfflineFile(_targetModel, _operateTask, (result) => { AcioningItems.Remove(this); if (_operateTask != null) { _operateTask.Cancel(); _operateTask = null; } }); } else { ChatViewModel.SendOnlineFile(ChatViewModel, _targetModel, _operateTask, (result) => { AcioningItems.Remove(this); if (_operateTask != null) { _operateTask.Cancel(); _operateTask = null; } }); } } else { ChatViewModel.Chat.Messages.Remove(_targetModel); } } }
public void Execute(object parameter) { App.CurrentUser = App.UserModel.Users.SingleOrDefault(x => x.Email == LoginViewModel.Email); if (App.CurrentUser.Id == 1) { App.NetworkHelper.User_Id = 0; } else { App.NetworkHelper.User_Id = 1; } if (App.CurrentUser != null) { Task.Run(() => { App.NetworkHelper.ConnectToServer(); }); LoginViewModel.MyGrid.Children.Clear(); FirstChatViewModel firstChatViewModel = new FirstChatViewModel(); firstChatViewModel.IsClickedToChat = true; FirstChatUserControl firstChatUserControl = new FirstChatUserControl(firstChatViewModel); LoginViewModel.MyGrid.Children.Add(firstChatUserControl); var allchats = App.CurrentUser.AllConversations; ChatViewModel chatViewModel = new ChatViewModel(); chatViewModel.AllChats = new ObservableCollection <Chat>(); chatViewModel.FirstChatViewModel = firstChatViewModel; var count = App.UserModel.Users.Count; App.CurrentUser.AllConversations = new List <Conversation>(); for (int i = 0; i < count; i++) { Conversation conversation = new Conversation(); conversation.User = App.UserModel.Users[i]; conversation.AllMessages = new ObservableCollection <Message>(); App.CurrentUser.AllConversations.Add(conversation); Chat chat = new Chat() { Id = i + 1, ImageSource = @"/Images\personWhiteSmoke.png", User = App.CurrentUser.AllConversations[i].User, Message = new Message() //App.CurrentUser.AllConversations[i].AllMessages[App.CurrentUser.AllConversations[i].AllMessages.Count - 1] }; chatViewModel.AllChats.Add(chat); } ChatUserControl chatUserControl = new ChatUserControl(chatViewModel); firstChatViewModel.MyChatGrid.Children.Clear(); firstChatViewModel.MyChatGrid.Children.Add(chatUserControl); } }
public ActionResult Index() { var chat = new ChatViewModel { //Generate new connection ID ConnectionId = Guid.NewGuid().ToString(), //Set group value to current user's username Group = User.Identity.Name, //Message = User.Identity // Additional user details here IdUserAspNetUser = User.Identity.GetUserId() }; return(View(chat)); }
public async Task <IActionResult> Create(ChatViewModel model) { if (this.ModelState.IsValid) { model.UserName = User.Identity.Name; var sender = await this.userManager.GetUserAsync(this.User); model.UserId = sender.Id; await this.messagesService.CreateMessageAsync(model.UserName, model.UserId, model.Text); return(this.Redirect("/Chats/Chat")); } return(this.View(model)); }
public ChatPage(String _kullaniciAdi) { InitializeComponent(); chat = new ChatViewModel(_kullaniciAdi); DataContext = chat; #region deneme //127.0.0.1 localHost un IP adresidir. Buraya ilerde bir server kurarsanız IP'sini yazmalısınız. //BeginConnect sunucuya ilk bağlandığımız anda çalıştırılır. #endregion }
public ChatPage() { InitializeComponent(); Title = "William Duncan"; BindingContext = vm = new ChatViewModel(); ((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.FromHex("#E67349"); ((NavigationPage)Application.Current.MainPage).BarTextColor = Color.White; vm.Messages.CollectionChanged += (sender, e) => { var target = vm.Messages[vm.Messages.Count - 1]; MessagesListView.ScrollTo(target, ScrollToPosition.End, true); }; }
protected override void OnStartup(StartupEventArgs e) { HubConnection connection = new HubConnectionBuilder() .WithUrl("http://localhost:5000/colorchat") .Build(); ChatViewModel chatViewModel = ChatViewModel.CreatedConnectedViewModel(new SignalRChatService(connection)); MainWindow window = new MainWindow { DataContext = new MainViewModel(chatViewModel) }; window.Show(); }
private async void OnSelectChat() { IsBusy = true; var roomData = await _appManager.ChatManager.RequestUserChat (UserId); IsBusy = false; //Go to the root and open the chat window await this.PopToRootAsync (); var model = new ChatViewModel (_appManager, roomData); await model.ShowAsync (); }
private async void OnSelectRoom(object roomArg) { var room = roomArg as Room; if (room == null) { throw new Exception ("Selected item was not a room"); } var roomData = await _appManager.ChatManager.JoinPublicRoom (room); var model = new ChatViewModel (_appManager, roomData); await model.ShowAsync (); }
private async void OnSelectActiveChat(object roomArg) { var activeChat = roomArg as ActiveChatViewModel; if (activeChat == null) { throw new Exception ("Selected item was not an active chat"); } var model = new ChatViewModel (_appManager, activeChat.RoomData); await model.ShowAsync (); }