/// <summary>
        /// Fields the information for information area field identifier.
        /// </summary>
        /// <param name="infoAreaId">
        /// The information area identifier.
        /// </param>
        /// <param name="fieldId">
        /// The field identifier.
        /// </param>
        /// <returns>
        /// The <see cref="UPCRMFieldInfo"/>.
        /// </returns>
        public UPCRMFieldInfo FieldInfoForInfoAreaFieldId(string infoAreaId, int fieldId)
        {
            if (infoAreaId == null || fieldId < 0)
            {
                return(null);
            }

            return(UPCRMFieldInfo.Create(fieldId, infoAreaId, this));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="UPCatalogValueLoaderWithFixedParent"/> class.
        /// </summary>
        /// <param name="fieldInfo">
        /// The field information.
        /// </param>
        /// <param name="parentValue">
        /// The parent value.
        /// </param>
        public UPCatalogValueLoaderWithFixedParent(UPCRMFieldInfo fieldInfo, string parentValue)
            : base(fieldInfo)
        {
            if (fieldInfo.FieldType != "K" || fieldInfo.ParentCatalogFieldId < 0)
            {
                return;
            }

            this.ParentValue = parentValue;
        }
        private static UPMFilter GetUPMDistanceFilter(FieldIdentifier identifier, UPCRMFieldInfo fieldInfo)
        {
            var distanceFilter = new UPMDistanceFilter(identifier)
            {
                ParameterName = fieldInfo.Label,
                Radius        = 0
            };

            return(distanceFilter);
        }
        private static UPMFilter GetRepFilter(FieldIdentifier identifier, UPCRMFieldInfo fieldInfo)
        {
            var repType   = UPCRMReps.RepTypeFromString(fieldInfo.RepType);
            var repFilter = new UPMRepFilter(identifier)
            {
                RepContaner = UPRepsService.CreateRepContainerForRepType(repType)
            };

            return(repFilter);
        }
        private static void CreateEditFields(UPCRMFieldInfo fieldInfo, bool rangFilter, string type, out UPMEditField editField, out UPMEditField secondEditField)
        {
            editField       = null;
            secondEditField = null;
            switch (type)
            {
            case "F" when fieldInfo.PercentField:
                editField = new UPMPercentEditField(StringIdentifier.IdentifierWithStringId("percentParam"));
                if (rangFilter)
                {
                    secondEditField = new UPMPercentEditField(StringIdentifier.IdentifierWithStringId("percentParam2"));
                }

                break;

            case "F":
                editField = new UPMFloatEditField(StringIdentifier.IdentifierWithStringId("floatParam"));
                if (rangFilter)
                {
                    secondEditField = new UPMFloatEditField(StringIdentifier.IdentifierWithStringId("floatParam2"));
                }

                break;

            case "C":
                editField = new UPMStringEditField(StringIdentifier.IdentifierWithStringId("stringParam"));
                if (rangFilter)
                {
                    secondEditField = new UPMStringEditField(StringIdentifier.IdentifierWithStringId("stringParam2"));
                }

                break;

            case "B":
                editField = new UPMBooleanEditField(StringIdentifier.IdentifierWithStringId("booleanParam"));
                break;

            default:
                editField = new UPMIntegerEditField(StringIdentifier.IdentifierWithStringId("intParam"));
                if (rangFilter)
                {
                    secondEditField = new UPMIntegerEditField(StringIdentifier.IdentifierWithStringId("intParam2"));
                }

                break;
            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="UPCatalogValueLoader"/> class.
        /// </summary>
        /// <param name="fieldInfo">
        /// The _field information.
        /// </param>
        public UPCatalogValueLoader(UPCRMFieldInfo fieldInfo)
            : base(fieldInfo)
        {
            if (fieldInfo.FieldType == "K")
            {
                this.variableCatalog  = true;
                this.dependentCatalog = fieldInfo.ParentCatalogFieldId >= 0;
                this.catalog          = UPCRMDataStore.DefaultStore.CatalogForVariableCatalogId(fieldInfo.CatNo);
            }
            else if (fieldInfo.FieldType != "X")
            {
                return;
            }
            else
            {
                this.catalog         = UPCRMDataStore.DefaultStore.CatalogForFixedCatalogId(fieldInfo.CatNo);
                this.variableCatalog = false;
            }

            this.includeHidden = !ConfigurationUnitStore.DefaultStore.ConfigValueIsSet("Catalog.HideLockedInFilters");
            if (this.catalog == null)
            {
            }
        }
Example #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UPCatalogValueLoaderBase"/> class.
 /// </summary>
 /// <param name="fieldInfo">
 /// The field information.
 /// </param>
 public UPCatalogValueLoaderBase(UPCRMFieldInfo fieldInfo)
 {
     this.FieldInfo = fieldInfo;
 }
        /// <summary>
        /// Convert method
        /// </summary>
        /// <param name="rawValue">value</param>
        /// <param name="fieldType">field type</param>
        /// <param name="options">options</param>
        /// <param name="configField">config field</param>
        /// <param name="field">field</param>
        /// <param name="fieldInfo">field info</param>
        /// <returns>string</returns>
        public static string Convert(
            string rawValue,
            char fieldType,
            UPFormatOption options,
            UPConfigFieldControlField configField,
            UPCRMFieldInfo field,
            FieldInfo fieldInfo)
        {
            var convertedValue = string.Empty;

            // CLIENT-207 ( Value coming from database always in en culture so first convert to decimal with en)
            if (decimal.TryParse(rawValue, NumberStyles.Number, new CultureInfo("en"), out var numericValue))
            {
                if (IsPercentageField(field, configField))
                {
                    numericValue *= 100;
                }

                switch (fieldType)
                {
                case 'L':
                case 'S':
                {
                    if (!string.IsNullOrWhiteSpace(field.RepType))
                    {
                        int intValue;
                        var repName = UPCRMDataStore.DefaultStore.Reps.NameOfRepIdString(rawValue);
                        if (!string.IsNullOrWhiteSpace(repName))
                        {
                            return(repName);
                        }
                        else if (int.TryParse(rawValue, out intValue) && intValue == 0)
                        {
                            return(string.Empty);
                        }
                        else
                        {
                            return(rawValue);
                        }
                    }

                    if (string.IsNullOrWhiteSpace(rawValue) && (options == UPFormatOption.Show0))
                    {
                        convertedValue = "0";
                    }
                    else if (!field.ShowZero && field.IsEmptyValue(rawValue))
                    {
                        convertedValue = string.Empty;
                    }
                    else
                    {
                        convertedValue = numericValue.ToString("N0");
                    }

                    break;
                }

                case 'F':
                {
                    if (!field.ShowZero && numericValue == 0)
                    {
                        convertedValue = string.Empty;
                    }
                    else if (field.OneDecimalDigit)
                    {
                        convertedValue = $"{numericValue:N1}";
                    }
                    else if (field.NoDecimalDigits)
                    {
                        convertedValue = $"{numericValue:N0}";
                    }
                    else if (field.ThreeDecimalDigits)
                    {
                        convertedValue = $"{numericValue:N3}";
                    }
                    else if (field.FourDecimalDigits)
                    {
                        convertedValue = $"{numericValue:N4}";
                    }
                    else if (int.TryParse(configField?.Attributes.RenderHooksForKey("DecimalDigits"), out var digits))
                    {
                        convertedValue = numericValue.ToString($"N{digits}");
                    }
                    else
                    {
                        convertedValue = $"{numericValue:N}";
                    }

                    if (options != UPFormatOption.Report && fieldInfo.IsAmount)
                    {
                        convertedValue = $"{numericValue:N},-";
                    }

                    break;
                }
                }

                if (configField?.Attributes.RenderHooksForKey("GroupingSeparator") == false.ToString().ToLower())
                {
                    convertedValue = convertedValue.Replace(CultureInfo.CurrentUICulture.NumberFormat.NumberGroupSeparator, string.Empty);
                }

                if (IsPercentageField(field, configField) && !string.IsNullOrWhiteSpace(convertedValue))
                {
                    if (options != UPFormatOption.Report)
                    {
                        convertedValue = $"{convertedValue}%";
                    }
                }
            }

            return(convertedValue);
        }
 private static bool IsPercentageField(UPCRMFieldInfo field, UPConfigFieldControlField configField)
 {
     return(field.PercentField || configField?.Attributes.RenderHooksForKey(nameof(field.PercentField)) ==
            true.ToString().ToLower());
 }
Example #10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UPRepValueLoader"/> class.
 /// </summary>
 /// <param name="fieldInfo">
 /// The field information.
 /// </param>
 public UPRepValueLoader(UPCRMFieldInfo fieldInfo)
     : base(fieldInfo)
 {
 }
 /// <summary>
 /// Fields the information for field.
 /// </summary>
 /// <param name="field">
 /// The field.
 /// </param>
 /// <returns>
 /// The <see cref="UPCRMFieldInfo"/>.
 /// </returns>
 public UPCRMFieldInfo FieldInfoForField(UPCRMField field)
 {
     return(UPCRMFieldInfo.Create(field, this));
 }
        private static UPMFilter GetCatalogFilter(UPConfigFilterParameter parameter, FieldIdentifier identifier, UPCRMFieldInfo fieldInfo)
        {
            var catalogValueProvider = parameter.CatalogValueProvider();
            var catalogFilter        = new UPMCatalogFilter(identifier, catalogValueProvider)
            {
                ParameterName = fieldInfo.Label
            };
            var filter = catalogFilter;

            if (catalogValueProvider.IsEmptyValue("0"))
            {
                catalogFilter.NullValueKey = "0";
            }

            return(filter);
        }
        private static UPMFilter GetDateFilter(UPConfigFilterParameters parameters, FieldIdentifier identifier, UPCRMFieldInfo fieldInfo)
        {
            var dateFilter = new UPMDateFilter(identifier)
            {
                ParameterName = fieldInfo.Label
            };

            if (parameters.NumberOfParameters > 1)
            {
                dateFilter.ParameterName       = LocalizedString.TextFrom;
                dateFilter.SecondParameterName = LocalizedString.TextTo;
            }

            return(dateFilter);
        }
        private static UPMFilter GetEditFieldFilter(UPConfigFilterParameters parameters, FieldIdentifier identifier, UPCRMFieldInfo fieldInfo, string type)
        {
            var editFieldFilter = new UPMEditFieldFilter(identifier);
            var rangFilter      = parameters.NumberOfParameters > 1;

            if (rangFilter)
            {
                editFieldFilter.ParameterName       = LocalizedString.TextFrom;
                editFieldFilter.SecondParameterName = LocalizedString.TextTo;
            }

            CreateEditFields(fieldInfo, rangFilter, type, out var editField, out var secondEditField);

            if (!rangFilter)
            {
                editField.LabelText = fieldInfo.Label;
            }

            editFieldFilter.Editfield       = editField;
            editFieldFilter.SecondEditfield = secondEditField;
            return(editFieldFilter);
        }