Пример #1
0
        }//addRoom()

        /// <summary>
        /// Dodawanie użytkownika do tabel UsersInRoom i UsersInOldRoom
        /// </summary>
        /// <param name="roomId">ID pokoju</param>
        /// <param name="userId">ID użytkownika</param>
        private void addUserToRoom(int roomId, string userId)
        {
            using (var db = new conferenceEntities2())
            {
                // dodawanie użytkownika do aktywnego pokoju
                try
                {
                    // jeśli rzuci wyjątek to znaczy, że użytkownik jeszcze nie jest dodany
                    db.UsersInRoom.First(u => u.roomId == roomId && u.userId == userId);
                }//try
                catch (InvalidOperationException)
                {
                    // dodaj użytkownika
                    UsersInRoom userInRoom = new UsersInRoom()
                    {
                        roomId = roomId,
                        userId = userId
                    };
                    db.UsersInRoom.Add(userInRoom);
                }//catch

                // dodawanie użytkownika do archiwalnego pokoju
                try
                {
                    // jw.
                    db.UsersInOldRoom.First(u => u.oldRoomId == roomId && u.userId == userId);
                }//try
                catch (InvalidOperationException)
                {
                    UsersInOldRoom usersInOldRoom = new UsersInOldRoom()
                    {
                        oldRoomId = roomId,
                        userId    = userId
                    };
                    db.UsersInOldRoom.Add(usersInOldRoom);
                }//catch

                // zapisz zmiany
                db.SaveChanges();
            } //using
        }     //addUserToRoom()
Пример #2
0
        public void Update(int rowNum, Vector2i position, Vector2i size)
        {
            rowN = rowNum;
            int offsetPosX = 4;
            int offsetPosY = (20 * rowNum) + (int)29;

            int offsetX = 0;
            int offsetY = 0;

            bool isOdd = rowNum % 2 != 0;

            if (isOdd)
            {
                offsetY += 20;
            }

            edgeL.SetPosition(position + new Vector2i(offsetPosX, offsetPosY));
            edgeL.SourceRect = new Rectangle((int)0 + offsetX, 0 + offsetY, (int)edgeL.Size.X, (int)edgeL.Size.Y);
            images.Add(edgeL);

            edgeR.SetPosition(position + new Vector2i(size.X - edgeR.Size.X - 1, offsetPosY));
            edgeR.SourceRect = new Rectangle((int)0 + offsetX, 0 + offsetY, (int)edgeR.Size.X, (int)edgeR.Size.Y);
            images.Add(edgeR);

            row.SetPosition(position + new Vector2i(offsetPosX + edgeL.dimensions.X, offsetPosY));
            row.SourceRect = new Rectangle((int)0 + offsetX, 0 + offsetY, (int)row.Size.X, (int)row.Size.Y);
            images.Add(row);

            roomName.SetPosition(position + new Vector2i(offsetPosX + 42, offsetPosY + row.Size.Y / 2 - roomName.measureString().Y / 2));
            fonts.Add(roomName);

            users.SetText(room.UsersNow + "");
            float textIconWidth                = usersIcon.Size.X + 7 + users.measureString().X;
            int   offsetRightIcon              = (int)Math.Ceiling((UsersInRoom.Size.X - textIconWidth) / 2);
            int   percentageInRoom             = (int)Math.Ceiling((double)(room.UsersNow / room.UsersMax) * 100);
            int   multiplicationFromPercentage = 0;

            if (room.UsersNow > 0)
            {
                multiplicationFromPercentage = 1;
            }
            if (percentageInRoom > 40)
            {
                multiplicationFromPercentage = 2;
            }
            if (percentageInRoom > 90)
            {
                multiplicationFromPercentage = 3;
            }

            UsersInRoom.SetPosition(position + new Vector2i(offsetPosX, offsetPosY + 1));
            UsersInRoom.SourceRect = new Rectangle((int)(UsersInRoom.Size.X * multiplicationFromPercentage), 0, (int)UsersInRoom.Size.X, (int)UsersInRoom.Size.Y);
            images.Add(UsersInRoom);

            users.SetPosition(position + new Vector2i(offsetRightIcon + offsetPosX + 6 + usersIcon.Size.X, offsetPosY - (usersIcon.Size.Y / 2) + (users.measureString().Y / 2)));
            fonts.Add(users);

            usersIcon.SetPosition(position + new Vector2i(offsetRightIcon + offsetPosX, offsetPosY - (usersIcon.Size.Y / 2) + (UsersInRoom.Size.Y / 2)));
            images.Add(usersIcon);

            Info.SetPosition(position + new Vector2i(size.X - Info.Size.X - 4 - edgeR.Size.X, offsetPosY + 1));
            images.Add(Info);

            Group.SetPosition(position + new Vector2i(size.X - Info.Size.X - 4 - 4 - Group.Size.X - edgeR.Size.X, offsetPosY + 5));
            if (room.Group != null)
            {
                images.Add(Group);
            }

            if (room.Acces == 1)
            {
                Lock.SetPosition(position + new Vector2i(size.X - Info.Size.X - 4 - 4 - Group.Size.X - 4 - Lock.Size.X - edgeR.Size.X, offsetPosY + 2));
                Lock.SourceRect = new Rectangle((int)(0 * Lock.Size.X), 0, (int)Lock.Size.X, (int)Lock.Size.Y);
                images.Add(Lock);
            }
            else if (room.Acces == 2)
            {
                Lock.SetPosition(position + new Vector2i(size.X - Info.Size.X - 4 - 4 - Group.Size.X - 4 - Lock.Size.X - edgeR.Size.X, offsetPosY + 2));
                Lock.SourceRect = new Rectangle((int)(1 * Lock.Size.X), 0, (int)Lock.Size.X, (int)Lock.Size.Y);
                images.Add(Lock);
            }
            else if (room.Acces == 3)
            {
                Lock.SetPosition(position + new Vector2i(size.X - Info.Size.X - 4 - 4 - Group.Size.X - 4 - Lock.Size.X - edgeR.Size.X, offsetPosY + 2));
                Lock.SourceRect = new Rectangle((int)(2 * Lock.Size.X), 0, (int)Lock.Size.X, (int)Lock.Size.Y);
                images.Add(Lock);
            }
        }