/// <summary>
        /// Gets the cases.
        /// </summary>
        /// <param name="app">The application.</param>
        /// <param name="name">The name of the parent load combination.</param>
        /// <param name="caseNames">The case names.</param>
        /// <param name="combinationNames">The combination names.</param>
        public static void GetCaseNameLists(ApiLoadCombination app,
                                            string name,
                                            out List <Tuple <string, double> > caseNames,
                                            out List <Tuple <string, double> > combinationNames)
        {
            caseNames        = new List <Tuple <string, double> >();
            combinationNames = new List <Tuple <string, double> >();
            if (app == null)
            {
                return;
            }

            app.GetCaseList(name,
                            out var caseComboTypes,
                            out var caseComboNames,
                            out var scaleFactors);
            for (int i = 0; i < scaleFactors.Length; i++)
            {
                switch (caseComboTypes[i])
                {
                case eCaseComboType.LoadCase:
                    caseNames.Add(new Tuple <string, double>(caseComboNames[i], scaleFactors[i]));
                    break;

                case eCaseComboType.LoadCombo:
                    combinationNames.Add(new Tuple <string, double>(caseComboNames[i], scaleFactors[i]));
                    break;
                }
            }
        }
        /// <summary>
        /// Adds a new load combination.
        /// The new load combination must have a different name from all other load combinations and all load cases.
        /// If the name is not unique, an error will be returned.
        /// </summary>
        /// <param name="app">The application.</param>
        /// <param name="analyzer">The analyzer.</param>
        /// <param name="loadCases">The load cases.</param>
        /// <param name="loadCombinations">The load combinations.</param>
        /// <param name="uniqueNameLoadCombo">The name of a new load combination.</param>
        /// <param name="comboType">The load combination type to add.</param>
        /// <returns>LoadCombination.</returns>
        /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
        internal static LoadCombination Add(
            ApiCSiApplication app,
            Analyzer analyzer,
            LoadCases loadCases,
            LoadCombinations loadCombinations,
            string uniqueNameLoadCombo,
            eLoadComboType comboType)
        {
            ApiLoadCombination apiLoadCombinations = getApiLoadCombination(app);

            apiLoadCombinations.Add(uniqueNameLoadCombo, comboType);
            return(Factory(app, analyzer, loadCases, loadCombinations, uniqueNameLoadCombo));
        }
 /// <summary>
 /// Gets the name list.
 /// </summary>
 /// <param name="loadCombinations">The load combinations.</param>
 /// <returns>List&lt;System.String&gt;.</returns>
 internal static List <string> GetNameList(ApiLoadCombination loadCombinations)
 {
     return(new List <string>(loadCombinations.GetNameList()));
 }