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('_')[];
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 > );
string msg = res > ? "刪除成功" : "刪除失敗";
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 > );
string msg = res > ? "刪除成功" : "刪除失敗";
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=;i<strArr.Length;i++)
{
keyValues[i]=Convert.ToInt32(strArr[i]);
}
int res = NewObject<<#= TableName #>Dao>().RemoveFormByKeys(keyValues);
result.SetSuccessOrFail(res > );
string msg = res > ? "刪除成功" : "刪除失敗";
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 > ? "保存成功" : "保存失敗";
if (string.IsNullOrEmpty(keyValue))
{
msg = res > ? "新增成功" : "新增失敗";
}
result.SetResultDescription(msg);
result.SetSuccessOrFail(res > );
}
catch (Exception ex)
{
LogHelper.WriteError(ex, "<#= TableName #>表 保存數據(新增、修改)異常");
result.SetResultDescription("操作失敗");
}
return result;
}
#endregion }
}

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 > );
string msg = res > ? "刪除成功" : "刪除失敗";
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 > );
string msg = res > ? "刪除成功" : "刪除失敗";
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 = ; i < strArr.Length; i++)
{
keyValues[i] = Convert.ToInt32(strArr[i]);
}
int res = NewObject<UserDao>().RemoveFormByKeys(keyValues);
result.SetSuccessOrFail(res > );
string msg = res > ? "刪除成功" : "刪除失敗";
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 > ? "保存成功" : "保存失敗";
if (string.IsNullOrEmpty(keyValue))
{
msg = res > ? "新增成功" : "新增失敗";
}
result.SetResultDescription(msg);
result.SetSuccessOrFail(res > );
}
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 > ? "啟用成功" : "啟用失敗";
if (Status == )
{
msg = res > ? "禁用成功" : "禁用失敗";
}
result.SetResultDescription(msg);
result.SetSuccessOrFail(res > );
}
catch (Exception ex)
{
LogHelper.WriteError(ex, "UserInfo表 修改用户状态異常");
result.SetResultDescription("操作失敗");
}
return result;
}
#endregion }
}

MVC+Ninject+三层架构+代码生成 -- 总结(六、邏輯層)的更多相关文章

  1. MVC+Ninject+三层架构+代码生成 -- 总结(五、Ninject)

    1.在寫邏輯層前,需要弄好反轉控制,因框架沒有寫接口,所以Ninject只負責返回當前實例,有點類似共享設計模式. public sealed class IOCHelper { private st ...

  2. MVC+Ninject+三层架构+代码生成 -- 总结(七、顯示層 一)

    1.顯示層 在網上找的 Bootstrap 模板.

  3. MVC+Ninject+三层架构+代码生成 -- 总结(四、數據層)

    1.數據層使用了SqlSugar 庫類 . 數據層使用了SqlSugar 庫類 ,有興趣的 可以學習  http://www.codeisbug.com/Doc/8/1133,個人覺得比EF 簡單,容 ...

  4. MVC+Ninject+三层架构+代码生成 -- 总结(三、實體類)

    一.動軟代碼生成器生成 實體類 2.VS視圖--實體類,其中Condition文件夾是存放 搜索的分頁信息 using System; using System.Collections.Generic ...

  5. MVC+Ninject+三层架构+代码生成 -- 总结(二、建項目)

    1.項目分層,其中SqlSugar 是一個ORM 庫類. 2.VS庫類 視圖.

  6. MVC+Ninject+三层架构+代码生成 -- 总结(一、數據庫)

    一.數據表 是參照 別人的庫建表的 ,主鍵都是用int 自增,若是跨數據庫的話,建議使用GUID為主鍵.

  7. 【转】浅谈MVC与三层架构

    首先给大家引入下MVC的概念: MVC(Model View Controller)模型.视图以及控制器,它是一种较为广泛应用的结构设计模式. 模型:就是在MVC设计模式中需要被显示的数据.在通常情况 ...

  8. MVC与三层架构的区别

    我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真相. 首先,它俩根本不是一个概念. 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. ...

  9. mvc和三层架构到底有什么区别

    原文地址:http://zhidao.baidu.com/question/82001542.html?qbl=relate_question_3&word=MVC%20%CA%FD%BE%D ...

随机推荐

  1. Win平台下窗口操作(Unity)

    Unity发布在Win平台时, 可以通过user32.dll的方式与Win API通信, 最小化窗口代码: public static class DllImports { private const ...

  2. <人人都懂设计模式>-单例模式

    这个模式,我还是了解的. 书上用了三种不同的方法. class Singleton1: # 单例实现方式1 __instance = None __is_first_init = False def ...

  3. Visual Studio的UTF-8问题

    参考:https://www.jianshu.com/p/c51cbb2f20e1 一.在“工具”菜单找到“自定义”,然后按照图示操作. 二.选择“编码”.

  4. python的requests库

    requests是在爬虫中常用到的一个库,它可以帮助我们很好的去请求我们想要爬取的网站,并返回网站的内容. 0x01:请求 get请求.post请求这两个是最常用的请求方式,此外还有类似delete. ...

  5. springboot+springcloud微服务项目全套资料(笔记+源码+代码)

    最近好几天没有写博客了,由于时间的太忙了,项目要做.各种资格证要考试,实在没有时间写了,今天正好赶上有闲暇的一刻,应许多的爱好者的要求发一份微服务项目的资料,此资料十分完整,且是最新的.希望各位读者能 ...

  6. 多线程中fork与mutex

    在多线程程序中fork出一个新进程,发现新的进程无法正常工作.因为:在使用fork时会将原来进程中的所有内存数据复制一份保存在子进程中.但是在拷贝的时候,但是线程是无法被拷贝的.如果在原来线程中加了锁 ...

  7. 429 too many requests错误出现在wordpress后台更新及官网的5种解决方法

    从今年10月份开始wordpress服务经常出现429 too many requests错误,包括后台更新和访问wp官网,如下图所示,这是为什么呢?怎么处理呢?有大佬向官方论坛提问了,论坛主持人Ja ...

  8. Git的一些概念(二)

    一.Git的结构 二.Git和代码托管中心 代码托管中心的任务:维护远程库 1. 局域网内 GitLab 服务器 -- 可以自己搭建 2. 外部环境 GitHub 码云 三.本地库和远程库 1. 团队 ...

  9. oracle左连接与右连接

    left join(左联接)       ---返回左表中的所有记录和右表中条件字段相等的记录. right join(右联接)     ---返回右表中的所有记录和左表中联结字段相等的记录 inne ...

  10. Python进阶-XI 常用模块之一:collections、time、random、os、sys

    简要介绍一下各种集合: 列表.元组.字典.集合(含frozenset).字符串.堆栈(如手枪弹夹:先进后出).队列(如马克沁机枪的弹夹:先进先出) 1.collections 1)queue 队列介绍 ...