MVC+Ninject+三层架构+代码生成 -- 总结(六、邏輯層)

1.邏輯層的方法應該與數據層的方法一一對應。邏輯層返回的結果都是用接口IResult封裝,用於項目轉換時,能減少變化的代碼量。

2.邏輯層都需要繼承 BaseLogic 類

   

  public  class BaseLogic
    {
        public T NewObject<T>() where T : class
        {
            T t = IOCHelper.GetInstance<T>();
            return t;
        }

    }

3.動軟代碼

<#@ template language="c#" HostSpecific="True" #>
<#@ output extension= ".cs" #>
<#
    TableHost host = (TableHost)(Host);        
    string ModelSpace = host.NameSpace+".Model."+ host.GetModelClass(host.TableName);
    string DALSpace= host.NameSpace+".DAL."+ host.GetDALClass(host.TableName);
    string TableName =  host.GetModelClass(host.TableName).Split('_')[1];    
    ColumnInfo identityKey=host.IdentityKey;
    string returnValue = "void";
    if (identityKey!=null)
    {         
         returnValue = CodeCommon.DbTypeToCS(identityKey.TypeName);              
    }
#>

using System;
using CommonLibrary.Log;
using CommonLibrary.Base;
using CommonContract.Entity;
using CommonContract.Condition;
using System.Collections.Generic;
using MIT.Application.Dao;
using CommonLibrary.CommonResult;

namespace MIT.Application.Logic
{
   public class <#= TableName #>Logic : BaseLogic
   {
      #region 獲取所有數據
      public IResult<List<<#= TableName #>Entity>> GetList ()  
      {           
           IResult<List<<#= TableName  #>Entity>> result = new Result<List<<#= TableName  #>Entity>>();
           List<<#= TableName  #>Entity> list = null;  
           try
           {
                list = NewObject<<#= TableName #>Dao>().GetList();
                result.SetSuccessOrFail(true);
                result.SetResult(list);
           }
           catch (Exception ex)
           {
                LogHelper.WriteError(ex, "<#= TableName #>表 獲取所有數據異常");                
                result.SetResultDescription("获取列表出错");
           }   
           return result;
      }
      #endregion
      
     #region 通過緩存獲取所有數據
      public IResult<List<<#= TableName #>Entity>> GetListByCache ()  
      {           
           IResult<List<<#= TableName  #>Entity>> result = new Result<List<<#= TableName  #>Entity>>();
           List<<#= TableName  #>Entity> list = null;  
           try
           {
                list = NewObject<<#= TableName #>Dao>().GetListByCache();
                result.SetSuccessOrFail(true);
                result.SetResult(list);
           }
           catch (Exception ex)
           {
                LogHelper.WriteError(ex, "<#= TableName #>表 通過緩存獲取所有數據異常");                
                result.SetResultDescription("获取列表出错");
           }   
           return result;
      }
      #endregion
      
      
      #region 通過條件獲取所有數據
      public IResult<List<<#= TableName #>Entity>> GetListByCondition (string queryJson)  
      {           
           IResult<List<<#= TableName  #>Entity>> result = new Result<List<<#= TableName  #>Entity>>();
           List<<#= TableName  #>Entity> list = null;  
           try
           {
                list = NewObject<<#= TableName #>Dao>().GetListByCondition(queryJson);
                result.SetSuccessOrFail(true);
                result.SetResult(list);
           }
           catch (Exception ex)
           {
                LogHelper.WriteError(ex, "<#= TableName #>表 通過條件獲取所有數據異常");                
                result.SetResultDescription("获取列表出错");
           }   
           return result;
      }
      #endregion
   
      #region 通過分页獲取數據
      public IResult<List<<#= TableName #>Entity>> GetListByPage (PageInfo pageInfo, string queryJson)  
      {
           IResult<List<<#= TableName  #>Entity>> result = new Result<List<<#= TableName  #>Entity>>();
           List<<#= TableName  #>Entity> list = null;  
           try
           {
                list = NewObject<<#= TableName #>Dao>().GetListByPage(pageInfo,queryJson);
                result.SetSuccessOrFail(true);
                result.SetResult(list);
           }
           catch (Exception ex)
           {
                LogHelper.WriteError(ex, "<#= TableName #>表 通過分页獲取數據列表異常");                
                result.SetResultDescription("获取列表出错");
           }   
           return result;
      }
      #endregion
      
