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常见的控制器,接口,数据层之间的操作的更多相关文章

  1. 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图与控制器传递数据

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  2. ASP.NET MVC中的控制器激活与反射之间的联系(帮助理解)

    ASP.NET Mvc是ASP.NET的一个框架,同样也是基于管道的设计结构.HttpModule和HttpHandler是ASP.NET的两个重要组件,同样的在Mvc中也是非常重要的组件.在应用程序 ...

  3. ASP.NET MVC之从控制器传递数据到视图四种方式(一)

    前言 本系列开始着手讲述ASP.NET MVC,也算是自己对基础的回顾以及进一步深入学习,保证每天发表一篇该系列文章,关于基本知识则不再叙述,园子有关文章不胜枚举,这一系列若有叙述不当或错误之处,欢迎 ...

  4. ASP.NET MVC之从控制器传递数据到视图四种方式

    前言 本系列开始着手讲述ASP.NET MVC,也算是自己对基础的回顾以及进一步深入学习,保证每天发表一篇该系列文章,关于基本知识则不再叙述,园子有关文章不胜枚举,这一系列若有叙述不当或错误之处,欢迎 ...

  5. ASP.NET MVC之从控制器传递数据到视图方式

    为了演示,先定义一个类 新建基本项目在Models文件夹下定义如下类: public class Person { public int Id { get; set; } public string ...

  6. 【开源】OSharp框架解说系列(5.1):EntityFramework数据层设计

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

  7. 【ASP.NET MVC系列】浅谈数据注解和验证

    [ASP.NET MVC系列]浅谈数据注解和验证   [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google C ...

  8. 使用Postman轻松实现接口数据关联

    Postman Postman是一款非常流行的HTTP(s)接口测试工具,入门简单,界面美观,功能强大.作为一个测试/开发工程师,这是一款必须要会用的工具.今天以一个实际的案例,来介绍下Postman ...

  9. 【ASP.NET MVC系列】浅谈Google Chrome浏览器(操作篇)(下)

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

随机推荐

  1. poj 3744 Scout YYF I (可能性DP+矩阵高速功率)

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5062   Accepted: 1370 Description YYF i ...

  2. iOS使用UIScrollView实现左右滑动UITableView和UICollectionView

    在UIScrollView嵌套UITableView这篇文章是非常,但该项目的需求,需要嵌套UICollectionView,和UICollectionView和UITableView有非常多的不同, ...

  3. Android 它们的定义ListView实现底部和页下拉刷新刷新的顶

    在项目开发.由于数据量过大,寻呼需要加载或下拉刷新.为了缓解长期等待-time负载.这个博客的评论中被自己的定义实例ListView实现底部的下拉刷新页面正在加载结果和顶部. 其效果图: 一.List ...

  4. 数据库 基于索引的SQL语句优化之降龙十八掌(转)

    一篇挺不错的关于SQL语句优化的文章,因不知原始出处,故未作引用说明! 1 前言      客服业务受到SQL语句的影响非常大,在规模比较大的局点,往往因为一个小的SQL语句不够优化,导致数据库性能急 ...

  5. 【转】height,posHeight和pixelHeight区别

    height 返回高度    带单位 posHeight    不带单位的数字 pixelHeight 转换成像素后的数字    不带单位 更多资料 http://www.1fan.com.cn

  6. JS对文档进行操作

    对文档进行操作   创建节点 追加节点 删除节点 任务及例子 总结 对DOM的修改是,构建动态网页的关键.使用下面列举的方法,我们可以创建新的网页并且动态进行更改. 更多的DOM操作方法请查 DOM1 ...

  7. VS2010类模板修改——添加版权、说明

    VS2010类模板修改——添加版权.说明 最近在学习使用Memcache,就想着用C#代码写一个实现Cache与Memcache以及将来若是能融入Redis切换使用的程序集...不过刚开始写代码,强迫 ...

  8. PDF.NET SOD Ver 5.1完全开源

    PDF.NET SOD Ver 5.1完全开源 前言: 自从我2014年下半年到现在的某电商公司工作后,工作太忙,一直没有写过一篇博客,甚至连14年股票市场的牛市都错过了,现在马上要过年了,而今天又是 ...

  9. C语言库函数大全及应用实例十三

    原文:C语言库函数大全及应用实例十三                                          [编程资料]C语言库函数大全及应用实例十三 函数名: stat 功 能: 读取打 ...

  10. Nginx搭建反向代理服务器

    [大型网站技术实践]初级篇:借助Nginx搭建反向代理服务器   一.反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受int ...