//public async Task<MessagingViewModel> SendMessage(string FromUserName, int LoggedInUserIdint,int UserToMessageId, string content) public async Task <MessagingViewModel> SendMessage(Message m) { MessagingViewModel viewModel = await _businessLogicClass.sendMessage(m.FromUserName, m.FromUserId, m.ToUserId, m.Content); //MessagingViewModel viewModel = await _businessLogicClass.GetMessagesViewModel(UserToMessageId); return(viewModel); }
// GET: Messaging/Create public ActionResult Create() { string UserId = System.Web.HttpContext.Current.User.Identity.GetUserId(); MessagingViewModel viewModel = new MessagingViewModel(); viewModel.recipients = new List <SelectListItem>(); var instructors = db.instructorModel.ToList(); var students = db.studentModels.ToList(); foreach (InstructorModel instructor in instructors) { if (instructor.instructor_account_Id != UserId) { viewModel.recipients.Add(new SelectListItem() { Text = "Instructor: " + instructor.lName + ", " + instructor.fName, Value = instructor.instructor_account_Id }); } } foreach (StudentModels student in students) { if (student.student_account_Id != UserId) { viewModel.recipients.Add(new SelectListItem() { Text = "Student: " + student.lName + ", " + student.fName, Value = student.student_account_Id }); } } return(View(viewModel)); }
public async Task <IActionResult> Index() { var currentUser = await userManager.GetUserAsync(User); userRepository.ChangeMsgsStatus(currentUser, false); // getting the most recent 5 messages var msgs = messageRepository.GetMessagesR(currentUser.Id); Dictionary <string, Image> profileImgs = new Dictionary <string, Image>(); foreach (var msg in msgs) { var img = imageRepository.GetImages(msg.SenderId).FirstOrDefault(m => m.IsProfileImg == true); if (!profileImgs.ContainsKey(msg.SenderId)) { profileImgs.Add(msg.SenderId, img); } } var allMsgs = msgs.OrderByDescending(m => m.MessageDate) .GroupBy(m => m.Sender.FullName).Take(5); var msgViewModel = new MessagingViewModel { RecievedMessages = allMsgs, ProfileImages = profileImgs }; return(View(msgViewModel)); }
public async Task <IActionResult> Message(string id) { var playgroundReciver = await _userManager.FindByIdAsync(id); if (playgroundReciver == null) { return(NotFound()); } var currentUser = await _userManager.GetUserAsync(User); var allMessages = _messageRepository.GetMessages(currentUser.Id, playgroundReciver.Id).OrderByDescending(m => m.MessageDate); Dictionary <string, Image> profileImgs = new Dictionary <string, Image>(); var img = _imageRepository.GetImages(playgroundReciver.Id).FirstOrDefault(m => m.IsProfileImg == true); if (!profileImgs.ContainsKey(playgroundReciver.Id)) { profileImgs.Add(playgroundReciver.Id, img); } MessagingViewModel messagingViewModel = new MessagingViewModel { CurrentPage = playgroundReciver.FullName, EntityId = id, Messages = allMessages, ProfileImages = profileImgs }; return(View(messagingViewModel)); }
public void loadViews() { MessagingViewModel viewModel = new MessagingViewModel(); this.DetachedMessagingView = new MessagingWindowOutside(viewModel); this.LargeMessagingView = new MessagingWindow(viewModel); }
public MessagingView() { InitializeComponent(); Visibility = Visibility.Visible; var messagingViewModel = new MessagingViewModel(); DataContext = messagingViewModel; }
public MessagingViewModel GetMessagingViewModel(int loggedInUserId, int usertomessageId, List <Message> Messages, string LoggedInUserName, string userToMessageUserName) { MessagingViewModel viewModel = new MessagingViewModel(); viewModel.CurrentUserId = loggedInUserId; viewModel.currentUserName = LoggedInUserName; viewModel.friendToMessageUserId = usertomessageId; viewModel.friendToMessageUserName = userToMessageUserName; viewModel.messages = Messages; return(viewModel); }
/// <summary> /// returns a messageviewModel for 2 users /// </summary> /// <param name="UserToMessageId"></param> /// <returns></returns> public async Task <MessagingViewModel> GetMessagesViewModel(int LoggedInUserIdint, int UserToMessageId) { User LoginUser = await GetUserByIdAsync(LoggedInUserIdint); User user = await GetUserByIdAsync(UserToMessageId); List <Message> Messages = await GetMessages2users(UserToMessageId, LoggedInUserIdint); MessagingViewModel viewModel = _mapperClass.GetMessagingViewModel(LoggedInUserIdint, user.Id, Messages, LoginUser.UserName, user.UserName); return(viewModel); }
// GET: Messaging/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } MessagingModel message = db.messagingModel.Find(id); if (message == null) { return(HttpNotFound()); } MessagingViewModel viewModel = new MessagingViewModel(); List <StudentModels> students = db.studentModels.ToList(); List <InstructorModel> instructors = db.instructorModel.ToList(); string UserId = System.Web.HttpContext.Current.User.Identity.GetUserId(); if (message.recieving_id == UserId) { message.read = true; } foreach (StudentModels student in students) { string name = student.fName + " " + student.lName; if (student.student_account_Id == message.recieving_id) { viewModel.recip = name; } if (student.student_account_Id == message.sending_id) { viewModel.sender = name; } } foreach (InstructorModel instructor in instructors) { string name = instructor.fName + " " + instructor.lName; if (instructor.instructor_account_Id == message.recieving_id) { viewModel.recip = name; } if (instructor.instructor_account_Id == message.sending_id) { viewModel.sender = name; } } message.receiving_User = db.Users.Find(message.recieving_id); message.sending_User = db.Users.Find(message.sending_id); viewModel.Message = message; db.SaveChanges(); return(View(viewModel)); }
public async Task <MessagingViewModel> sendMessage(string FromUserName, int LoggedInUserIdint, int UserToMessageId, string content) { await _repository.SaveMessage(FromUserName, UserToMessageId, LoggedInUserIdint, content); User LoginUser = await GetUserByIdAsync(LoggedInUserIdint); User user = await GetUserByIdAsync(UserToMessageId); List <Message> Messages = await GetMessages2users(UserToMessageId, LoggedInUserIdint); MessagingViewModel viewModel = _mapperClass.GetMessagingViewModel(LoggedInUserIdint, user.Id, Messages, LoginUser.UserName, user.UserName); return(viewModel); }
public ActionResult MessagesPerPerson_ajax(string neighborEmailId) { MessagingViewModel mvm = new MessagingViewModel(); var me = User.Identity.Name; mvm.me = db.Users.FirstOrDefault(u => u.Email == User.Identity.Name); mvm.neighbor = db.Users.FirstOrDefault(u => u.Email.ToUpper().Trim() == neighborEmailId.ToUpper().Trim()); mvm.messages = db.Messages .Where(m => (m.fromUser.ToUpper().Trim() == me.ToUpper().Trim() || m.toUser.ToUpper().Trim() == me.ToUpper().Trim()) && ((m.fromUser + m.toUser).Replace(me, "").ToUpper().Trim() == neighborEmailId.ToUpper())) .OrderByDescending(m => m.timeStamp) .Take(10).ToList(); return(Json(mvm, JsonRequestBehavior.AllowGet)); }
// GET: Messaging public ActionResult Inbox() { var messages = db.messagingModel.ToList(); messages = messages.OrderByDescending(x => x.dateSent).ToList(); string UserId = System.Web.HttpContext.Current.User.Identity.GetUserId(); List <StudentModels> students = db.studentModels.ToList(); List <InstructorModel> instructors = db.instructorModel.ToList(); List <MessagingViewModel> viewModel = new List <MessagingViewModel>(); foreach (MessagingModel message in messages) { MessagingViewModel this_message = new MessagingViewModel(); if (message.recieving_id == UserId) { foreach (StudentModels student in students) { if (student.student_account_Id == message.sending_id) { this_message.sender = student.lName + ", " + student.fName; } else if (student.student_account_Id == message.recieving_id) { this_message.recip = student.lName + ", " + student.fName; } } foreach (InstructorModel instructor in instructors) { if (instructor.instructor_account_Id == message.sending_id) { this_message.sender = instructor.lName + ", " + instructor.fName; } else if (instructor.instructor_account_Id == message.recieving_id) { this_message.recip = instructor.lName + ", " + instructor.fName; } } this_message.Message = message; viewModel.Add(this_message); } } return(View(viewModel)); }
public async void GetMessagesViewModelTest() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "InHarmonyTestLogicDB2") .Options; using (var context = new ApplicationDbContext(options)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); Repository _repository = new Repository(context, _logger); BusinessLogicClass businessLogicClass = new BusinessLogicClass(_repository, _mapperClass, _logger); var user = new User { Id = int.MaxValue, UserName = "******", Password = "******", FirstName = "Johnny", LastName = "Test", Email = "*****@*****.**" }; var user2 = new User { Id = int.MaxValue - 1, UserName = "******", Password = "******", FirstName = "Johnny", LastName = "Test", Email = "*****@*****.**" }; _repository.users.Add(user); _repository.users.Add(user2); context.SaveChanges(); MessagingViewModel mvm = await businessLogicClass.GetMessagesViewModel(user.Id, user2.Id); Assert.NotNull(mvm); } }
public ActionResult Create(MessagingViewModel viewModel) { MessagingModel message = new MessagingModel(); string UserId = System.Web.HttpContext.Current.User.Identity.GetUserId(); message.subject = viewModel.Message.subject; message.message = viewModel.Message.message; message.recieving_id = viewModel.Message.recieving_id; message.receiving_User = db.Users.Find(message.recieving_id); message.sending_id = UserId; message.sending_User = db.Users.Find(message.sending_id); message.dateSent = DateTime.Now; message.read = false; if (ModelState.IsValid) { db.messagingModel.Add(message); db.SaveChanges(); return(RedirectToAction("Inbox")); } viewModel.recipients = new List <SelectListItem>(); var instructors = db.instructorModel.ToList(); var students = db.studentModels.ToList(); foreach (InstructorModel instructor in instructors) { viewModel.recipients.Add(new SelectListItem() { Text = "Instructor: " + instructor.lName + ", " + instructor.fName, Value = instructor.instructor_account_Id }); } foreach (StudentModels student in students) { viewModel.recipients.Add(new SelectListItem() { Text = "Student: " + student.lName + ", " + student.fName, Value = student.student_account_Id }); } return(View(viewModel)); }
public IActionResult Message(MessagingViewModel message, string UserId) { if (!ModelState.IsValid) { ViewBag.LoggedIn = _context.users.SingleOrDefault(u => u.Id == HttpContext.Session.GetString("UserId")); TempData["MessageError"] = "Please enter an actual message."; return(Redirect("/messages")); } else { Message NewMessage = new Message { MessageText = message.MessageText, User = _context.users.SingleOrDefault(user => user.Id == UserId) }; _context.Add(NewMessage); _context.SaveChanges(); Message Created = _context.Messages.Last(); return(Redirect("/messages")); } }
// GET: Messages public ActionResult MessagesPerPerson_messageID(int Id) { MessagingViewModel mvm = new MessagingViewModel(); var me = User.Identity.Name.ToUpper(); var person = db.Messages.Where(m => m.Id == Id).Select(m => (m.fromUser + m.toUser).Replace(User.Identity.Name, "")).FirstOrDefault().ToUpper(); person = person.Trim(); person = person.ToUpper(); mvm.me = db.Users.FirstOrDefault(u => u.Email.ToUpper() == me); mvm.neighbor = db.Users.FirstOrDefault(u => u.Email.ToUpper() == person); mvm.messages = db.Messages .Where(m => (m.fromUser.ToUpper() == me || m.toUser.ToUpper() == me) && (m.fromUser.ToUpper().Trim() == person || m.toUser.ToUpper().Trim() == person)) .OrderByDescending(m => m.timeStamp) .Take(10).ToList(); return(View("MessagesPerPerson", mvm)); }
public async Task <IActionResult> Message(string id) { var playgroundReciver = await _userManager.FindByIdAsync(id); if (playgroundReciver == null) { return(NotFound()); } var currentUser = await _userManager.GetUserAsync(User); var allMessages = _messageRepository.GetMessages(currentUser.Id, playgroundReciver.Id).OrderByDescending(m => m.MessageDate); MessagingViewModel messagingViewModel = new MessagingViewModel { CurrentPage = playgroundReciver.FullName, EntityId = id, Messages = allMessages }; return(View(messagingViewModel)); }
public IActionResult Comment(MessagingViewModel comment, string UserId, int MessageId) { if (!ModelState.IsValid) { ViewBag.LoggedIn = _context.users.SingleOrDefault(u => u.Id == HttpContext.Session.GetString("UserId")); TempData["CommentError"] = "Please enter an actual comment."; return(Redirect("/messages")); } else { Comment NewComment = new Comment { CommentText = comment.CommentText, User = _context.users.SingleOrDefault(user => user.Id == UserId), MessageId = MessageId }; _context.Add(NewComment); _context.SaveChanges(); Comment Created = _context.Comments.Last(); return(Redirect("/messages")); } }
public IActionResult Comment(MessagingViewModel Comment) { if (!ModelState.IsValid) { TempData["UserId"] = HttpContext.Session.GetInt32("UserId"); TempData["FirstName"] = HttpContext.Session.GetString("name"); List <Dictionary <string, object> > AllMessages = _dbConnector.Query("SELECT messages.id, messages.message, users.first_name, users.last_name, messages.created_at FROM messages INNER JOIN users ON messages.user_id = users.id ORDER BY created_at desc"); List <Dictionary <string, object> > AllComments = _dbConnector.Query("SELECT comments.comment, users.first_name, users.last_name, comments.id, comments.message_id, comments.created_at FROM comments INNER JOIN users ON comments.user_id = users.id"); ViewBag.Messages = AllMessages; ViewBag.Comments = AllComments; return(View("Index")); } else { TempData["UserId"] = HttpContext.Session.GetInt32("UserId"); TempData["FirstName"] = HttpContext.Session.GetString("name"); // int? id = (int)HttpContext.Session.GetInt32("id"); int MessageId = Comment.UserComment.MessageId; string createComment = $"INSERT INTO comments (comment, user_id, message_id) VALUES ('{Comment.UserComment.Content}', {TempData["UserId"]}, {MessageId})"; _dbConnector.Execute(createComment); return(RedirectToAction("Index")); } }
public MessagingWindowOutside(MessagingViewModel viewModel) { DataContext = viewModel; InitializeComponent(); }
public MessagingPage(PhoneContact contact) { InitializeComponent(); BindingContext = new MessagingViewModel(contact); }
public async Task <MessagingViewModel> GetMessagesBetween2Users(int loggedInUser, int UserToMessageId) { MessagingViewModel viewModel = await _businessLogicClass.GetMessagesViewModel(loggedInUser, UserToMessageId); return(viewModel); }