Exemple #1
0
 public override void Validate(MixCmsContext _context, IDbContextTransaction _transaction)
 {
     base.Validate(_context, _transaction);
     Field = Field ?? MixAttributeFields.UpdateViewModel.Repository.GetSingleModel(f => f.Id == AttributeFieldId, _context, _transaction).Data;
     if (IsValid)
     {
         if (Field.IsRequire)
         {
             IsValid = IsValid && !string.IsNullOrEmpty(StringValue);
             if (!IsValid)
             {
                 Errors.Add($"{Field.Title} is required");
             }
         }
         // validate unique
         if (Field.IsUnique)
         {
             IsValid = IsValid && Repository.Count(
                 f => f.AttributeFieldId == AttributeFieldId && f.Id != Id &&
                 f.StringValue == StringValue && f.Specificulture == Specificulture, _context, _transaction)
                       .Data == 0;
             if (!IsValid)
             {
                 Errors.Add($"{Field.Title} is existed");
             }
         }
     }
 }
Exemple #2
0
        public override void ExpandView(MixCmsContext _context = null, IDbContextTransaction _transaction = null)
        {
            if (string.IsNullOrEmpty(Id))
            {
                Status = Status == default ? Enum.Parse <MixEnums.MixContentStatus>(MixService.GetConfig <string>
                                                                                        (MixAppSettingKeywords.DefaultContentStatus)) : Status;
            }

            if (AttributeFieldId > 0)
            {
                Field = MixAttributeFields.UpdateViewModel.Repository.GetSingleModel(
                    f => f.Id == AttributeFieldId
                    , _context, _transaction).Data;
                if (Field != null && DataType == MixEnums.MixDataType.Reference)
                {
                    AttributeSetName = _context.MixAttributeSet.FirstOrDefault(m => m.Id == Field.ReferenceId)?.Name;
                }
            }
            else // additional field for page / post / module => id = 0
            {
                Field = new MixAttributeFields.UpdateViewModel()
                {
                    DataType = DataType,
                    Title    = AttributeFieldName,
                    Name     = AttributeFieldName,
                    Priority = Priority
                };
            }

            if (string.IsNullOrEmpty(Id) && Field != null)
            {
                ParseDefaultValue(Field.DefaultValue);
            }
        }
Exemple #3
0
 public override void ExpandView(MixCmsContext _context = null, IDbContextTransaction _transaction = null)
 {
     if (AttributeFieldId > 0)
     {
         Field = MixAttributeFields.UpdateViewModel.Repository.GetSingleModel(f => f.Id == AttributeFieldId).Data;
         if (Field != null && DataType == MixEnums.MixDataType.Reference)
         {
             AttributeSetName = _context.MixAttributeSet.FirstOrDefault(m => m.Id == Field.ReferenceId)?.Name;
         }
     }
     else // addictional field for page / post / module => id = 0
     {
         Field = new MixAttributeFields.UpdateViewModel()
         {
             DataType = DataType,
             Title    = AttributeFieldName,
             Name     = AttributeFieldName,
             Priority = Priority
         };
     }
 }
Exemple #4
0
 public override void ExpandView(MixCmsContext _context = null, IDbContextTransaction _transaction = null)
 {
     Field    = MixAttributeFields.UpdateViewModel.Repository.GetSingleModel(f => f.Id == AttributeFieldId, _context, _transaction).Data;
     Priority = Field.Priority;
 }