示例#1
0
        /// <summary>
        /// 删除公司,删除其角色和用户
        /// </summary>
        /// <param name="company">公司实体对象</param>
        /// <returns></returns>
        public bool DeleteCompany(T_Company company)
        {
            //使用事务进行数据库操作
            using (var tran = this.nContext.Database.BeginTransaction())
            {
                try
                {
                    //修改为删除标识
                    ICompanyUserBLL companyUserBll = BLLFactory <ICompanyUserBLL> .GetBLL("CompanyUserBLL");

                    var users = companyUserBll.GetList(u => u.CompanyId == company.Id && u.DelFlag == ConstantParam.DEL_FLAG_DEFAULT).ToList();
                    foreach (var user in users)
                    {
                        user.DelFlag = ConstantParam.DEL_FLAG_DELETE;
                        companyUserBll.Update(user);
                    }

                    //改为删除标识
                    base.Update(company);
                    //提交事务
                    tran.Commit();
                }
                catch
                {
                    tran.Rollback();
                    return(false);
                }
            }
            return(true);
        }