      #region 通過主鍵獲取實體
      public IResult<<#= TableName #>Entity> GetEntity (string keyValue)  
      {
           IResult<<#= TableName  #>Entity> result = new Result<<#= TableName  #>Entity>();
           <#= TableName  #>Entity Entity = null;  
           try
           {
                Entity = NewObject<<#= TableName #>Dao>().GetEntity(keyValue);
                result.SetSuccessOrFail(true);
                result.SetResult(Entity);
           }
           catch (Exception ex)
           {
                LogHelper.WriteError(ex, "<#= TableName #>表 通過主鍵獲取實體異常");                
                result.SetResultDescription("获取數據出错");
           }   
           return result;
      }
      #endregion      
   
      
      #region 通過主鍵删數據
      public IResult RemoveForm (string keyValue)  
      {
           IResult result = new Result();           
           try
           {
                int res = NewObject<<#= TableName #>Dao>().RemoveForm(keyValue);
                
                 result.SetSuccessOrFail(res > 0);
                 string msg = res > 0 ? "刪除成功" : "刪除失敗";
                 result.SetResultDescription(msg);  
           }
           catch (Exception ex)
           {
                LogHelper.WriteError(ex, "<#= TableName #>表 通過主鍵删數據異常");                
                result.SetResultDescription("删數數據出错");
           }   
           return result;
      }
      #endregion
      
      #region 通過條件删數據
      public IResult RemoveFormByCondition (string queryJson)  
      {
           IResult result = new Result();           
           try
           {
                int res = NewObject<<#= TableName #>Dao>().RemoveFormByCondition(queryJson);                
                 result.SetSuccessOrFail(res > 0);
                 string msg = res > 0 ? "刪除成功" : "刪除失敗";
                 result.SetResultDescription(msg);  
           }
           catch (Exception ex)
           {
                LogHelper.WriteError(ex, "<#= TableName #>表 通過條件删數據異常");                
                result.SetResultDescription("删數數據出错");
           }   
           return result;
      }
      #endregion
      
      #region 批量删除數據
      public IResult RemoveFormByKeys (string strkeyValue)  
      {
           IResult result = new Result();           
           try
           {           
                string[] strArr=strkeyValue.Split(',');
                int[] keyValues=new int[strArr.Length];
                for(int i=0;i<strArr.Length;i++)
                {
                   keyValues[i]=Convert.ToInt32(strArr[i]);
                }
                 int res = NewObject<<#= TableName #>Dao>().RemoveFormByKeys(keyValues);                
                 result.SetSuccessOrFail(res > 0);
                 string msg = res > 0 ? "刪除成功" : "刪除失敗";
                 result.SetResultDescription(msg);  
           }
           catch (Exception ex)
           {
                LogHelper.WriteError(ex, "<#= TableName #>表 批量删除數據異常");                
                result.SetResultDescription("删數數據出错");
           }   
           return result;
      }
      #endregion
      
      #region 保存數據(新增、修改)
      public IResult SaveForm (string keyValue, <#= TableName #>Entity Entity)  
      {
           IResult result = new Result();           
           try
           {  
                 int res = NewObject<<#= TableName #>Dao>().SaveForm(keyValue,Entity); 
                  string msg = res > 0 ? "保存成功" : "保存失敗";
                if (string.IsNullOrEmpty(keyValue))
                {
                    msg = res > 0 ? "新增成功" : "新增失敗";
                }
                 result.SetResultDescription(msg);  
                 result.SetSuccessOrFail(res > 0);
           }
           catch (Exception ex)
           {
                LogHelper.WriteError(ex, "<#= TableName #>表 保存數據(新增、修改)異常");                
                result.SetResultDescription("操作失敗");
           }   
           return result;
      }
      #endregion
     
   }
}
View Code

4.C#代碼

using System;
using CommonLibrary.Log;
using CommonLibrary.Base;
using CommonContract.Entity;
using System.Collections.Generic;
using CommonLibrary.CommonResult;
using MIT.Application.Dao.BaseManager;
using CommonContract.Condition;

namespace MIT.Application.Logic.BaseManager
{
    public class UserLogic : BaseLogic
    {
        #region 獲取所有數據
        public IResult<List<UserEntity>> GetList(UserEntity Entity)
        {
            IResult<List<UserEntity>> result = new Result<List<UserEntity>>();
            List<UserEntity> list = null;
            try
            {
                list = NewObject<UserDao>().GetList();
                result.SetSuccessOrFail(true);
                result.SetResult(list);
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex, "UserInfo表 獲取所有數據異常");
                result.SetResultDescription("获取列表出错");
            }
            return result;
        }
        #endregion

        #region 通過緩存獲取所有數據
        public IResult<List<UserEntity>> GetListByCache(UserEntity Entity)
        {
            IResult<List<UserEntity>> result = new Result<List<UserEntity>>();
            List<UserEntity> list = null;
            try
            {
                list = NewObject<UserDao>().GetListByCache();
                result.SetSuccessOrFail(true);
                result.SetResult(list);
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex, "UserInfo表 通過緩存獲取所有數據異常");
                result.SetResultDescription("获取列表出错");
            }
            return result;
        }
        #endregion

