/// <summary> /// Adds capacity relative fields. /// </summary> /// <param name="capacityInfos">Capacities informations.</param> /// <param name="info">Field information with data settings.</param> private void _AddCapacityRelativeFields(CapacitiesInfo capacityInfos, FieldInfo info) { for (int index = 0; index < capacityInfos.Count; ++index) { FieldInfo infoRealtion = (FieldInfo)info.Clone(); CapacityInfo capacityInfo = capacityInfos[index]; _UpdateInfoWithInfoName(capacityInfo.Name, info, ref infoRealtion); // format description if (!string.IsNullOrEmpty(infoRealtion.Description)) { if ((infoRealtion.Description == Properties.Resources.ExportFieldDescriptionCapacity) || (infoRealtion.Description == Properties.Resources.ExportFieldDescriptionRelativeCapacity)) { infoRealtion.Description = _FormatCapacityDescription(capacityInfo, infoRealtion.Description); } else if (infoRealtion.Description == Properties.Resources.ExportFieldDescriptionTotal) { infoRealtion.Description = _FormatCapacityDescriptionTotal(capacityInfo, infoRealtion.Description); } else if (infoRealtion.Description == Properties.Resources.ExportFieldDescriptionUtilization) { infoRealtion.Description = _FormatCapacityDescriptionUtilization(capacityInfo, infoRealtion.Description); } // else Do nothing - use without modification } Debug.Assert(!string.IsNullOrEmpty(infoRealtion.Name)); _fieldsMap.Add(infoRealtion.Name, infoRealtion); } }
/// <summary> /// Adds custom order property relative fields. /// </summary> /// <param name="orderCustomPropertyInfos">Order custom order properties info information.</param> /// <param name="info">Field information with data settings.</param> private void _AddCustomOrderPropertyRelativeFields( OrderCustomPropertiesInfo orderCustomPropertyInfos, FieldInfo info) { for (int index = 0; index < orderCustomPropertyInfos.Count; ++index) { FieldInfo infoRealtion = (FieldInfo)info.Clone(); OrderCustomProperty prorety = orderCustomPropertyInfos[index]; _UpdateInfoWithInfoName(prorety.Name, info, ref infoRealtion); infoRealtion.Description = prorety.Description; Debug.Assert(!string.IsNullOrEmpty(infoRealtion.Name)); // NOTE: special issue // support numeric custom order propertiy - need change type description if (orderCustomPropertyInfos[index].Type == OrderCustomPropertyType.Numeric) { infoRealtion.Type = OleDbType.Double; infoRealtion.Size = 0; infoRealtion.Scale = 2; infoRealtion.Precision = 14; } _fieldsMap.Add(infoRealtion.Name, infoRealtion); } }
/// <summary> /// Add address relative fields. /// </summary> /// <param name="addressFields">Address fields.</param> /// <param name="info">Field information with data settings.</param> private void _AddAddressRelativeFields(AddressField[] addressFields, FieldInfo info) { for (int index = 0; index < addressFields.Length; ++index) { AddressField adress = addressFields[index]; FieldInfo infoRealtion = (FieldInfo)info.Clone(); infoRealtion.Name = infoRealtion.LongName = adress.Title; infoRealtion.ShortName = (SHORT_NAME_LENGTH < infoRealtion.LongName.Length) ? infoRealtion.LongName.Substring(0, SHORT_NAME_LENGTH) : infoRealtion.LongName; infoRealtion.NameFormat = adress.Type.ToString(); Debug.Assert(string.IsNullOrEmpty(infoRealtion.Description)); if (string.IsNullOrEmpty(infoRealtion.Description)) infoRealtion.Description = adress.Description; Debug.Assert(!string.IsNullOrEmpty(infoRealtion.Name)); _fieldsMap.Add(infoRealtion.Name, infoRealtion); } }