Esempio n. 1
0
        public NewChatView(UserModel user)
        {
            InitializeComponent();

            newChatViewModel = new NewChatViewModel(user);

            DataContext = newChatViewModel;

            newChatViewModel.Closing += (s, e) => Close();
        }
Esempio n. 2
0
        public ActionResult SendMessage(UserMessage userMessage)
        {
            List <UserMessage> listMessages = new List <UserMessage>();

            userMessage.DateTimeSend = DateTime.Now;
            userMessage.ReadMessage  = false;
            var    userFrom = _context.Users.Single(u => u.Id == userMessage.UserFromId);
            var    userTo   = _context.Users.Single(u => u.Id == userMessage.UserToId);
            string fileName = "";

            if (userFrom.UserRank == "Admin" && userTo.UserRank == "Customer")
            {
                fileName = userFrom.Username + userTo.Username + ".json";
            }
            else if (userFrom.UserRank == "Customer" && userTo.UserRank == "Admin")
            {
                fileName = userTo.Username + userFrom.Username + ".json";
            }
            WriteReadJsonFile.ReadList <UserMessage>(ref listMessages, fileName);
            if (listMessages == null)
            {
                listMessages = new List <UserMessage>();
            }
            listMessages.Add(userMessage);
            WriteReadJsonFile.WriteList <UserMessage>(listMessages, fileName);
            if (listMessages != null)
            {
                foreach (var m in listMessages)
                {
                    m.UserFrom = _context.Users.Single(u => u.Id == m.UserFromId);
                    m.UserTo   = _context.Users.Single(u => u.Id == m.UserToId);
                }
            }
            var viewModel = new NewChatViewModel
            {
                UserMessage = new UserMessage
                {
                    UserFrom   = userFrom,
                    UserTo     = userTo,
                    UserToId   = userTo.Id,
                    UserFromId = userFrom.Id
                },
                UserMessages = listMessages,
                Filename     = fileName
            };

            return(View("UserChat", viewModel));
        }
Esempio n. 3
0
        public ActionResult UserChat(int id)
        {
            int userId   = Convert.ToInt32(Session["Id"]);
            var userFrom = _context.Users.Single(u => u.Id == userId);
            var userTo   = _context.Users.Single(u => u.Id == id);
            List <UserMessage> listMessages = new List <UserMessage>();

            if (userFrom.UserRank == "Admin" && userTo.UserRank == "Customer")
            {
                string fileName = userFrom.Username + userTo.Username + ".json";
                WriteReadJsonFile.ReadList <UserMessage>(ref listMessages, fileName);
                if (listMessages != null)
                {
                    foreach (var m in listMessages)
                    {
                        m.UserFrom = _context.Users.Single(u => u.Id == m.UserFromId);
                        m.UserTo   = _context.Users.Single(u => u.Id == m.UserToId);
                        if (m.UserToId == userId)
                        {
                            m.ReadMessage = true;
                        }
                    }
                }
                WriteReadJsonFile.WriteList(listMessages, fileName);
                var viewModel = new NewChatViewModel
                {
                    UserMessage = new UserMessage
                    {
                        UserTo     = userTo,
                        UserFrom   = userFrom,
                        UserToId   = userTo.Id,
                        UserFromId = userFrom.Id
                    },
                    UserMessages = listMessages,
                    Filename     = fileName
                };
                return(View(viewModel));
            }
            else if (userFrom.UserRank == "Customer" && userTo.UserRank == "Admin")
            {
                string fileName = userTo.Username + userFrom.Username + ".json";
                WriteReadJsonFile.ReadList <UserMessage>(ref listMessages, fileName);
                if (listMessages != null)
                {
                    foreach (var m in listMessages)
                    {
                        m.UserFrom = _context.Users.Single(u => u.Id == m.UserFromId);
                        m.UserTo   = _context.Users.Single(u => u.Id == m.UserToId);
                        if (m.UserToId == userId)
                        {
                            m.ReadMessage = true;
                        }
                    }
                }
                WriteReadJsonFile.WriteList(listMessages, fileName);
                var viewModel = new NewChatViewModel
                {
                    UserMessage = new UserMessage
                    {
                        UserTo     = userTo,
                        UserFrom   = userFrom,
                        UserToId   = userTo.Id,
                        UserFromId = userFrom.Id
                    },
                    UserMessages = listMessages,
                    Filename     = fileName
                };
                return(View(viewModel));
            }
            return(HttpNotFound());
        }
Esempio n. 4
0
 public NewChatPage()
 {
     InitializeComponent();
     BindingContext = new NewChatViewModel();
 }
Esempio n. 5
0
 public NewChatAdapter(NewChatViewModel viewModel, IMvxAndroidBindingContext bindingContext)
     : base(bindingContext)
 {
     this.viewModel = viewModel;
 }