Esempio n. 1
0
        protected override void FillIn(PlanPart parent, UpdateContext context)
        {
            ParentTable = parent.Table;
            ParentElementName = parent.ElementName;

            if (String.IsNullOrEmpty(ForeignKey)) ForeignKey = ElementName + Table.PrimaryKey.Name;
        }
 public void Update(IMetabase metabase, PlanFile plans)
 {
     var updateContext = new UpdateContext {Instructions = this, Metabase = metabase};
     var plan = plans.Plan(ExtractName);
     ExtractName = plan.Name;
     Plan = plan.GetPlan(updateContext);
 }
Esempio n. 3
0
 protected override void FillIn(PlanPart parent, UpdateContext context)
 {
     base.FillIn(parent, context);
     ExtractName = context.Instructions.ExtractName;
     IdsToExtract = context.Instructions.IdsToExtract;
     DiscriminatorColumn = Table.Columns.FirstOrDefault(x => x.IsNamed(Discriminator))
         ?? Table.PrimaryKey;
 }
Esempio n. 4
0
        public PlanPart GetPlan(UpdateContext updateContext)
        {
            var parts = PlanPart.Parse(Segments);
            foreach (var part in parts)
                part.Update(null, updateContext);

            if (parts.Count() > 1)
            {
                Console.WriteLine("Multi-part plans aren't supported (Yet!)");
            }

            return parts.FirstOrDefault();
        }
Esempio n. 5
0
        protected override void FillIn(PlanPart parent, UpdateContext context)
        {
            base.FillIn(parent, context);

            if (String.IsNullOrEmpty(LookupColumn))
                LookupColumn = new[] { "Code", "Name"}.FirstOrDefault(x => Columns.Any(y => y.IsNamed(x)));

            if(String.IsNullOrWhiteSpace(LookupColumn))
            {
                throw new Exception("No columns specified for lookup!");
            }

            var lookups = Regex.Split(LookupColumn, @"\s").Select(x => x.Trim()).ToArray();
            var ignored = Columns.Where(x => lookups.All(y => x.IsNamed(y) == false));

            Ignore(ignored.ToArray());
            parent.Ignore(ForeignKey);
        }
Esempio n. 6
0
        protected override void FillIn(PlanPart parent, UpdateContext context)
        {
            base.FillIn(parent, context);

            parent.Ignore(ForeignKey);
        }
Esempio n. 7
0
 protected virtual void FillIn(PlanPart parent, UpdateContext context)
 {
 }
Esempio n. 8
0
 public void Update(PlanPart parent, UpdateContext context)
 {
     //Console.WriteLine("Updating {0}", TableName);
     Table = context.Metabase.Table(TableName);
     Columns = Table.Columns;
     Ignore(Columns.Where(x => x.Insertable() ==false).Select(x => x.Name).ToArray());
     Ignore(Table.PrimaryKey);
     FillIn(parent, context);
     foreach (var child in Children)
         child.Update(this, context);
 }
Esempio n. 9
0
 protected override void FillIn(PlanPart parent, UpdateContext context)
 {
     if (String.IsNullOrWhiteSpace(ForeignKey)) ForeignKey = parent.Table.Name + parent.Table.PrimaryKey.Name;
     Ignore(ForeignKey);
     base.FillIn(parent, context);
 }
Esempio n. 10
0
 protected virtual void FillIn(PlanPart parent, UpdateContext context)
 {
 }