示例#1
0
        //---------------保存CRMActionUser---------------------------
        public CRMActionUser Save(CRMActionUser entity)
        {
            if (this.dataCtx.Connection != null)
            {
                if (this.dataCtx.Connection.State == ConnectionState.Closed)
                {
                    this.dataCtx.Connection.Open();
                }
            }
            DbTransaction tran = this.dataCtx.Connection.BeginTransaction();

            dataCtx.Transaction = tran;

            try
            {
                var qry = from t in CRMActionUsers
                          where t.ID == entity.ID
                          select t;
                var obj = qry.SingleOrDefault();
                if (obj != null)
                {
                    this.CopyEntity(obj, entity);
                }
                else
                {
                    this.CRMActionUsers.InsertOnSubmit(entity);
                }

                this.dataCtx.SubmitChanges();
                tran.Commit();
                return(entity);
            }
            catch (Exception ex)
            {
                tran.Rollback();
                throw ex;
            }
            finally
            {
                dataCtx.Connection.Close();
            }
        }
示例#2
0
        public CRMAction Save(CRMAction entity, IList <CRMUser> UserList)
        {
            if (this.dataCtx.Connection != null)
            {
                if (this.dataCtx.Connection.State == ConnectionState.Closed)
                {
                    this.dataCtx.Connection.Open();
                }
            }
            DbTransaction tran = this.dataCtx.Connection.BeginTransaction();

            dataCtx.Transaction = tran;

            try
            {
                var qry = from t in CRMActions
                          where t.ACTID == entity.ACTID
                          select t;
                var obj = qry.SingleOrDefault();
                if (obj != null)
                {
                    this.CopyEntity(obj, entity);
                }
                else
                {
                    this.CRMActions.InsertOnSubmit(entity);
                }

                this.dataCtx.SubmitChanges();

                //delete Action relationship with User
                var qryDel = from t in CRMActionUsers
                             where t.ACTID == entity.ACTID
                             select t;
                foreach (var item in qryDel.ToList())
                {
                    this.CRMActionUsers.DeleteOnSubmit(item);
                }
                //add new
                foreach (var user in UserList)
                {
                    var p = new CRMActionUser();
                    p.ACTID   = entity.ACTID;
                    p.ACTUser = user.UserID;
                    this.CRMActionUsers.InsertOnSubmit(p);
                }

                this.dataCtx.SubmitChanges();

                tran.Commit();
                return(entity);
            }
            catch (Exception ex)
            {
                tran.Rollback();
                throw ex;
            }
            finally
            {
                dataCtx.Connection.Close();
            }
        }
示例#3
0
        //---------------保存CRMActionUser---------------------------
        public CRMActionUser Save(CRMActionUser entity)
        {
            if (this.dataCtx.Connection != null)
                if (this.dataCtx.Connection.State == ConnectionState.Closed)
                    this.dataCtx.Connection.Open();
            DbTransaction tran = this.dataCtx.Connection.BeginTransaction();
            dataCtx.Transaction = tran;

            try
            {
                var qry = from t in CRMActionUsers
                          where t.ID == entity.ID
                          select t;
                var obj = qry.SingleOrDefault();
                if (obj != null)
                    this.CopyEntity(obj, entity);
                else
                    this.CRMActionUsers.InsertOnSubmit(entity);

                this.dataCtx.SubmitChanges();
                tran.Commit();
                return entity;
            }
            catch (Exception ex)
            {
                tran.Rollback();
                throw ex;
            }
            finally
            {
                dataCtx.Connection.Close();
            }
        }
示例#4
0
        public CRMAction Save(CRMAction entity, IList<CRMUser> UserList)
        {
            if (this.dataCtx.Connection != null)
                if(this.dataCtx.Connection.State== ConnectionState.Closed)
                    this.dataCtx.Connection.Open();
            DbTransaction tran = this.dataCtx.Connection.BeginTransaction();
            dataCtx.Transaction = tran;

            try
            {
                var qry = from t in CRMActions
                          where t.ACTID == entity.ACTID
                          select t;
                var obj = qry.SingleOrDefault();
                if (obj != null)
                    this.CopyEntity(obj, entity);
                else
                    this.CRMActions.InsertOnSubmit(entity);

                this.dataCtx.SubmitChanges();

                //delete Action relationship with User
                var qryDel = from t in CRMActionUsers
                             where t.ACTID == entity.ACTID
                             select t;
                foreach (var item in qryDel.ToList())
                {
                    this.CRMActionUsers.DeleteOnSubmit(item);
                }
                //add new
                foreach (var user in UserList)
                {
                    var p = new CRMActionUser();
                    p.ACTID = entity.ACTID;
                    p.ACTUser = user.UserID;
                    this.CRMActionUsers.InsertOnSubmit(p);
                }

                this.dataCtx.SubmitChanges();

                tran.Commit();
                return entity;
            }
            catch (Exception ex)
            {
                tran.Rollback();
                throw ex;
            }
            finally
            {
                dataCtx.Connection.Close();
            }
        }