Example #1
0
        public int DeleteRoomByID(int?schoolID, int?roomID)
        {
            int returnCode;

            // Check if arguments are null
            if (schoolID != null && roomID != null)
            {
                // Look for school in DB
                Schools existingSchool;
                Rooms   existingRoom;
                existingSchool = SchoolUtils.LookForSchool((int)schoolID);
                existingRoom   = RoomUtils.LookForRoom((int)schoolID, (int)roomID);
                // If ID already existing => modifyname
                if (existingSchool != null && existingRoom != null)
                {
                    // Delete Roomin DB ; returnCode = 1 if operation successful in method // 0 if not
                    returnCode = RoomUtils.DeleteRoomByID((int)schoolID, (int)roomID);
                }
                else  // School not existing or Room not existing, returnCode = -1
                {
                    returnCode = -1;
                }
            }
            else
            { // Arguments not valid
                returnCode = -1;
            }
            return(returnCode);
        }
Example #2
0
        public override void OnJoinedRoom()
        {
            // trigger events
            bool   isPrivate = false;
            string gamemode  = "";

            if (PhotonNetwork.CurrentRoom != null)
            {
                var currentRoom = PhotonNetwork.NetworkingClient.CurrentRoom;
                isPrivate = !currentRoom.IsVisible ||
                            currentRoom.CustomProperties.ContainsKey("Description"); // Room Browser rooms
                if (currentRoom.CustomProperties.TryGetValue("gameMode", out var gamemodeObject))
                {
                    gamemode = gamemodeObject as string;
                }
            }

            Events.RoomJoinedArgs args = new Events.RoomJoinedArgs
            {
                isPrivate = isPrivate,
                Gamemode  = gamemode
            };
            events.TriggerRoomJoin(args);

            lastRoom = args;

            var table = new Hashtable();
            var mods  = new DataClass();

            mods.installedIDs = BepInEx.Bootstrap.Chainloader.PluginInfos.Select(x => x.Value.Metadata.GUID).ToArray();
            table.Add("mods", JsonUtility.ToJson(mods));
            PhotonNetwork.LocalPlayer.SetCustomProperties(table);

            RoomUtils.ResetQueue();
        }
 //Delete : Rooms
 public ActionResult DeleteRoom(int Id)
 {
     if (RoomUtils.DeleteRoom(Id))
     {
         return(RedirectToAction("ListRooms"));
     }
     return(RedirectToAction("ListRooms"));
 }
        //GET : Rooms
        public ActionResult ListRooms(int?page, string searchString, string deleted)
        {
            List <DataAccessLayer.Entities.Room> roomContextList = RoomUtils.GetAllRooms();
            List <Room> roomList = Mappings.MappingDtos.EntityRoomToModelRoomAsList(roomContextList);

            if (!String.IsNullOrEmpty(searchString))
            {
                roomList = roomList.Where(s => s.Name.ToLower().Contains(searchString.ToLower())).ToList();
            }
            return(View(roomList.ToPagedList(page ?? 1, pageSize: 20)));
        }
Example #5
0
        void Awake()
        {
            RoomUtils.RoomCode = RoomUtils.RandomString(6); // Generate a random room code in case we need it

            GameObject dataObject = new GameObject();

            DontDestroyOnLoad(dataObject);
            PhotonNetworkControllerPatch.events = new Events();

            UtillaPatches.ApplyHarmonyPatches();
        }
 public ActionResult CreateRoom(Room Room)
 {
     if (ModelState.IsValid)
     {
         if (RoomUtils.InsertRoom(Room.Name))
         {
             return(RedirectToAction("ListRooms"));
         }
     }
     return(View(Room));
 }
 public ActionResult EditRoom(int Id, Room Room)
 {
     if (ModelState.IsValid)
     {
         if (RoomUtils.UpdateRoom(Mappings.MappingDtos.ModelRoomToEntityRoom(Room)))
         {
             return(RedirectToAction("ListRooms"));
         }
     }
     return(View(Room));
 }
