zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    C++实现双缓冲
    [python]初探socket
    HTTP 状态代码表示什么意思?
    今天安装了麒麟系统
    初学python类
    python 如何在一个for循环中遍历两个列表
    python中xrange和range的异同
    再学python类(终结篇)
    常见浏览器兼容问题、盒模型2种模式以及css hack知识讲解
    原生JS实现瀑布流
  • 原文地址:https://www.cnblogs.com/chuangjie1988/p/7411247.html
Copyright © 2011-2022 走看看