MVC常见的控制器,接口,数据层之间的操作
user_books_info 类
namespace CiWong.LearningLevel.Mapping
{
public class user_books_info
{
/// <summary>
/// 使用对象ID,个人版存放会员ID,班级版存放班级ID,校园版存放校园ID
/// </summary>
public long user_id { get; set; } /// <summary>
/// 购买类型(1=个人版,2=班级版,3=学校版)
/// </summary>
public Int16 purchase_type { get; set; } /// <summary>
/// 题册ID
/// </summary>
public long book_id { get; set; } /// <summary>
/// 课本名称
/// </summary>
public string book_name { get; set; } /// <summary>
/// 课本封面
/// </summary>
public string book_cover { get; set; } /// <summary>
/// 使用对象名称
/// </summary>
public string user_name { get; set; } /// <summary>
/// 使用类型(0=试用,1=已购买,2=赠送,3=校本课程)
/// </summary>
public int use_mode { get; set; } /// <summary>
/// 添加时间
/// </summary>
public DateTime create_time { get; set; } /// <summary>
/// 首次购买时间
/// </summary>
public DateTime bourght_time { get; set; } /// <summary>
/// 最后一次续费时间
/// </summary>
public DateTime last_paid_time { get; set; } /// <summary>
/// 过期时间
/// </summary>
public DateTime expire_date { get; set; } }
}
1,数据操作层(List<>)
/// <summary>
/// 获取我购买的书籍
/// </summary>
/// <param name="userID"></param>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">条数</param>
/// <returns></returns>
public List<user_books_info> UserBookInfoGetByUserID(int userID, int pageIndex, int pageSize)
{
List<user_books_info> bookList = new List<user_books_info>();
string sql = @"CALL learn_user_books_info_getbyuserid(@UserID,@pageIndex,@pageSize);";
MySqlParameter[] para = new MySqlParameter[]
{
new MySqlParameter("@UserID", userID),
new MySqlParameter("@pageIndex", pageIndex),
new MySqlParameter("@pageSize", pageSize)
};
using (var dr = MySqlHelper.ExecuteReader(DatabaseManager.Retrieve("wc_learninglevel_read"), sql, para))
{
while (dr.Read())
{
var bookInfo = new user_books_info();
bookInfo.user_id = dr.GetInt32("user_id");
bookInfo.purchase_type = dr.GetInt16("purchase_type");
bookInfo.book_id = dr.GetInt64("book_id");
bookInfo.book_name = dr.GetString("book_name");
bookInfo.book_cover = dr.GetString("book_cover");
bookInfo.user_name = dr.GetString("user_name");
bookInfo.use_mode = dr.GetInt32("use_mode");
bookInfo.create_time = dr.GetDateTime("create_time");
bookInfo.bourght_time = dr.GetDateTime("bourght_time");
//bookInfo.last_paid_time = dr.GetDateTime("last_paid_time");
bookInfo.expire_date = dr.GetDateTime("expire_date");
bookList.Add(bookInfo);
}
dr.Close();
}
return bookList;
}
2,数据调用接口层(List<>)
/// <summary>
/// 获取我购买的书籍
/// </summary>
/// <param name="userID"></param>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">条数</param>
/// <returns></returns>
List<user_books_info> UserBookInfoGetByUserID(int userID, int pageIndex, int pageSize);
3,控制器
ViewBag.UserLearns = this._Repository.UserBookInfoGetByUserID(userID, 1, 11);//购买的书籍
A, 数据操作层(IEnumerable<>)
/// <summary>
/// 获取文章列表
/// </summary>
/// <param name="userID">用户ID</param>
/// <param name="totalItem">总数据量</param>
/// <param name="pageIndex">当前页</param>
/// <param name="pageSize">每页数量</param>
/// <param name="IsDelete">删除状态</param>
/// <returns></returns>
public IEnumerable<BlogContent> GetBlogContents(int userID, ref int totalItem, int pageIndex = 1, int pageSize = 20, bool IsFriend = false, bool IsManager = false)
{
List<BlogContent> _list = new List<BlogContent>();
MySqlConnection conn = new MySqlConnection(ConnectionString);
MySqlDataReader dr = null;
try
{
conn.Open();
totalItem = Convert.ToInt32(MySqlHelper.ExecuteScalar(conn, string.Format("SELECT COUNT(0) FROM BlogContent WHERE uid=@uid AND IsDelete=0 AND IsPublished=1 {0}", IsManager ? string.Empty : IsFriend ? "AND IsPublic<=1" : "AND IsPublic=0"),
new MySqlParameter("@uid", userID)));
if (totalItem > 0)
{
string sql = @"SELECT Id,CateId,Title,Intro,Published,Created,
ViewNums,CopNums,IsPublic,IsTop,IsPublished,
Iscopied,OriginID,uid,OrignAccountId,OriginAccountName,Flowers FROM BlogContent
WHERE uid=@uid AND IsDelete=0 AND IsPublished=1 {0}
ORDER BY IsTop DESC,Id DESC LIMIT @Begin,@Size";
dr = MySqlHelper.ExecuteReader(conn, string.Format(sql, IsManager ? string.Empty : IsFriend ? "AND IsPublic<=1" : "AND IsPublic=0"),
new MySqlParameter("@uid", userID),
new MySqlParameter("@Begin", (pageIndex - 1) * pageSize),
new MySqlParameter("@Size", pageSize));
while (dr.Read())
{
_list.Add(new BlogContent()
{
Id = dr.GetInt64(0),
CateId = dr.GetInt64(1),
Title = dr.GetString(2),
Intro = dr.GetString(3),
Published = dr.GetDateTime(4),
Created = dr.GetDateTime(5),
ViewNums = dr.GetInt32(6),
CopNums = dr.GetInt32(7),
IsPublic = dr.GetByte(8),
IsTop = dr.GetBoolean(9),
IsPublished = dr.GetBoolean(10),
Iscopied = dr.GetBoolean(11),
OriginID = dr.GetInt64(12),
uid = dr.GetInt32(13),
OrignAccountId = dr.GetInt32(14),
OriginAccountName = dr.GetString(15),
Flower = dr.GetInt32(16)
});
}
}
}
catch (MySqlException e)
{
throw e;
}
finally
{
if (null != dr) dr.Close();
conn.Close();
}
return _list;
}
B,数据操作接口层(IEnumerable<>)
/// <summary>
/// 获取文章列表
/// </summary>
/// <param name="userID">用户ID集合</param>
/// <param name="totalItem">总数据量</param>
/// <param name="pageIndex">当前页</param>
/// <param name="pageSize">每页数量</param>
/// <param name="IsDelete">删除状态</param>
/// <returns></returns>
IEnumerable<BlogContent> GetBlogContents(List<int> userIDs, ref int totalItem, int pageIndex = 1, int pageSize = 20, bool IsFriend = false, bool IsManager = false);
C,控制器
var blogs1 = _blogManager.GetBlogContents(zone.UserID, ref totalItem, page, 10).ToList();
MVC常见的控制器,接口,数据层之间的操作的更多相关文章
- 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图与控制器传递数据
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- ASP.NET MVC中的控制器激活与反射之间的联系(帮助理解)
ASP.NET Mvc是ASP.NET的一个框架,同样也是基于管道的设计结构.HttpModule和HttpHandler是ASP.NET的两个重要组件,同样的在Mvc中也是非常重要的组件.在应用程序 ...
- ASP.NET MVC之从控制器传递数据到视图四种方式(一)
前言 本系列开始着手讲述ASP.NET MVC,也算是自己对基础的回顾以及进一步深入学习,保证每天发表一篇该系列文章,关于基本知识则不再叙述,园子有关文章不胜枚举,这一系列若有叙述不当或错误之处,欢迎 ...
- ASP.NET MVC之从控制器传递数据到视图四种方式
前言 本系列开始着手讲述ASP.NET MVC,也算是自己对基础的回顾以及进一步深入学习,保证每天发表一篇该系列文章,关于基本知识则不再叙述,园子有关文章不胜枚举,这一系列若有叙述不当或错误之处,欢迎 ...
- ASP.NET MVC之从控制器传递数据到视图方式
为了演示,先定义一个类 新建基本项目在Models文件夹下定义如下类: public class Person { public int Id { get; set; } public string ...
- 【开源】OSharp框架解说系列(5.1):EntityFramework数据层设计
OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...
- 【ASP.NET MVC系列】浅谈数据注解和验证
[ASP.NET MVC系列]浅谈数据注解和验证 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google C ...
- 使用Postman轻松实现接口数据关联
Postman Postman是一款非常流行的HTTP(s)接口测试工具,入门简单,界面美观,功能强大.作为一个测试/开发工程师,这是一款必须要会用的工具.今天以一个实际的案例,来介绍下Postman ...
- 【ASP.NET MVC系列】浅谈Google Chrome浏览器(操作篇)(下)
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
随机推荐
- 2014年最新的辛星html、css教程打包公布了,免积分,纯PDF(还有PHP奥)
首先说一下,这个教程是我的全部的博客的精华,我整理了两天之后才做出的这个pdf文档,累死我了,以下免积分给大家,希望大家可以不吝指正,提出它的一些不足什么的,谢谢啦: 以下就是它的下载地址了:2014 ...
- curl 简单使用
cURL -- Command Line URL viewer -u username:password 以 Basic 方式发送用户名和密码 -d 以 POST 方式发送数据 -X 支持其它动词, ...
- 基于C++ 苹果apns消息推送实现(2)
1.该模块的用途C++ 和 Openssl 代码 它实现了一个简单的apns顾客 2.配套文件:基于boost 的苹果apns消息推送实现(1) 3.最初使用的sslv23/sslv2/sslv3仅仅 ...
- Swift入门教程:基本语法(二)
数字格式 数字可以增加额外的格式,使它们更容易阅读 可以增加额外的零 0 let money = 001999 // 1999 let money2 = 001999.000 ...
- 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷
原文:通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下: 步骤1:通过MyEcl ...
- java中string和int互相转化
1 怎样将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([ ...
- CKPlayer从Cookie里读取上次播放记录的一个demo
<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...
- JS获取浏览器型号
/**********************************浏览器型号搜集start*************************************/ var userAgent ...
- 上海及周边地区产品技术创业QQ群:98905958
创业是一件骄傲的事,每一个行业里最棒人才都应该创业或參与创业或以一个创业者的心态进行职业远景规划: 创业是一件寻常的事,跟上班打工一样寻常,没有什么必须的前置条件才干够開始,也没有什么前置条件能保证我 ...
- Chapter 1 Securing Your Server and Network(1):选择SQL Server业务经理
原版的:http://blog.csdn.net/dba_huangzj/article/details/37924127 ,专题文件夹:http://blog.csdn.net/dba_huang ...