Ejemplo n.º 1
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 }));
        }