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); }
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); }
public static IntResult SaveStorageSpaceLevel(StorageSpaceLevel level, List <ResourceGroupInfo> groups) { return(SaveStorageSpaceLevelInternal(level, groups)); }
public IntResult SaveStorageSpaceLevel(StorageSpaceLevel level, List <ResourceGroupInfo> groups) { return(StorageSpacesController.SaveStorageSpaceLevel(level, groups)); }