Esempio n. 1
0
        public TAssociation Apply(IDbValueSet source)
        {
            EntityMaterializerAction <TAssociation> action =
                new EntityMaterializerAction <TAssociation>(source);

            return(Apply(action));
        }
Esempio n. 2
0
        protected override Speciality Execute(Speciality entity, IDbValueSet source)
        {
            entity.Id   = source.GetValue <long>("Id");
            entity.Name = source.GetValue <string>("Name");

            return(entity);
        }
Esempio n. 3
0
        public Link <TAssociation> Apply(IDbValueSet source)
        {
            LinkMaterializerAction <TAssociation> action =
                new LinkMaterializerAction <TAssociation>(source);

            return(Apply(action));
        }
Esempio n. 4
0
        public virtual TEntity Materialize(TEntity entity, IDbValueSet source)
        {
            Precondition.Require(entity, () => Error.ArgumentNull("entity"));
            Precondition.Require(source, () => Error.ArgumentNull("source"));

            return(Execute(entity, source));
        }
Esempio n. 5
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        public Link <TAssociation> Apply <TMaterializer>(IDbValueSet source)
            where TMaterializer : IDbMaterializer <TAssociation>
        {
            LinkMaterializerAction <TAssociation> action =
                new LinkMaterializerAction <TAssociation, TMaterializer>(source);

            return(Apply(action));
        }
Esempio n. 9
0
        public TAssociation Apply <TMaterializer>(IDbValueSet source)
            where TMaterializer : IDbMaterializer <TAssociation>
        {
            EntityMaterializerAction <TAssociation> action =
                new EntityMaterializerAction <TAssociation, TMaterializer>(source);

            return(Apply(action));
        }
Esempio n. 10
0
		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());
        }
Esempio n. 13
0
        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);
        }
Esempio n. 16
0
        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)));
        }
Esempio n. 17
0
        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);
            }
        }
Esempio n. 18
0
        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);
        }
Esempio n. 21
0
        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);
        }
Esempio n. 22
0
        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;
		}
Esempio n. 24
0
        private TEntity CreateValue(IDbValueSet source)
        {
            Func <IDbValueSet, TEntity> action = Creator.Build(MaterializerType);

            return(action(source));
        }
Esempio n. 25
0
 protected override Profile CreateInstance(IDbValueSet source)
 {
     throw new InvalidOperationException("Instance creation is not supported.");
 }
		public bool Valid(IDbValueSet source)
		{
			return source.ContainsAny();
		}
Esempio n. 27
0
 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)));
 }
Esempio n. 29
0
 protected override User CreateInstance(IDbValueSet source)
 {
     return(new User());
 }
Esempio n. 30
0
 protected override TEntity CreateInstance(IDbValueSet source)
 {
     return(Activator.CreateInstance <TEntity>());               // possibly IL emit
 }
Esempio n. 31
0
 protected override TEntity Deserialize(TEntity entity, IDbValueSet source)
 {
     return(_deserializer(_metaType, entity, source));
 }
Esempio n. 32
0
 public bool Valid(IDbValueSet source)
 {
     return(source.ContainsAny());
 }
Esempio n. 33
0
 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);
 }