Example #1
0
        private static IntResult SaveStorageSpaceLevelInternal(StorageSpaceLevel level, List <ResourceGroupInfo> groups)
        {
            var result = TaskManager.StartResultTask <IntResult>("STORAGE_SPACES", "SAVE_STORAGE_SPACE_LEVEL");

            try
            {
                if (level == null)
                {
                    throw new ArgumentNullException("level");
                }

                if (level.Id > 0)
                {
                    DataProvider.UpdateStorageSpaceLevel(level);

                    TaskManager.Write("Updating Storage Space Level with id = {0}",
                                      level.Id.ToString(CultureInfo.InvariantCulture));

                    result.Value = level.Id;
                }
                else
                {
                    result.Value = DataProvider.InsertStorageSpaceLevel(level);
                    TaskManager.Write("Inserting new Storage Space Level, obtained id = {0}",
                                      level.Id.ToString(CultureInfo.InvariantCulture));

                    level.Id = result.Value;
                }

                var resultGroup = SaveLevelResourceGroups(result.Value, groups);

                if (!resultGroup.IsSuccess)
                {
                    throw new Exception("Error saving resource groups");
                }
            }
            catch (Exception exception)
            {
                TaskManager.WriteError(exception);
                result.AddError("Error saving Storage Space Level", exception);
            }
            finally
            {
                if (!result.IsSuccess)
                {
                    TaskManager.CompleteResultTask(result);
                }
                else
                {
                    TaskManager.CompleteResultTask();
                }
            }

            return(result);
        }
Example #2
0
        private bool SaveSsLevel(out int levelId, bool exit = false)
        {
            StorageSpaceLevel level = ES.Services.StorageSpaces.GetStorageSpaceLevelById(PanelRequest.SsLevelId)
                                      ?? new StorageSpaceLevel();
            var groups = resourceGroups.GetResourceGroups();

            level.Id          = PanelRequest.SsLevelId;
            level.Name        = txtName.Text;
            level.Description = txtDescription.Text;

            var result = ES.Services.StorageSpaces.SaveStorageSpaceLevel(level, groups);

            levelId = result.Value;

            messageBox.ShowMessage(result, "STORAGE_SPACE_LEVEL_SAVE", null);

            if (!exit)
            {
                resourceGroups.SetResourceGroups(groups);
            }


            return(result.IsSuccess);
        }
Example #3
0
 public static IntResult SaveStorageSpaceLevel(StorageSpaceLevel level, List <ResourceGroupInfo> groups)
 {
     return(SaveStorageSpaceLevelInternal(level, groups));
 }
Example #4
0
 public IntResult SaveStorageSpaceLevel(StorageSpaceLevel level, List <ResourceGroupInfo> groups)
 {
     return(StorageSpacesController.SaveStorageSpaceLevel(level, groups));
 }