Example #8
0
        /// <summary>
        /// 生成给定元素的几何实体的常规模型,支持链接文件中的元素id
        /// </summary>
        /// <param name="document"></param>
        /// <param name="integerIds">元素id</param>
        /// <param name="needHighLight">是否需要高亮</param>
        public static List <ElementId> CreateDirectShapes(Document document, List <int> integerIds, bool needHighLight = true)
        {
            var docs = LinkedElementUtils.GetAllLinkedDocument(document);

            docs.Add(document);

            var ids = integerIds.Select(e => new ElementId(e)).ToList();

            var solids = new List <Solid>();

            foreach (var id in ids)
            {
                Element ele = null;
                foreach (var doc in docs)
                {
                    ele = doc.GetElement(id);
                    if (ele != null)
                    {
                        break;
                    }
                }

                if (ele == null)
                {
                    continue;
                }
                if (ele is Room)
                {
                    solids.Add(RoomUtils.GetRoomActualSolid(ele as Room, document));
                }
                else
                {
                    solids.Add(GeometryUtils.GetSolid(ele));
                }
            }

            ids.Clear();
            using (Transaction tr = new Transaction(document, "DirectShapes"))
            {
                tr.Start();
                foreach (var item in solids)
                {
                    var directShapeId = CreateDirectShape(document, item);
                    ids.Add(directShapeId);
                }
                tr.Commit();
            }

            if (needHighLight)
            {
                ViewUtils.HighLightElements(new UIDocument(document), ids);
            }
            return(ids);
        }
Example #9
0
        /// Returns all RoomTiles that're connected to this one (including this one).
        private List <RoomTile> GetConnectedTiles(RoomTile firstTile)
        {
            RoomData        firstRD   = firstTile.MyRoomData;
            List <RoomData> roomDatas = RoomUtils.GetRoomsConnectedToRoom(firstRD);
            List <RoomTile> tiles     = new List <RoomTile>();

            foreach (RoomData rd in roomDatas)
            {
                tiles.Add(GetRoomTileByKey(rd.RoomKey));
            }
            return(tiles);
        }
Example #10
0
        public static DataAccessLayer.Entities.Event ModelEventToEntityEvent(Models.Event modelEvent)
        {
            DataAccessLayer.Entities.Event entityEvent = new DataAccessLayer.Entities.Event()
            {
                Card     = ClientUtils.GetClientByTicketId(modelEvent.TicketId),
                Date     = modelEvent.Date,
                Id       = modelEvent.Id,
                Inserter = EmployeeUtils.GetEmployeeByName(modelEvent.EmployeeName),
                Room     = RoomUtils.GetRoomByName(modelEvent.RoomName),
                Ticket   = TicketUtils.GetTicketById(modelEvent.TicketId),
                Type     = modelEvent.Type
            };

            return(entityEvent);
        }
Example #11
0
        void Awake()
        {
            RoomUtils.RoomCode = RoomUtils.RandomString(6); // Generate a random room code in case we need it

            GameObject dataObject = new GameObject();

            DontDestroyOnLoad(dataObject);
            gameObject.AddComponent <UtillaNetworkController>();

            Events.GameInitialized += PostInitialized;

            UtillaNetworkController.events = events;
            PostInitializedPatch.events    = events;

            UtillaPatches.ApplyHarmonyPatches();
        }
Example #12
0
    void Setup()
    {
        /// set position
        GameObject gObj = gameObject;
        JMesh      jMsh = m_jRoom.boundary;

        // Vector2 pos = Utils.Rvt2CamCoord(jMsh.BD.min, m_floor.FloorBDs, true, m_floor.PixelPerUnit);
        gObj.transform.position = new Vector3(0, 0, 5);

        /// calculate mesh

        /// reshape
        List <Vector3> v2ds = Utils.Rvt2CamCoord(jMsh.Vct2ds, m_floor.FloorBDs, true, m_floor.PixelPerUnit);
        List <Vector2> uv   = new List <Vector2>();

        for (int i = 0; i < v2ds.Count; i++)
        {
            uv.Add(new Vector2((float)i / (float)v2ds.Count * jMsh.BD.size.x, (float)i / (float)v2ds.Count * jMsh.BD.size.y));
        }
        MeshFilter mFilter = gObj.GetComponent <MeshFilter>();
        Mesh       oldMesh = mFilter.mesh;

        Mesh msh = new Mesh();

        mFilter.mesh = msh;

        msh.vertices = v2ds.ToArray();
        jMsh.Triangles.Reverse();
        msh.triangles = jMsh.Triangles.ToArray();
        msh.uv        = uv.ToArray();

        MeshCollider msCll = gObj.GetComponent <MeshCollider>();

        msCll.sharedMesh = msh;

        MeshRenderer mshRender = GetComponent <MeshRenderer>();

        mshRender.material.color = RoomUtils.GetColor(m_jRoom.program_type);

        foreach (JFurniture fn in m_jRoom.furniture)
        {
            GameObject dskObj = GameObject.Instantiate(m_floor.m_desk);
            Desk       dsk    = dskObj.GetComponent <Desk>();
            dsk.m_furniture = fn;
            dsk.m_rm        = this;
        }
    }
