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"); } } } }
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); } }
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 }; } }
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; }