Ejemplo n.º 1
0
        private void Form1_Load(object sender, EventArgs e)
        {
            this.timer1.Start();
            UsersClass    user = new UsersClass();
            MessagesClass ms   = new MessagesClass();

            var Users       = user.FetchSenderUsers();
            var Rooms       = ms.FetchRooms();
            var currentUser = Users[CurrentUserID];

            HashSet <MessagesClass.Rooms> rooms             = new HashSet <MessagesClass.Rooms>();
            HashSet <UsersClass.User>     usersWithMessages = new HashSet <UsersClass.User>();

            foreach (DataRow membership in ms.MembershipsWithUserId(CurrentUserID).Rows)
            {
                DataTable dt = new DataTable();
                dt = ms.CompareUserNameAndRoomName((int)membership["room_id"]);

                if (dt != null)
                {
                    var RoomId = (int)dt.Rows[0]["id"];
                    roomsx.Id         = RoomId;
                    currentUserRoomId = RoomId;
                    foreach (var message in ms.GetMessagesOfRoom(RoomId))
                    {
                        //InboxIndexId.Add(i, message.Sender_Id);
                        //i++;
                        //lst_inbox.Items.Add(message);
                        usersWithMessages.Add(Users[message.Sender_Id]);
                    }
                    //var list = lst_inbox.Items.Cast<MessagesClass.Message>().OrderBy(item => item.Date).ToList();
                    //lst_inbox.Items.Clear();
                    //foreach (MessagesClass.Message listItem in list)
                    //{
                    //    lst_inbox.Items.Add(listItem);
                    //}
                }
            }

            foreach (var usr in usersWithMessages)
            {
                //SenderIndexId.Add(usr.Id, j);
                //j++;
                lst_sender.Items.Add(usr);
            }


            foreach (DataRow dr in ms.Search_Rooms().Rows)
            {
                rooms.Add(Rooms[(int)dr["id"]]);
            }


            foreach (var room in rooms)

            {
                cmb_rooms.Items.Add(room);
            }



            btn_CountOfInbox.Text = lst_inbox.Items.Count.ToString();

            lbl_welcomed.Text = "Hi " + currentUser.Name + " " + currentUser.Family;
        }
Ejemplo n.º 2
0
        private void cmb_users_SelectedIndexChanged(object sender, EventArgs e)
        {
            UsersClass    user = new UsersClass();
            MessagesClass ms   = new MessagesClass();

            roomsx = (MessagesClass.Rooms)cmb_rooms.Items[cmb_rooms.SelectedIndex];

            var Users = user.FetchSenderUsers();
            var Rooms = ms.FetchRooms();

            HashSet <UsersClass.User> usersWithMessages = new HashSet <UsersClass.User>();

            lst_inbox.Items.Clear();
            lst_sender.Items.Clear();
            if (cmb_rooms.SelectedIndex == -1)
            {
                return;
            }
            else
            {
                var rooms = (MessagesClass.Rooms)cmb_rooms.Items[cmb_rooms.SelectedIndex];
                NumberOfMembers = rooms.NumberOfMembers;

                //if (rooms.NumberOfMembers > 1)
                //{
                foreach (var message in ms.GetMessagesOfRoom(rooms.Id))
                {
                    //if (InboxIndexId.ContainsKey(i) == false)
                    //{
                    //    InboxIndexId.Add(i, message.Sender_Id);
                    //    //i++;
                    //}
                    if (rooms.NumberOfMembers != 1)
                    {
                        lst_inbox.Items.Add(message);
                    }
                    usersWithMessages.Add(Users[message.Sender_Id]);
                }
                foreach (var usr in usersWithMessages)
                {
                    //if (SenderIndexId.ContainsKey(usr.Id) == false)
                    //{
                    //    SenderIndexId.Add(usr.Id, j);
                    //    j++;
                    //}

                    lst_sender.Items.Add(usr);
                }
                // }

                //else
                //{
                //    foreach (var message in ms.GetMessagesOfRoom(roomsx.Id))
                //    {
                //        //if (InboxIndexId.ContainsKey(i) == false)
                //        //{
                //        //    InboxIndexId.Add(i, message.Sender_Id);
                //        //    //i++;
                //        //}

                //        //lst_inbox.Items.Add(message);
                //        usersWithMessages.Add(Users[message.Sender_Id]);
                //    }
                //    foreach (var usr in usersWithMessages)
                //    {
                //        //if (SenderIndexId.ContainsKey(usr.Id) == false)
                //        //{
                //        //    SenderIndexId.Add(usr.Id, j);
                //        //    j++;
                //        //}

                //        lst_sender.Items.Add(usr);
                //    }
                //}
            }


            //btn_CountOfInbox.Text = lst_inbox.Items.Count.ToString();
        }