Пример #1
0
        JProperty ParseValue(MixAttributeSetValues.ReadViewModel item)
        {
            switch (item.DataType)
            {
            case MixEnums.MixDataType.DateTime:
                return(new JProperty(item.AttributeFieldName, item.DateTimeValue));

            case MixEnums.MixDataType.Date:
                return(new JProperty(item.AttributeFieldName, item.DateTimeValue));

            case MixEnums.MixDataType.Time:
                return(new JProperty(item.AttributeFieldName, item.DateTimeValue));

            case MixEnums.MixDataType.Double:
                return(new JProperty(item.AttributeFieldName, item.DoubleValue));

            case MixEnums.MixDataType.Boolean:
                return(new JProperty(item.AttributeFieldName, item.BooleanValue));

            case MixEnums.MixDataType.Number:
                return(new JProperty(item.AttributeFieldName, item.IntegerValue));

            case MixEnums.MixDataType.Reference:
                //string url = $"/api/v1/odata/en-us/related-attribute-set-data/mobile/parent/set/{Id}/{item.Field.ReferenceId}";
                return(new JProperty(item.AttributeFieldName, new JArray()));

            case MixEnums.MixDataType.Custom:
            case MixEnums.MixDataType.Duration:
            case MixEnums.MixDataType.PhoneNumber:
            case MixEnums.MixDataType.Text:
            case MixEnums.MixDataType.Html:
            case MixEnums.MixDataType.MultilineText:
            case MixEnums.MixDataType.EmailAddress:
            case MixEnums.MixDataType.Password:
            case MixEnums.MixDataType.Url:
            case MixEnums.MixDataType.ImageUrl:
            case MixEnums.MixDataType.CreditCard:
            case MixEnums.MixDataType.PostalCode:
            case MixEnums.MixDataType.Upload:
            case MixEnums.MixDataType.Color:
            case MixEnums.MixDataType.Icon:
            case MixEnums.MixDataType.VideoYoutube:
            case MixEnums.MixDataType.TuiEditor:
            default:
                return(new JProperty(item.AttributeFieldName, item.StringValue));
            }
        }
Пример #2
0
        public override void ExpandView(MixCmsContext _context = null, IDbContextTransaction _transaction = null)
        {
            var getValues = MixAttributeSetValues.ReadViewModel
                            .Repository.GetModelListBy(a => a.DataId == Id && a.Specificulture == Specificulture, _context, _transaction);

            if (getValues.IsSucceed)
            {
                Values = getValues.Data.OrderBy(a => a.Priority).ToList();
            }
            else
            {
                Console.WriteLine(getValues.Exception);
            }

            Fields = MixAttributeFields.ReadViewModel.Repository.GetModelListBy(f => f.AttributeSetId == AttributeSetId, _context, _transaction).Data;
            foreach (var field in Fields.OrderBy(f => f.Priority))
            {
                var val = Values.FirstOrDefault(v => v.AttributeFieldId == field.Id);
                if (val == null)
                {
                    val = new MixAttributeSetValues.ReadViewModel(
                        new MixAttributeSetValue()
                    {
                        AttributeFieldId = field.Id
                    }
                        , _context, _transaction)
                    {
                        Field = field,
                        AttributeFieldName = field.Name,
                        StringValue        = field.DefaultValue,
                        Priority           = field.Priority
                    };
                    Values.Add(val);
                }
                val.AttributeSetName = AttributeSetName;
                val.Priority         = field.Priority;
                val.Field            = field;
            }
            ;
        }