/// <summary>
 /// Adds the load data for the analysis case.
 /// This method should be used when adding multiple loads to reduce API calls to the application.
 /// </summary>
 /// <param name="loads">The loads.</param>
 /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
 public void AddLoads(LoadPatternTuples loads)
 {
     if (Loads.AddUnique(loads))
     {
         setLoads();
     }
 }
 /// <summary>
 /// Removes the load data for the analysis case.
 /// This method should be used when removing multiple loads to reduce API calls to the application.
 /// </summary>
 /// <param name="loads">The loads.</param>
 /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
 public void RemoveLoads(LoadPatternTuples loads)
 {
     foreach (var load in loads)
     {
         Loads.Remove(load);
     }
     setLoads();
 }
 public LoadsAppliedHelper(string caseName, ILoadStatic app, LoadPatternTuples loads = null)
 {
     _app     = app;
     CaseName = caseName;
     if (loads == null)
     {
         Loads = new LoadPatternTuples();
     }
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="LoadsAppliedHelper" /> class.
 /// </summary>
 /// <param name="caseName">Name of the case.</param>
 /// <param name="app">The application.</param>
 /// <param name="csiApp">The csi application.</param>
 /// <param name="loadPatterns">The load patterns.</param>
 /// <param name="loads">The loads.</param>
 internal LoadsAppliedHelper(string caseName,
                             ILoadStatic app,
                             ApiCSiApplication csiApp,
                             LoadPatterns loadPatterns,
                             LoadPatternTuples loads = null)
     : base(csiApp)
 {
     _app          = app;
     _loadPatterns = loadPatterns;
     CaseName      = caseName;
     _loads        = loads;
 }
        /// <summary>
        /// Returns the load data for the analysis case.
        /// </summary>
        /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
        public void FillLoads()
        {
            if (_app == null)
            {
                return;
            }
            _app.GetLoads(CaseName,
                          out var loadTypes,
                          out var loadNames,
                          out var scaleFactors);

            _loads = new LoadPatternTuples();
            for (int i = 0; i < loadTypes.Length; i++)
            {
                LoadPatternTuple load = new LoadPatternTuple()
                {
                    Load        = _loadPatterns.FillItem(loadNames[i]),
                    ScaleFactor = scaleFactors[i],
                    LoadType    = loadTypes[i]
                };
                _loads.Add(load);
            }
        }