public TAssociation Apply(IDbValueSet source) { EntityMaterializerAction <TAssociation> action = new EntityMaterializerAction <TAssociation>(source); return(Apply(action)); }
protected override Speciality Execute(Speciality entity, IDbValueSet source) { entity.Id = source.GetValue <long>("Id"); entity.Name = source.GetValue <string>("Name"); return(entity); }
public Link <TAssociation> Apply(IDbValueSet source) { LinkMaterializerAction <TAssociation> action = new LinkMaterializerAction <TAssociation>(source); return(Apply(action)); }
public virtual TEntity Materialize(TEntity entity, IDbValueSet source) { Precondition.Require(entity, () => Error.ArgumentNull("entity")); Precondition.Require(source, () => Error.ArgumentNull("source")); return(Execute(entity, source)); }
public TEntity Deserialize(IDbValueSet source) { Precondition.Require(source, () => Error.ArgumentNull("source")); TEntity instance = CreateInstance(source); return(Deserialize(instance, source)); }
public static IDbValueSet ToDbValueSet(this IValueSet values) { Precondition.Require(values, () => Error.ArgumentNull("values")); IDbValueSet converted = (values as IDbValueSet); return((converted == null) ? new DbValueSet(values) : converted); }
protected override Profile Execute(Profile entity, IDbValueSet source) { entity.FirstName = source.GetValue <string>("FirstName"); entity.LastName = source.GetValue <string>("LastName"); entity.NotificationEmail = source.GetValue <string>("NotificationEmail"); return(entity); }
public Link <TAssociation> Apply <TMaterializer>(IDbValueSet source) where TMaterializer : IDbMaterializer <TAssociation> { LinkMaterializerAction <TAssociation> action = new LinkMaterializerAction <TAssociation, TMaterializer>(source); return(Apply(action)); }
public TAssociation Apply <TMaterializer>(IDbValueSet source) where TMaterializer : IDbMaterializer <TAssociation> { EntityMaterializerAction <TAssociation> action = new EntityMaterializerAction <TAssociation, TMaterializer>(source); return(Apply(action)); }
public IDbValueSet Transform(IDbValueSet source) { if (String.IsNullOrEmpty(_prefix)) return source; int prefixLength = _prefix.Length; return source.Subset(k => k.StartsWith(_prefix)) .Transform(k => k.Substring(prefixLength)); }
public override bool Valid(IDbValueSet source) { Precondition.Require(source, () => Error.ArgumentNull("source")); foreach (string key in Scheme) { if (Object.ReferenceEquals(null, source.GetValue<object>(key))) return false; } return true; }
public EntityMaterializerAction(IDbValueSet source) : base() { Precondition.Require(source, () => Error.ArgumentNull("source")); _source = source; _transformers = new List <IDbValueSetTransformer>(); _validators = new List <IDbValueSetValidator>(); _validators.Add(new NullValueSetValidator()); }
public TEntity Initialize(TEntity entity, IDbValueSet source) { Precondition.Require(source, () => Error.ArgumentNull("source")); if (Object.ReferenceEquals(entity, null)) { return(CreateValue(source)); } return(LoadValue(entity, source)); }
public override bool Valid(IDbValueSet source) { Precondition.Require(source, () => Error.ArgumentNull("source")); foreach (string key in Scheme) { if (Object.ReferenceEquals(null, source.GetValue <object>(key))) { return(false); } } return(true); }
protected virtual bool Validate(IDbValueSet values) { foreach (IDbValueSetValidator validator in Validators) { if (!validator.Valid(values)) { return(false); } } return(true); }
public IDbValueSet Transform(IDbValueSet source) { if (String.IsNullOrEmpty(_prefix)) { return(source); } int prefixLength = _prefix.Length; return(source.Subset(k => k.StartsWith(_prefix)) .Transform(k => k.Substring(prefixLength))); }
public void Initialize(ILink <TEntity> link, IDbValueSet source) { Precondition.Require(link, () => Error.ArgumentNull("link")); Precondition.Require(source, () => Error.ArgumentNull("source")); if (link.HasValue && !Object.ReferenceEquals(link.Value, null)) { LoadLinkValue(link, source); } else { CreateLinkValue(link, source); } }
protected override User Execute(User entity, IDbValueSet source) { entity.Id = source.GetValue <long>("Id"); entity.Email = source.GetValue <string>("Email"); entity.ActivationKey = source.GetValue <string>("ActivationKey"); entity.DateRegistered = source.GetValue <DateTime>("DateRegistered"); entity.DateLastVisited = source.GetValue <DateTime>("DateLastVisited"); Associate(entity.ProfileLink).Subset("Profile.").Apply <ProfileMaterializer>(source); Associate(entity.SpecialityLink).With(() => new SingleSpecialityOperation( source.GetValue <long>("speciality.Id"))).Subset("Speciality.") .Defined("Id").Apply <SpecialityMaterializer>(source); return(entity); }
public override TAssociation Execute(TAssociation entity) { EntityInitializer <TAssociation> initializer = CreateInitializer(); IDbValueSet subset = Source; foreach (IDbValueSetTransformer transformer in Transformers) { subset = transformer.Transform(subset); } if (Validate(subset) && initializer != null) { return(initializer.Initialize(entity, subset)); } return(entity); }
public override ILink <TAssociation> Execute(ILink <TAssociation> link) { LinkValueInitializer <TAssociation> initializer = CreateInitializer(); IDbValueSet subset = Source; foreach (IDbValueSetTransformer transformer in Transformers) { subset = transformer.Transform(subset); } if (Validate(subset) && initializer != null) { initializer.Initialize(link, subset); } return(link); }
private static Comment Deserialize(MetaType type, Comment entity, IDbValueSet source) { MetaMember member; member = type.Members["topic"]; ILink <Topic> attachment_link = (ILink <Topic>)member.Accessor.GetValue(entity); if (attachment_link == null) { attachment_link = new Link <Topic>(); } attachment_link.Source = Materializer.Single((MetaAssociation)member, source).Load; /*if (source.ContainsAny("topic")) * { * IValueSet topicValue = source.GetValue<IValueSet>("topic"); * attachment_link.Value = * }*/ member.Accessor.SetValue(entity, attachment_link); return(entity); }
private TEntity LoadValue(TEntity entity, IDbValueSet source) { Func <TEntity, IDbValueSet, TEntity> action = Loader.Build(MaterializerType); return(action(entity, source)); }
public IDbValueSet Transform(IDbValueSet source) { return source; }
private TEntity CreateValue(IDbValueSet source) { Func <IDbValueSet, TEntity> action = Creator.Build(MaterializerType); return(action(source)); }
protected override Profile CreateInstance(IDbValueSet source) { throw new InvalidOperationException("Instance creation is not supported."); }
public bool Valid(IDbValueSet source) { return source.ContainsAny(); }
protected override Speciality CreateInstance(IDbValueSet source) { return(new Speciality()); }
public static IDbValueSet Transform(this IDbValueSet values, Func <string, string> keyTransformer) { return(ToDbValueSet(ValueSet.Transform(values, keyTransformer))); }
protected override User CreateInstance(IDbValueSet source) { return(new User()); }
protected override TEntity CreateInstance(IDbValueSet source) { return(Activator.CreateInstance <TEntity>()); // possibly IL emit }
protected override TEntity Deserialize(TEntity entity, IDbValueSet source) { return(_deserializer(_metaType, entity, source)); }
public bool Valid(IDbValueSet source) { return(source.ContainsAny()); }
protected override Comment Deserialize(Comment entity, IDbValueSet source) { return(Deserialize(MetaType, entity, source)); }
public virtual bool Valid(IDbValueSet source) { Precondition.Require(source, () => Error.ArgumentNull("source")); return source.ContainsAll(_scheme.ToArray()); }
public IDbValueSet Transform(IDbValueSet source) { return(source); }