예제 #1
0
        public int Insert(ParamInsert param)
        {
            var result = 0;

            Logger("增加记录", () =>
            {
                using (var dbContext = db.UseTransaction(true))
                {
                    var rtnBefore = this.OnBeforeInsert(new InsertEventArgs()
                    {
                        db = dbContext, data = param.GetData()
                    });
                    if (!rtnBefore)
                    {
                        return;
                    }

                    var identity = ModelBase.GetAttributeFields <T, IdentityAttribute>();
                    result       = identity.Count > 0 ? db.Sql(BuilderParse(param)).ExecuteReturnLastId <int>() : db.Sql(BuilderParse(param)).Execute();

                    Msg.Set(MsgType.Success, APP.MSG_INSERT_SUCCESS);
                    this.OnAfterInsert(new InsertEventArgs()
                    {
                        db = dbContext, data = param.GetData(), executeValue = result
                    });
                    dbContext.Commit();
                }
            });
            return(result);
        }
예제 #2
0
        public int Insert(ParamInsert param)
        {
            var result = 0;

            Logger("增加记录", () =>
            {
                db.UseTransaction(true);
                var rtnBefore = this.OnBeforeInsert(new InsertEventArgs()
                {
                    db = db, data = param.GetData()
                });
                if (!rtnBefore)
                {
                    return;
                }

                var Identity = ModelBase.GetAttributeFields <T, IdentityAttribute>();
                result       = Identity.Count > 0 ? BuilderParse(param).ExecuteReturnLastId <int>() : BuilderParse(param).Execute();

                this.OnAfterInsert(new InsertEventArgs()
                {
                    db = db, data = param.GetData(), executeValue = result
                });
                db.Commit();
            });
            return(result);
        }