Example #13
0
        private static void Postfix()
        {
            // trigger events
            bool isPrivate = false;

            if (PhotonNetwork.CurrentRoom != null)
            {
                var currentRoom = PhotonNetwork.NetworkingClient.CurrentRoom;
                isPrivate = !currentRoom.IsVisible ||
                            currentRoom.CustomProperties.ContainsKey("Description"); // Room Browser rooms
            }
            Debug.Log("IS PRIVATE?");
            Debug.Log(isPrivate);
            Events.RoomJoinedArgs args = new Events.RoomJoinedArgs();
            args.isPrivate = isPrivate;
            events.TriggerRoomJoin(args);

            // handle forcing private lobbies
            bool forcePrivateLobbies = false;
            var  infos = BepInEx.Bootstrap.Chainloader.PluginInfos;

            foreach (var info in infos)
            {
                if (info.Value == null)
                {
                    continue;
                }
                BaseUnityPlugin plugin = info.Value.Instance;
                if (plugin == null)
                {
                    continue;
                }
                var attribute = plugin.GetType().GetCustomAttribute <ForcePrivateLobbyAttribute>();
                if (attribute != null)
                {
                    forcePrivateLobbies = true;
                }
            }

            if (forcePrivateLobbies)
            {
                RoomUtils.JoinPrivateLobby();
            }
        }
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            var uidoc = commandData.Application.ActiveUIDocument;

            try
            {
                // TODO: 测试代码这里实现
                var  roomref = uidoc.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType.LinkedElement, new LinkedElementSelectionFilter <Room>(), "请选择一个链接文件中的房间");
                Room room    = LinkedElementUtils.GetLinkedDocumnet(uidoc.Document, roomref).GetElement(roomref.LinkedElementId) as Room;

                var rst = RoomUtils.TryGetRoomHeight(room, out double roomHeight, uidoc.Document);

                string msg = string.Empty;
                switch (rst)
                {
                case -1:
                    msg = "参数法";
                    break;

                case 0:
                    msg = "标高法";
                    break;

                case 1:
                    msg = "射线法";
                    break;

                default:
                    break;
                }
                msg += $"获取的房间高度为{roomHeight.FeetToMM()}";

                TaskDialog.Show("房间高度测试", msg);

                return(Result.Succeeded);
            }
            catch (Exception ex)
            {
                TaskDialog.Show("提示", ex.ToString());
                return(Result.Cancelled);
            }
        }
Example #15
0
    void DrawLable()
    {
        if (null == m_txtObj)
        {
            string tag = RoomUtils.GetRoomTag(m_jRoom);
            if (null == tag)
            {
                hasTag = false;
                return;
            }

            m_txtObj = new GameObject("Rm_Lable+" + m_jRoom.number, typeof(RectTransform));

            Text tx = m_txtObj.AddComponent <Text>();
            tx.text     = tag;
            tx.font     = m_floor.m_tagFont;
            tx.fontSize = 8;
            tx.rectTransform.position = Vector2.zero;
            tx.color = Color.black;
            tx.horizontalOverflow = HorizontalWrapMode.Overflow;
            tx.verticalOverflow   = VerticalWrapMode.Overflow;
            tx.alignment          = TextAnchor.MiddleCenter;

            m_txtObj.transform.SetParent(m_floor.m_canves.transform);
            RectTransform txTrf = m_txtObj.GetComponent <RectTransform>();
            txTrf.localScale = Vector3.one;
            txTrf.sizeDelta  = new Vector2(0, 0);
        }
        else
        {
            if (!hasTag)
            {
                return;
            }
        }

        Text myTx = m_txtObj.GetComponent <Text>();

        myTx.transform.position = Utils.Rvt2PixCoord(m_jRoom.location.GetVct2d(), m_floor.FloorBDs, true, m_floor.PixelPerUnit, m_floor.m_camera, m_floor.m_canves);
    }
