public ActionResult AddDimensionalModelData()
        {
            var vModel = new AddEditDimensionalModelDataViewModel();
            vModel.authedUser = UserManager.FindById(User.Identity.GetUserId());

            return View(vModel);
        }
        public ActionResult Add()
        {
            var vModel = new AddEditDimensionalModelDataViewModel();
            vModel.authedUser = UserManager.FindById(User.Identity.GetUserId());

            return View("~/Views/GameAdmin/DimensionalModel/Add.cshtml", vModel);
        }
Example #3
0
        public ActionResult Add()
        {
            AddEditDimensionalModelDataViewModel vModel = new AddEditDimensionalModelDataViewModel
            {
                AuthedUser = UserManager.FindById(User.Identity.GetUserId()),
                DataObject = new DimensionalModelData()
            };

            return(View("~/Views/GameAdmin/DimensionalModel/Add.cshtml", vModel));
        }
Example #4
0
        public ActionResult Edit(long id, AddEditDimensionalModelDataViewModel vModel)
        {
            ApplicationUser authedUser = UserManager.FindById(User.Identity.GetUserId());

            IDimensionalModelData obj = TemplateCache.Get <IDimensionalModelData>(id);
            string message;

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

            try
            {
                foreach (IDimensionalModelPlane plane in vModel.DataObject.ModelPlanes)
                {
                    foreach (IDimensionalModelNode node in plane.ModelNodes)
                    {
                        node.YAxis = plane.YAxis;
                    }
                }

                if (vModel.DataObject.IsModelValid())
                {
                    obj.Name        = vModel.DataObject.Name;
                    obj.ModelType   = vModel.DataObject.ModelType;
                    obj.ModelPlanes = vModel.DataObject.ModelPlanes;
                    obj.Vacuity     = vModel.DataObject.Vacuity;

                    if (obj.Save(authedUser.GameAccount, authedUser.GetStaffRank(User)))
                    {
                        LoggingUtility.LogAdminCommandUsage("*WEB* - EditDimensionalModelData[" + obj.Id.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                        message = "Edit Successful.";
                    }
                    else
                    {
                        message = "Error; Edit failed.";
                    }
                }
                else
                {
                    message = "Invalid model; Models must contain 21 planes of a tag name followed by 21 rows of 21 nodes.";
                }
            }
            catch (Exception ex)
            {
                LoggingUtility.LogError(ex, false);
                message = "Error; Creation failed.";
            }

            return(RedirectToAction("Index", new { Message = message }));
        }
Example #5
0
        public ActionResult Edit(long id)
        {
            AddEditDimensionalModelDataViewModel vModel = new AddEditDimensionalModelDataViewModel
            {
                AuthedUser = UserManager.FindById(User.Identity.GetUserId())
            };

            IDimensionalModelData obj = TemplateCache.Get <IDimensionalModelData>(id);

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

            vModel.DataObject = obj;

            return(View("~/Views/GameAdmin/DimensionalModel/Edit.cshtml", vModel));
        }
Example #6
0
        public ActionResult Add(AddEditDimensionalModelDataViewModel vModel, HttpPostedFileBase modelFile)
        {
            ApplicationUser authedUser = UserManager.FindById(User.Identity.GetUserId());
            string          message;

            try
            {
                IDimensionalModelData newModel = vModel.DataObject;

                foreach (IDimensionalModelPlane plane in newModel.ModelPlanes)
                {
                    foreach (IDimensionalModelNode node in plane.ModelNodes)
                    {
                        node.YAxis = plane.YAxis;
                    }
                }

                if (newModel.IsModelValid())
                {
                    if (newModel.Create(authedUser.GameAccount, authedUser.GetStaffRank(User)) == null)
                    {
                        message = "Error; Creation failed.";
                    }
                    else
                    {
                        LoggingUtility.LogAdminCommandUsage("*WEB* - AddDimensionalModelData[" + newModel.Id.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                        message = "Creation Successful.";
                    }
                }
                else
                {
                    message = "Invalid model file; Model files must contain 21 planes of a tag name followed by 21 rows of 21 nodes.";
                }
            }
            catch (Exception ex)
            {
                LoggingUtility.LogError(ex, false);
                message = "Error; Creation failed.";
            }

            return(RedirectToAction("Index", new { Message = message }));
        }
        public ActionResult AddDimensionalModelData(AddEditDimensionalModelDataViewModel vModel, HttpPostedFileBase modelFile)
        {
            string message = string.Empty;
            var authedUser = UserManager.FindById(User.Identity.GetUserId());

            try
            {
                if (modelFile.ContentLength == 0)
                    message = "You must post a comma delimited file with the model in it.";

                byte[] bytes = new byte[modelFile.InputStream.Length];
                modelFile.InputStream.Read(bytes, 0, (int)modelFile.InputStream.Length);
                var fileContents = Encoding.UTF8.GetString(bytes);

                var newObj = new DimensionalModelData(fileContents);
                newObj.Name = vModel.NewName;
                newObj.ModelType = vModel.NewModelType;

                if (newObj.IsModelValid())
                {
                    if (newObj.Create() == null)
                        message = "Error; Creation failed.";
                    else
                    {
                        LoggingUtility.LogAdminCommandUsage("*WEB* - AddDimensionalModelData[" + newObj.ID.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                        message = "Creation Successful.";
                    }
                }
                else
                    message = "Invalid model file; Model files must contain 11 planes of a tag name followed by 11 rows of 11 nodes.";
            }
            catch (Exception ex)
            {
                LoggingUtility.LogError(ex);
                message = "Error; Creation failed.";
            }

            return RedirectToAction("ManageDimensionalModelData", new { Message = message });
        }
        public ActionResult Add(AddEditDimensionalModelDataViewModel vModel, HttpPostedFileBase modelFile)
        {
            string message = string.Empty;
            var authedUser = UserManager.FindById(User.Identity.GetUserId());

            try
            {
                DimensionalModelData newModel = null;

                //So we have file OR manual now so file trumps manual
                if (modelFile != null && modelFile.ContentLength > 0)
                {
                    byte[] bytes = new byte[modelFile.InputStream.Length];
                    modelFile.InputStream.Read(bytes, 0, (int)modelFile.InputStream.Length);
                    var fileContents = Encoding.UTF8.GetString(bytes);

                    newModel = new DimensionalModelData(fileContents, vModel.NewModelType);
                }
                else if(vModel.ModelPlaneNames.Count(m => !String.IsNullOrEmpty(m)) == 11
                    && vModel.CoordinateDamageTypes.Any(m => !m.Equals(0))) //can't have an entirely null typed model
                {
                    //We're going to be cheaty and build a cDel string based on the arrays
                    var arrayString = new StringBuilder();

                    var i = 11;
                    foreach(var name in vModel.ModelPlaneNames)
                    {
                        arrayString.AppendLine(
                            String.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}"
                                , name
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 1]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 2]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 3]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 4]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 5]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 6]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 7]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 8]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 9]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 10]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 11]))
                            )
                        );

                        i--;
                    }

                    newModel = new DimensionalModelData(arrayString.ToString(), vModel.NewModelType);
                }
                else
                    message = "You must post a comma delimited file with the model in it or use the manual form.";

                if (newModel != null)
                {
                    newModel.Name = vModel.NewName;

                    if (newModel.IsModelValid())
                    {
                        if (newModel.Create() == null)
                            message = "Error; Creation failed.";
                        else
                        {
                            LoggingUtility.LogAdminCommandUsage("*WEB* - AddDimensionalModelData[" + newModel.ID.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                            message = "Creation Successful.";
                        }
                    }
                    else
                        message = "Invalid model file; Model files must contain 11 planes of a tag name followed by 11 rows of 11 nodes.";
                }
            }
            catch (Exception ex)
            {
                LoggingUtility.LogError(ex);
                message = "Error; Creation failed.";
            }

            return RedirectToAction("Index", new { Message = message });
        }
        public ActionResult Edit(long id, AddEditDimensionalModelDataViewModel vModel)
        {
            string message = string.Empty;
            var authedUser = UserManager.FindById(User.Identity.GetUserId());

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

            try
            {
                DimensionalModelData newModel = null;

                if (vModel.ModelPlaneNames.Count(m => !String.IsNullOrEmpty(m)) == 11
                    && vModel.CoordinateDamageTypes.Any(m => !m.Equals(0))) //can't have an entirely null typed model
                {
                    //We're going to be cheaty and build a cDel string based on the arrays
                    var arrayString = new StringBuilder();

                    var i = 11;
                    foreach (var name in vModel.ModelPlaneNames)
                    {
                        arrayString.AppendLine(
                            String.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}"
                                , name
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 1]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 2]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 3]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 4]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 5]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 6]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 7]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 8]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 9]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 10]))
                                , NetMud.Physics.Render.DamageTypeToCharacter(((DamageType)vModel.CoordinateDamageTypes[i * 11 - 11]))
                            )
                        );

                        i--;
                    }

                    newModel = new DimensionalModelData(arrayString.ToString(), vModel.NewModelType);
                }
                else
                    message = "You must post a comma delimited file with the model in it or use the manual form.";

                if (newModel != null)
                {
                    if (newModel.IsModelValid())
                    {
                        obj.Name = vModel.NewName;
                        obj.ModelType = newModel.ModelType;
                        obj.ModelPlanes = newModel.ModelPlanes;

                        if (obj.Save())
                        {
                            LoggingUtility.LogAdminCommandUsage("*WEB* - EditDimensionalModelData[" + obj.ID.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                            message = "Edit Successful.";
                        }
                        else
                            message = "Error; Edit failed.";
                    }
                    else
                        message = "Invalid model; Models must contain 11 planes of a tag name followed by 11 rows of 11 nodes.";
                }
            }
            catch (Exception ex)
            {
                LoggingUtility.LogError(ex);
                message = "Error; Creation failed.";
            }

            return RedirectToAction("Index", new { Message = message });
        }
        public ActionResult Edit(long id)
        {
            string message = string.Empty;
            var vModel = new AddEditDimensionalModelDataViewModel();
            vModel.authedUser = UserManager.FindById(User.Identity.GetUserId());

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

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

            vModel.DataObject = obj;
            vModel.NewName = obj.Name;
            vModel.NewModelType = obj.ModelType;

            return View("~/Views/GameAdmin/DimensionalModel/Edit.cshtml", vModel);
        }