private UPSEAdditionalItemInformations(UPSerialEntry serialEntry, List <string> configNames, string columnName, Dictionary <string, object> filterParameters, UPSEAdditionalItemInformationsDelegate theDelegate) { List <UPSESingleAdditionalItemInformation> additionalItems = null; foreach (string configName in configNames) { var item = UPSESingleAdditionalItemInformation.Create(serialEntry, configName, columnName, filterParameters, this); if (item != null) { if (additionalItems == null) { additionalItems = new List <UPSESingleAdditionalItemInformation> { item }; } else { additionalItems.Add(item); } } } if (additionalItems == null) { throw new Exception("Additional Items is null"); } this.AdditionalItemArray = additionalItems; this.TheDelegate = theDelegate; }
/// <summary> /// Initializes a new instance of the <see cref="UPSESourceAdditionalColumn"/> class. /// </summary> /// <param name="addInfo">The add information.</param> /// <param name="fieldConfig">The field configuration.</param> /// <param name="index">The index.</param> /// <param name="positionInControl">The position in control.</param> /// <param name="keyColumn">The key column.</param> public UPSESourceAdditionalColumn(UPSESingleAdditionalItemInformation addInfo, UPConfigFieldControlField fieldConfig, int index, int positionInControl, UPSESourceColumn keyColumn) : base(fieldConfig, index, positionInControl) { this.KeyColumn = keyColumn; this.AddInfo = addInfo; }
/// <summary> /// Loads the next. /// </summary> void LoadNext() { if (this.currentLoadIndex < this.AdditionalItemArray.Count) { UPSESingleAdditionalItemInformation item = this.AdditionalItemArray[this.currentLoadIndex++]; item.LoadWithRequestOption(this.requestOption); } else { this.TheDelegate?.AdditionalItemsInformationDidFinishWithResult(this, null); } }
/// <summary> /// Additionals the item information did fail with error. /// </summary> /// <param name="addItem">The add item.</param> /// <param name="error">The error.</param> public void AdditionalItemInformationDidFailWithError(UPSESingleAdditionalItemInformation addItem, Exception error) { this.TheDelegate.AdditionalItemsInformationDidFailWithError(this, error); }
/// <summary> /// Additionals the item information did finish with result. /// </summary> /// <param name="addItem">The add item.</param> /// <param name="result">The result.</param> public void AdditionalItemInformationDidFinishWithResult(UPSESingleAdditionalItemInformation addItem, object result) { this.LoadNext(); }