有關Entity Framework的數據模型的操作(二)業務層


 public class TestUserManageBc : ITestUserManage
    {
  //業務層調用數據層時依賴接口,而不是直接New一個數據層對象,使用工廠模式創建對象
        private readonly IData.IUserManageProvider _provider = Data.DbProvider.GetUserManageInstance();

        #region 刪除
        public int DeleteUserById(int id)
        {
            return _provider.DeleteUserById(id);
        }
        /// <summary>
        /// 刪   除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public int DeleteUser(int id)
        {
        
            int rtnNUmber;
           // 根據Id刪除
          rtnNUmber = _provider.DeleteUserById(id);
            //刪除實體
            //var user = _provider.LoadSysUser(id);
            //if(user!=null)
            //rtnNUmber = _provider.DeleteUser(user);

          //  //刪除多條
          //  var users = _provider.ListUsers(new UserQuery {UserTrueName = "Anton"});
          //rtnNUmber=  _provider.DeleteUserRange(users);
           return rtnNUmber;
        }

        public int DeleteRange(List<Sys_User> users)
        {
            return _provider.DeleteUserRange(users);
        }

        #endregion

        #region 保存(添加已測試)
        /// <summary>
        /// 保   存
        /// </summary>
        /// <param name="user"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public int SaveUser(Sys_User user, out string message)
        {
            message = null;
            if (user.Id < 1)
            {
                #region 添加單條記錄

                Sys_User addUser = new Sys_User
                {

                    UserName = user.UserName,
                    UserTrueName = "Anton",
                    Password = "",
                    Code = "",
                    CreateDate = DateTime.Now
                };
                var rtnUser = _provider.AddAndLoadUser(addUser);
                return rtnUser.Id;
                #endregion

                #region 添加多條記錄

                /*
            //添加多條記錄
                return _provider.AddUser(new List<Sys_User>
            {
                new Sys_User
            {

                UserName = user.UserName,
                UserTrueName = "Anton",
                Password = "",
                Code = "",
                CreateDate = DateTime.Now
            },new Sys_User
            {

                UserName = user.UserName+"22",
                UserTrueName = "Antoneee",
                Password = "",
                Code = "",
                CreateDate = DateTime.Now
            }
            });
                */

                #endregion
            }
            return 0;
        }

        public Sys_User AddUserAndLoaduser(Sys_User user)
        {
            return _provider.LoadSysUser(user.Id);
        }
        #endregion
    
        #region  查詢
        /// <summary>
        /// 列   表
        /// </summary>
        /// <param name="userQuery"></param>
        /// <returns></returns>
        public List<Sys_User> ListUsers(UserQuery userQuery)
        {
            return _provider.ListUsers(userQuery);
            // return _provider.ListUsersBySql(userQuery);
        }
        /// <summary>
        /// 總記錄數
        /// </summary>
        /// <returns></returns>
        public int GetCheckInTotail()
        {
            return _provider.GetCheckInTotail();
        }
        /// <summary>
        /// 單條記錄
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public  Sys_User LoadSysUser(int id)
        {
            return _provider.LoadSysUser(id);
        }

        #endregion

        #region 修改
        public int UpdateUserAll(Sys_User user)
        {
            return _provider.UpdateUserAll(user);
        }

        public int UpdateUserPart(Sys_User user)
        {
            //
            return _provider.UpdateUserPart(o=>new Sys_User{Id=user.Id, Code = user.Code,PreIpAddress = user.PreIpAddress});
        }

        public int Update(UserQuery filter, Sys_User user)
        {
          
           return _provider.Update(o =>o.Password.EndsWith("DDD"),o=>new Sys_User{Code = user.Code});
        }
        #endregion

        public int ChangeUserStateById(int id)
        {
            return _provider.ChangeUserStateById(id);
        }

        public int ChangeUserCodeById(int id)
        {
            return _provider.ChangeUserCodeById(id);
        }

    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章