        #region 通過條件獲取所有數據
        public IResult<List<UserEntity>> GetListByCondition(string queryJson)
        {
            IResult<List<UserEntity>> result = new Result<List<UserEntity>>();
            List<UserEntity> list = null;
            try
            {
                list = NewObject<UserDao>().GetListByCondition(queryJson);
                result.SetSuccessOrFail(true);
                result.SetResult(list);
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex, "UserInfo表 通過條件獲取所有數據異常");
                result.SetResultDescription("获取列表出错");
            }
            return result;
        }
        #endregion

        #region 通過分页獲取數據
        public IResult<List<UserEntity>> GetListByPage(PageInfo pageInfo, string queryJson)
        {
            IResult<List<UserEntity>> result = new Result<List<UserEntity>>();
            List<UserEntity> list = null;
            try
            {
                list = NewObject<UserDao>().GetListByPage(pageInfo, queryJson);
                result.SetSuccessOrFail(true);
                result.SetResult(list);
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex, "UserInfo表 通過分页獲取數據列表異常");
                result.SetResultDescription("获取列表出错");
            }
            return result;
        }
        #endregion

        #region 通過主鍵獲取實體
        public IResult<UserEntity> GetEntity(string keyValue)
        {
            IResult<UserEntity> result = new Result<UserEntity>();
            UserEntity Entity = null;
            try
            {
                Entity = NewObject<UserDao>().GetEntity(keyValue);
                result.SetSuccessOrFail(true);
                result.SetResult(Entity);
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex, "UserInfo表 通過主鍵獲取實體異常");
                result.SetResultDescription("获取數據出错");
            }
            return result;
        }
        #endregion

        #region 通過主鍵删數據
        public IResult RemoveForm(string keyValue)
        {
            IResult result = new Result();
            try
            {
                int res = NewObject<UserDao>().RemoveForm(keyValue);

                result.SetSuccessOrFail(res > 0);
                string msg = res > 0 ? "刪除成功" : "刪除失敗";
                result.SetResultDescription(msg);
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex, "UserInfo表 通過主鍵删數據異常");
                result.SetResultDescription("删數數據出错");
            }
            return result;
        }
        #endregion

        #region 通過條件删數據
        public IResult RemoveFormByCondition(string queryJson)
        {
            IResult result = new Result();
            try
            {
                int res = NewObject<UserDao>().RemoveFormByCondition(queryJson);
                result.SetSuccessOrFail(res > 0);
                string msg = res > 0 ? "刪除成功" : "刪除失敗";
                result.SetResultDescription(msg);
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex, "UserInfo表 通過條件删數據異常");
                result.SetResultDescription("删數數據出错");
            }
            return result;
        }
        #endregion

        #region 批量删除數據
        public IResult RemoveFormByKeys(string strkeyValue)
        {
            IResult result = new Result();
            try
            {
                string[] strArr = strkeyValue.Split(',');
                int[] keyValues = new int[strArr.Length];
                for (int i = 0; i < strArr.Length; i++)
                {
                    keyValues[i] = Convert.ToInt32(strArr[i]);
                }
                int res = NewObject<UserDao>().RemoveFormByKeys(keyValues);
                result.SetSuccessOrFail(res > 0);
                string msg = res > 0 ? "刪除成功" : "刪除失敗";
                result.SetResultDescription(msg);
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex, "UserInfo表 批量删除數據異常");
                result.SetResultDescription("删數數據出错");
            }
            return result;
        }
        #endregion

        #region 保存數據(新增、修改)
       public IResult SaveForm(string keyValue, UserEntity Entity)  
      {
           IResult result = new Result();           
           try
           {  
                 int res = NewObject<UserDao>().SaveForm(keyValue,Entity);
                 string msg = res > 0 ? "保存成功" : "保存失敗"; 
                 if (string.IsNullOrEmpty(keyValue))
                 {          
                     msg = res > 0 ?  "新增成功" : "新增失敗";                  
                 }
                 result.SetResultDescription(msg);  
                 result.SetSuccessOrFail(res > 0);
           }
           catch (Exception ex)
           {
                LogHelper.WriteError(ex, "UserInfo表 保存數據(新增、修改)異常");                
                result.SetResultDescription("操作失敗");
           }   
           return result;
      }
      #endregion

        #region 修改用户状态
       public IResult UpdateState(string keyValue, int Status)  
      {
           IResult result = new Result();           
           try
           {
               UserEntity Entity = new UserEntity();
               Entity.UserId = keyValue.ToInt();
               Entity.EnabledMark = Status;
             
               int res = NewObject<UserDao>().UpdateState(Entity);
               string msg = res > 0 ? "啟用成功" : "啟用失敗";
               if (Status == 0)
               {
                   msg = res > 0 ? "禁用成功" : "禁用失敗";                  
               }
               result.SetResultDescription(msg);  
               result.SetSuccessOrFail(res > 0);
           }
           catch (Exception ex)
           {
               LogHelper.WriteError(ex, "UserInfo表 修改用户状态異常");                
               result.SetResultDescription("操作失敗");
           }   
           return result;
      }
      #endregion       

    }
}
View Code

 

原文地址:https://www.cnblogs.com/chuangjie1988/p/7411247.html