/// <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);
        }
示例#2
0
        /// <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;
        }
示例#3
0
        /// <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);
        }