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;
        }
 public static IntResult SaveStorageSpaceLevel(StorageSpaceLevel level, List<ResourceGroupInfo> groups)
 {
     return SaveStorageSpaceLevelInternal(level, groups);
 }
Esempio n. 3
0
        public static int InsertStorageSpaceLevel(StorageSpaceLevel level)
        {
            SqlParameter id = new SqlParameter("@ID", SqlDbType.Int);
            id.Direction = ParameterDirection.Output;

            SqlHelper.ExecuteNonQuery(
                ConnectionString,
                CommandType.StoredProcedure,
                "InsertStorageSpaceLevel",
                id,
                new SqlParameter("@Name", level.Name),
                new SqlParameter("@Description", level.Description)
            );

            // read identity
            return Convert.ToInt32(id.Value);
        }
 public IntResult SaveStorageSpaceLevel(StorageSpaceLevel level, List<ResourceGroupInfo> groups )
 {
     return StorageSpacesController.SaveStorageSpaceLevel(level, groups);
 }
Esempio n. 5
0
        public static int UpdateStorageSpaceLevel(StorageSpaceLevel level)
        {
            SqlHelper.ExecuteNonQuery(
                ConnectionString,
                CommandType.StoredProcedure,
                "UpdateStorageSpaceLevel",
                new SqlParameter("@ID", level.Id),
                new SqlParameter("@Name", level.Name),
                new SqlParameter("@Description", level.Description)
            );

            return level.Id;
        }
 /// <remarks/>
 public void SaveStorageSpaceLevelAsync(StorageSpaceLevel level, ResourceGroupInfo[] groups, object userState) {
     if ((this.SaveStorageSpaceLevelOperationCompleted == null)) {
         this.SaveStorageSpaceLevelOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSaveStorageSpaceLevelOperationCompleted);
     }
     this.InvokeAsync("SaveStorageSpaceLevel", new object[] {
                 level,
                 groups}, this.SaveStorageSpaceLevelOperationCompleted, userState);
 }
 /// <remarks/>
 public void SaveStorageSpaceLevelAsync(StorageSpaceLevel level, ResourceGroupInfo[] groups) {
     this.SaveStorageSpaceLevelAsync(level, groups, null);
 }
 /// <remarks/>
 public System.IAsyncResult BeginSaveStorageSpaceLevel(StorageSpaceLevel level, ResourceGroupInfo[] groups, System.AsyncCallback callback, object asyncState) {
     return this.BeginInvoke("SaveStorageSpaceLevel", new object[] {
                 level,
                 groups}, callback, asyncState);
 }
 public IntResult SaveStorageSpaceLevel(StorageSpaceLevel level, ResourceGroupInfo[] groups) {
     object[] results = this.Invoke("SaveStorageSpaceLevel", new object[] {
                 level,
                 groups});
     return ((IntResult)(results[0]));
 }