/// <summary> /// Creates the specified definition. /// </summary> /// <param name="definition">The definition.</param> /// <param name="serialEntry">The serial entry.</param> /// <returns></returns> public static UPSerialEntrySourceRowInfo Create(Dictionary <string, string> definition, UPSerialEntry serialEntry) { string name = definition.ValueOrDefault("name"); if (name == null) { return(null); } var newObj = new UPSerialEntrySourceRowInfo(name, serialEntry); newObj.VerticalRows = false; string configName = definition.ValueOrDefault("configName") ?? name; string parameters = definition.ValueOrDefault("maxResults"); newObj.MaxResults = !string.IsNullOrEmpty(parameters) ? Convert.ToInt32(parameters) : 10; newObj.IgnoreSourceRecord = Convert.ToInt32(definition.ValueOrDefault("NoLink")) != 0; IConfigurationUnitStore configStore = ConfigurationUnitStore.DefaultStore; newObj.SearchAndList = configStore.SearchAndListByName(configName); if (newObj.SearchAndList == null) { return(null); } newObj.FieldControl = configStore.FieldControlByNameFromGroup("List", newObj.SearchAndList.FieldGroupName); if (newObj.FieldControl == null) { return(null); } if (!string.IsNullOrEmpty(newObj.SearchAndList.FilterName)) { newObj.Filter = configStore.FilterByName(newObj.SearchAndList.FilterName); if (!string.IsNullOrEmpty(newObj.Filter?.DisplayName)) { newObj.Label = newObj.Filter.DisplayName; } } List <string> columnNameArray = new List <string>(); List <UPConfigFieldControlField> columnDefArray = new List <UPConfigFieldControlField>(); foreach (FieldControlTab tab in newObj.FieldControl.Tabs) { foreach (UPConfigFieldControlField field in tab.Fields) { columnDefArray.Add(field); columnNameArray.Add(field.Label); } } newObj.ColumnDefs = columnDefArray; newObj.ColumnNames = columnNameArray; return(newObj); }
/// <summary> /// Initializes a new instance of the <see cref="UPSerialEntryInfoResultFromCRMResult"/> class. /// </summary> /// <param name="result">The result.</param> /// <param name="info">The information.</param> public UPSerialEntryInfoResultFromCRMResult(UPCRMResult result, UPSerialEntrySourceRowInfo info) : base(info) { List <UPSerialEntryInfoRowFromCRMResultRow> rowArray = new List <UPSerialEntryInfoRowFromCRMResultRow>(); int count = result.RowCount; if (count > info.MaxResults) { count = info.MaxResults; } for (int i = 0; i < count; i++) { UPSerialEntryInfoRowFromCRMResultRow row = new UPSerialEntryInfoRowFromCRMResultRow((UPCRMResultRow)result.ResultRowAtIndex(i), this); rowArray.Add(row); } this.Rows = rowArray; }
/// <summary> /// Serials the entry information from definition serial entry. /// </summary> /// <param name="definition">The definition.</param> /// <param name="serialEntry">The serial entry.</param> /// <returns></returns> public static UPSerialEntryInfo SerialEntryInfoFromDefinitionSerialEntry(Dictionary <string, string> definition, UPSerialEntry serialEntry) { string name = definition["name"]; UPSerialEntryInfo serialEntryInfo = null; if (name == "Pricing") { //serialEntryInfo = new UPSerialEntryPricingInfo(definition, serialEntry); } else { serialEntryInfo = UPSerialEntrySourceRowInfo.Create(definition, serialEntry); } string verticalLayoutString = definition.ValueOrDefault("verticalRows"); if (!string.IsNullOrEmpty(verticalLayoutString)) { serialEntryInfo.VerticalRows = Convert.ToBoolean(verticalLayoutString); } return(serialEntryInfo); }