nHydrate.Dsl.nHydrateDiagram.FieldAdded C# (CSharp) Method

FieldAdded() private method

private FieldAdded ( object sender, Microsoft e ) : void
sender object
e Microsoft
return void
        private void FieldAdded(object sender, Microsoft.VisualStudio.Modeling.ElementAddedEventArgs e)
        {
            var field = e.ModelElement as Field;
            if (field.Entity == null) return;
            if (field.Entity.nHydrateModel == null) return;

            if (!field.Entity.nHydrateModel.IsLoading && field.SortOrder == 0)
            {
                var maxSortOrder = 1;
                if (field.Entity.Fields.Count > 0)
                    maxSortOrder = field.Entity.Fields.Max(x => x.SortOrder);

                using (var transaction = this.Store.TransactionManager.BeginTransaction(Guid.NewGuid().ToString()))
                {
                    field.SortOrder = ++maxSortOrder;
                    transaction.Commit();
                }
            }
        }