Example #16
0
        public int InsertRoom(int?schoolID, string roomName)
        {
            int returnCode;

            // Check if arguments are null
            if (schoolID != null && roomName != null)
            {
                // Look for school in DB
                Schools existingSchool;
                existingSchool = SchoolUtils.LookForSchool((int)schoolID);
                // If School already existing
                if (existingSchool != null)
                {
                    // Looking if room already exists
                    Rooms newRoom;
                    newRoom = RoomUtils.LookForRoom((int)schoolID, roomName);
                    if (newRoom == null)
                    {
                        // Create a new Room in DB ; returnCode = 1 if operation successful in method // 0 if not
                        returnCode = RoomUtils.InsertRoom((int)schoolID, roomName);
                    }
                    else
                    {
                        returnCode = 0; // Room already existing
                    }
                }
                else  // School not existing, returnCode = -1
                {
                    returnCode = -1;
                }
            }
            else
            { // Arguments not valid
                returnCode = -1;
            }
            return(returnCode);
        }
        public ActionResult SaveToXls(string what)
        {
            DataTable dt     = null;
            bool      result = false;

            switch (what)
            {
            case "Client":
                List <DataAccessLayer.Entities.Client> layerClientList = ClientUtils.GetAllClients();
                List <Client> clientList = Mappings.MappingDtos.EntityClientToModelClientAsList(layerClientList);
                dt     = DataToExcel.ConvertToDataTable(clientList);
                result = DataToExcel.FlushToExcel <Client>(dt);
                break;

            case "Employee":
                List <DataAccessLayer.Entities.Employee> layerEmplyeeList = EmployeeUtils.GetAllEmplyees();
                List <Employee> employeeList = Mappings.MappingDtos.EntityEmployeeToModelEmployeeAsList(layerEmplyeeList);
                dt     = DataToExcel.ConvertToDataTable(employeeList);
                result = DataToExcel.FlushToExcel <Employee>(dt);
                break;

            case "Event":
                List <DataAccessLayer.Entities.Event> layerEventList = EventUtils.GetAllEvents();
                List <Event> eventList = Mappings.MappingDtos.EntityEventToModelEventList(layerEventList);
                dt     = DataToExcel.ConvertToDataTable(eventList);
                result = DataToExcel.FlushToExcel <Event>(dt);
                break;

            case "Room":
                List <DataAccessLayer.Entities.Room> layerRoomList = RoomUtils.GetAllRooms();
                List <Room> roomList = Mappings.MappingDtos.EntityRoomToModelRoomAsList(layerRoomList);
                dt     = DataToExcel.ConvertToDataTable(roomList);
                result = DataToExcel.FlushToExcel <Room>(dt);
                break;

            case "Ticket":
                List <DataAccessLayer.Entities.Ticket> layerTicketList = TicketUtils.GetAllTickets();
                List <Ticket> ticketList = Mappings.MappingDtos.EntityTicketLIstToModelTicketAsList(layerTicketList);
                dt     = DataToExcel.ConvertToDataTable(ticketList);
                result = DataToExcel.FlushToExcel <Ticket>(dt);
                break;

            case "Type":
                List <DataAccessLayer.Entities.TicketType> layerTypeList = TicketTypeUtils.GetAllTicketTypes();
                List <TicketType> typeList = Mappings.MappingDtos.EntityTicketLIstToModelTicketTypeAsList(layerTypeList);
                dt     = DataToExcel.ConvertToDataTable(typeList);
                result = DataToExcel.FlushToExcel <TicketType>(dt);
                break;

            default:
                break;
            }

            if (result)
            {
                return(RedirectToAction("ListEmployees"));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
 public ActionResult Enter(Ticket ticket)
 {
     return(View(new RoomTicket {
         Rooms = MappingDtos.EntityRoomToModelRoomAsList(RoomUtils.GetAllRooms()), Ticket = ticket
     }));
 }