public AddEditPathwayDataViewModel()
 {
     ValidModels = Enumerable.Empty<IDimensionalModelData>();
     ValidMaterials = Enumerable.Empty<IMaterial>();
     ValidRooms = Enumerable.Empty<IRoomData>();
     NewRoomModel = new AddEditRoomDataViewModel();
 }
示例#2
0
        public ActionResult Add()
        {
            var vModel = new AddEditRoomDataViewModel();
            vModel.authedUser = UserManager.FindById(User.Identity.GetUserId());
            vModel.ValidMaterials = BackingDataCache.GetAll<IMaterial>();
            vModel.ValidZones = BackingDataCache.GetAll<IZone>();

            return View("~/Views/GameAdmin/Room/Add.cshtml", "_chromelessLayout", vModel);
        }
示例#3
0
        public ActionResult Add(AddEditRoomDataViewModel vModel)
        {
            string message = string.Empty;
            var authedUser = UserManager.FindById(User.Identity.GetUserId());

            var newObj = new RoomData();
            newObj.Name = vModel.NewName;
            newObj.Model = new DimensionalModel(vModel.DimensionalModelHeight, vModel.DimensionalModelLength, vModel.DimensionalModelWidth
                                , vModel.DimensionalModelVacuity, vModel.DimensionalModelCavitation);

            var mediumId = vModel.Medium;
            var medium = BackingDataCache.Get<IMaterial>(mediumId);

            if (medium != null)
            {
                newObj.Medium = medium;

                var zoneId = vModel.Zone;
                var zone = BackingDataCache.Get<IZone>(zoneId);

                if (zone != null)
                {
                    newObj.ZoneAffiliation = zone;

                    if (newObj.Create() == null)
                        message = "Error; Creation failed.";
                    else
                    {
                        LoggingUtility.LogAdminCommandUsage("*WEB* - AddRoomData[" + newObj.ID.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                        message = "Creation Successful.";
                    }
                }
                else
                    message = "You must include a valid Zone.";
            }
            else
                message = "You must include a valid Medium material.";

            return RedirectToAction("Index", new { Message = message });
        }
示例#4
0
        public ActionResult Edit(AddEditRoomDataViewModel vModel, int id)
        {
            string message = string.Empty;
            var authedUser = UserManager.FindById(User.Identity.GetUserId());

            var obj = BackingDataCache.Get<RoomData>(id);
            if (obj == null)
            {
                message = "That does not exist";
                return RedirectToAction("Index", new { Message = message });
            }

            obj.Name = vModel.NewName;
            obj.Model.Height = vModel.DimensionalModelHeight;
            obj.Model.Length = vModel.DimensionalModelLength;
            obj.Model.Width = vModel.DimensionalModelWidth;

            var mediumId = vModel.Medium;
            var medium = BackingDataCache.Get<IMaterial>(mediumId);

            if (medium != null)
            {
                obj.Medium = medium;

                var zoneId = vModel.Zone;
                var zone = BackingDataCache.Get<IZone>(zoneId);

                if (zone != null)
                {
                    obj.ZoneAffiliation = zone;

                    if (obj.Save())
                    {
                        LoggingUtility.LogAdminCommandUsage("*WEB* - EditRoomData[" + obj.ID.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                        message = "Edit Successful.";
                    }
                    else
                        message = "Error; Edit failed.";
                }
                else
                    message = "You must include a valid Zone.";
            }
            else
                message = "You must include a valid Medium material.";

            return RedirectToAction("Index", new { Message = message });
        }
示例#5
0
        public ActionResult Edit(int id)
        {
            string message = string.Empty;
            var vModel = new AddEditRoomDataViewModel();
            vModel.authedUser = UserManager.FindById(User.Identity.GetUserId());
            vModel.ValidMaterials = BackingDataCache.GetAll<IMaterial>();
            vModel.ValidZones = BackingDataCache.GetAll<IZone>();

            var obj = BackingDataCache.Get<RoomData>(id);

            if (obj == null)
            {
                message = "That does not exist";
                return RedirectToAction("Index", new { Message = message });
            }

            vModel.DataObject = obj;
            vModel.NewName = obj.Name;
            vModel.DimensionalModelHeight = obj.Model.Height;
            vModel.DimensionalModelLength = obj.Model.Length;
            vModel.DimensionalModelWidth = obj.Model.Width;

            return View("~/Views/GameAdmin/Room/Edit.cshtml", "_chromelessLayout", vModel);
        }
示例#6
0
        public ActionResult AddRoomData(AddEditRoomDataViewModel vModel)
        {
            string message = string.Empty;
            var authedUser = UserManager.FindById(User.Identity.GetUserId());

            var newObj = new RoomData();
            newObj.Name = vModel.NewName;
            newObj.Model = new DimensionalModel(vModel.DimensionalModelHeight, vModel.DimensionalModelLength, vModel.DimensionalModelWidth);

            if (vModel.BorderMaterials != null)
            {
                int index = 0;
                foreach (var materialId in vModel.BorderMaterials)
                {
                    if (materialId > 0)
                    {
                        if (vModel.BorderNames.Count() <= index)
                            break;

                        var name = vModel.BorderNames[index];
                        var material = ReferenceWrapper.GetOne<IMaterial>(materialId);

                        if (material != null && !string.IsNullOrWhiteSpace(name) && !newObj.Borders.ContainsKey(name))
                            newObj.Borders.Add(name, material);
                    }

                    index++;
                }
            }

            var mediumId = vModel.Medium;
            var medium = ReferenceWrapper.GetOne<IMaterial>(mediumId);

            if (medium != null)
            {
                newObj.Medium = medium;

                var zoneId = vModel.Zone;
                var zone = ReferenceWrapper.GetOne<IZone>(zoneId);

                if (zone != null)
                {
                    newObj.ZoneAffiliation = zone;

                    if (newObj.Create() == null)
                        message = "Error; Creation failed.";
                    else
                    {
                        LoggingUtility.LogAdminCommandUsage("*WEB* - AddRoomData[" + newObj.ID.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                        message = "Creation Successful.";
                    }
                }
                else
                    message = "You must include a valid Zone.";
            }
            else
                message = "You must include a valid Medium material.";

            return RedirectToAction("ManageRoomData", new { Message = message });
        }
示例#7
0
        public ActionResult AddRoomData()
        {
            var vModel = new AddEditRoomDataViewModel();
            vModel.authedUser = UserManager.FindById(User.Identity.GetUserId());
            vModel.ValidMaterials = ReferenceWrapper.GetAll<IMaterial>();
            vModel.ValidZones = ReferenceWrapper.GetAll<IZone>();

            return View(vModel);
        }
示例#8
0
        public ActionResult EditRoomData(AddEditRoomDataViewModel vModel, int id)
        {
            string message = string.Empty;
            var authedUser = UserManager.FindById(User.Identity.GetUserId());

            var obj = DataWrapper.GetOne<RoomData>(id);
            if (obj == null)
            {
                message = "That does not exist";
                return RedirectToAction("ManageRoomData", new { Message = message });
            }

            obj.Name = vModel.NewName;
            obj.Model.Height = vModel.DimensionalModelHeight;
            obj.Model.Length = vModel.DimensionalModelLength;
            obj.Model.Width = vModel.DimensionalModelWidth;

            obj.Borders = new Dictionary<string, IMaterial>();
            if (vModel.BorderMaterials != null)
            {
                int index = 0;
                foreach (var materialId in vModel.BorderMaterials)
                {
                    if (materialId > 0)
                    {
                        if (vModel.BorderNames.Count() <= index)
                            break;

                        var name = vModel.BorderNames[index];
                        var material = ReferenceWrapper.GetOne<IMaterial>(materialId);

                        if (material != null && !string.IsNullOrWhiteSpace(name) && !obj.Borders.ContainsKey(name))
                            obj.Borders.Add(name, material);
                    }

                    index++;
                }
            }

            var mediumId = vModel.Medium;
            var medium = ReferenceWrapper.GetOne<IMaterial>(mediumId);

            if (medium != null)
            {
                obj.Medium = medium;

                var zoneId = vModel.Zone;
                var zone = ReferenceWrapper.GetOne<IZone>(zoneId);

                if (zone != null)
                {
                    obj.ZoneAffiliation = zone;

                    if (obj.Save())
                    {
                        LoggingUtility.LogAdminCommandUsage("*WEB* - EditRoomData[" + obj.ID.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                        message = "Edit Successful.";
                    }
                    else
                        message = "Error; Edit failed.";
                }
                else
                    message = "You must include a valid Zone.";
            }
            else
                message = "You must include a valid Medium material.";

            return RedirectToAction("ManageRoomData", new { Message = message });
        }
示例#9
0
        public ActionResult EditRoomData(int id)
        {
            string message = string.Empty;
            var vModel = new AddEditRoomDataViewModel();
            vModel.authedUser = UserManager.FindById(User.Identity.GetUserId());
            vModel.ValidMaterials = ReferenceWrapper.GetAll<IMaterial>();
            vModel.ValidZones = ReferenceWrapper.GetAll<IZone>();

            var obj = DataWrapper.GetOne<RoomData>(id);

            if (obj == null)
            {
                message = "That does not exist";
                return RedirectToAction("ManageRoomData", new { Message = message });
            }

            vModel.DataObject = obj;
            vModel.NewName = obj.Name;
            vModel.DimensionalModelHeight = obj.Model.Height;
            vModel.DimensionalModelLength = obj.Model.Length;
            vModel.DimensionalModelWidth = obj.Model.Width;

            return View(vModel);
        }