Example #1
0
        public static List <Room> FetchRooms()
        {
            MySqlConnection con   = InitConnection();
            List <Room>     rooms = new List <Room>();

            try
            {
                con.Open();
                String          query   = "SELECT * FROM room";
                MySqlCommand    command = new MySqlCommand(query, con);
                MySqlDataReader reader  = command.ExecuteReader();
                while (reader.Read())
                {
                    String room_id = reader.GetString("room_id");
                    int    number  = reader.GetInt32("room_number");
                    String type    = reader.GetString("type");
                    Room   newRoom = null;
                    if (type == typeof(PrivateRoom).ToString())
                    {
                        newRoom = new PrivateRoom {
                            ID = room_id, RoomNumber = number
                        }
                    }
                    ;
                    else if (type == typeof(SemiPrivateRoom).ToString())
                    {
                        newRoom = new SemiPrivateRoom {
                            ID = room_id, RoomNumber = number
                        }
                    }
                    ;
                    else if (type == typeof(StandardWard).ToString())
                    {
                        newRoom = new StandardWard {
                            ID = room_id, RoomNumber = number
                        }
                    }
                    ;

                    rooms.Add(newRoom);
                }
            }
            catch
            {
                Console.WriteLine("Error Occured Fetching Rooms.");
            }
            finally
            {
                con.Close();
            }

            return(rooms);
        }
Example #2
0
        public void SendPrivateMessage(string userId, string message)
        {
            using (UWCContext db = new UWCContext())
            {
                User senderUser = db
                                  .Users
                                  .Where(u => u.Name == HttpContext.Current.User.Identity.Name)
                                  .FirstOrDefault();

                User recieverUser = db
                                    .Users
                                    .Where(u => u.Id.ToString() == userId)
                                    .FirstOrDefault();

                PrivateRoom privateRoom = db
                                          .PrivateRooms
                                          .Where(pr => pr.UserIds.Contains(senderUser.Id) && pr.UserIds.Contains(Guid.Parse(userId)))
                                          .FirstOrDefault();

                if (privateRoom == null)
                {
                    privateRoom = ChatHub.CreatePrivateRoom(senderUser.Id, recieverUser.Id);
                    db.PrivateRooms.Add(privateRoom);
                }

                string encodedMessage = AesEncoder.EncryptToBytes(message, Encoding.Default.GetBytes(privateRoom.Key), Encoding.Default.GetBytes(privateRoom.IV)).ToString();
                privateRoom.MessagesListing.Add(new MessageInfo()
                {
                    Id           = Guid.NewGuid(),
                    FromUserId   = senderUser.Id,
                    FromUserName = senderUser.Name,
                    ToUserId     = recieverUser.Id,
                    ToUserName   = recieverUser.Name,
                    Message      = encodedMessage,
                    Time         = DateTime.UtcNow
                });
                db.Entry(privateRoom).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

                Groups.Add(senderUser.Id.ToString(), privateRoom.Id.ToString());
                Groups.Add(recieverUser.Id.ToString(), privateRoom.Id.ToString());
                Clients.Group(privateRoom.Id.ToString(), senderUser.Id.ToString()).send(message);
            }
        }
Example #3
0
        public void addRoom()
        {
            if (RoomType == "Private")
            {
                PrivateRoom newPrivateRoom = new PrivateRoom
                {
                    RoomNumber = int.Parse(RoomNumber),
                };
                Rooms.Add(
                    new RoomCardViewModel
                {
                    ID         = newPrivateRoom.ID,
                    RoomNumber = newPrivateRoom.RoomNumber,
                    Type       = "Private Room",
                    Capacity   = newPrivateRoom.Patients.Count.ToString() + '/' + newPrivateRoom.Capacity.ToString()
                }
                    );

                FilteredRooms.Add(
                    new RoomCardViewModel
                {
                    ID         = newPrivateRoom.ID,
                    RoomNumber = newPrivateRoom.RoomNumber,
                    Type       = "Private Room",
                    Capacity   = newPrivateRoom.Patients.Count.ToString() + '/' + newPrivateRoom.Capacity.ToString()
                }
                    );

                Hospital.Rooms.Add(newPrivateRoom.ID, newPrivateRoom);
                HospitalDB.InsertRoom(newPrivateRoom);
            }

            else if (RoomType == "Semi Private")
            {
                SemiPrivateRoom newSemiPrivateRoom = new SemiPrivateRoom
                {
                    RoomNumber = int.Parse(RoomNumber)
                };
                Rooms.Add(
                    new RoomCardViewModel
                {
                    ID         = newSemiPrivateRoom.ID,
                    RoomNumber = newSemiPrivateRoom.RoomNumber,
                    Type       = "Semi Private Room",
                    Capacity   = newSemiPrivateRoom.Patients.Count.ToString() + '/' + newSemiPrivateRoom.Capacity.ToString()
                }
                    );

                FilteredRooms.Add(
                    new RoomCardViewModel
                {
                    ID         = newSemiPrivateRoom.ID,
                    RoomNumber = newSemiPrivateRoom.RoomNumber,
                    Type       = "Semi Private Room",
                    Capacity   = newSemiPrivateRoom.Patients.Count.ToString() + '/' + newSemiPrivateRoom.Capacity.ToString()
                }
                    );

                Hospital.Rooms.Add(newSemiPrivateRoom.ID, newSemiPrivateRoom);
                HospitalDB.InsertRoom(newSemiPrivateRoom);
            }

            else if (RoomType == "Standard Ward")
            {
                StandardWard newStandardWardRoom = new StandardWard
                {
                    RoomNumber = int.Parse(RoomNumber)
                };
                Rooms.Add(
                    new RoomCardViewModel
                {
                    ID         = newStandardWardRoom.ID,
                    RoomNumber = newStandardWardRoom.RoomNumber,
                    Type       = "StandardWard Room",
                    Capacity   = newStandardWardRoom.Patients.Count.ToString() + '/' + newStandardWardRoom.Capacity.ToString()
                }
                    );

                FilteredRooms.Add(
                    new RoomCardViewModel
                {
                    ID         = newStandardWardRoom.ID,
                    RoomNumber = newStandardWardRoom.RoomNumber,
                    Type       = "StandardWard Room",
                    Capacity   = newStandardWardRoom.Patients.Count.ToString() + '/' + newStandardWardRoom.Capacity.ToString()
                }
                    );

                Hospital.Rooms.Add(newStandardWardRoom.ID, newStandardWardRoom);
                HospitalDB.InsertRoom(newStandardWardRoom);
            }
        }