コード例 #1
0
        public override void SubmitChanges(System.Data.Linq.ConflictMode failureMode)
        {
            if (!RestrictToCurrentUserAttributes)
            {
                base.SubmitChanges(failureMode);
                return;
            }

            var permittedUserIds = new List <int>();

            if (Current.LoggedInUser != null)
            {
                permittedUserIds.Add(Current.LoggedInUser.Id);
            }
            if (LiftUserRestrictionsOnId.HasValue)
            {
                permittedUserIds.Add(LiftUserRestrictionsOnId.Value);
            }

            // new inserts on User.Id should be allowed, everything else is an FK where this would be invalid
            permittedUserIds.Add(default(int));

            string error;

            if (!Restrictions.IsValidChangeSet(this, permittedUserIds, out error))
            {
                throw new InvalidOperationException(error);
            }

            base.SubmitChanges(failureMode);
        }
コード例 #2
0
 public override void SubmitChanges(System.Data.Linq.ConflictMode failureMode)
 {
     if (GetChangeSet().Inserts.OfType <MyObject>().Any())
     {
         throw new InvalidOperationException("No inserts!");
     }
     base.SubmitChanges(failureMode);
 }
コード例 #3
0
    public override void SubmitChanges(
        System.Data.Linq.ConflictMode failureMode)
    {
        ChangeSet delta = GetChangeSet();

        foreach (var reservation in delta.Deletes.OfType <Reservation>())
        {
            // etc
        }
        base.SubmitChanges(failureMode);
    }
コード例 #4
0
    partial class DataClasses1DataContext {     // extends the generated data-context
        public override void SubmitChanges(
            System.Data.Linq.ConflictMode failureMode)
        {
            var delta = GetChangeSet();

            foreach (var item in delta.Inserts.OfType <IEntityCheck>())
            {
                if (!item.IsValid())
                {
                    GetTable(item.GetType()).DeleteOnSubmit(item);
                }
            }
            base.SubmitChanges(failureMode);
        }
コード例 #5
0
        public override void SubmitChanges(System.Data.Linq.ConflictMode failureMode)
        {
            bool isValid = RuleManager.Run(this);

            if (!isValid)
            {
                throw new CodeSmith.Data.Rules.BrokenRuleException(RuleManager.BrokenRules);
            }

            PopulateLastAudit();
            BeforeSubmitChanges();
            base.SubmitChanges(failureMode);
            RefreshLastAudit();
            AfterSubmitChanges();
        }
コード例 #6
0
    public override void SubmitChanges(System.Data.Linq.ConflictMode failureMode)
    {
        var set = this.GetChangeSet();    //get a list of all pending changes

        foreach (var item in set.Inserts)
        {
            AddLog(item, LogType.Add);
        }
        foreach (var item in set.Updates)
        {
            AddLog(item, LogType.Edit);
        }
        foreach (var item in set.Deletes)
        {
            AddLog(item, LogType.Delete);
        }

        base.SubmitChanges(failureMode);    //allow the DataContext to perform it's default work (including your new log changes)
    }
コード例 #7
0
 public override void SubmitChanges(System.Data.Linq.ConflictMode failureMode)
 {
     this.MakeUpdatesDirty("UpdatedBy", "Updated_By");
     base.SubmitChanges(failureMode);
 }
コード例 #8
0
    public override void SubmitChanges(System.Data.Linq.ConflictMode failureMode)
    {
        //catch error logic here...

        base.SubmitChanges(failureMode);
    }