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 [email protected] 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 [email protected] 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();

  

时间: 2024-11-05 18:48:14

MVC常见的控制器,接口,数据层之间的操作的相关文章

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

ASP.NET Mvc是ASP.NET的一个框架,同样也是基于管道的设计结构.HttpModule和HttpHandler是ASP.NET的两个重要组件,同样的在Mvc中也是非常重要的组件.在应用程序中的管道设计结构下实际上是由一系列的事件组合在一起的.这些事件可以有HttpModule来订阅,订阅的时机是在应用程序加载配置文件的时候,订阅web.config中httomodules配置的相关事件.而HttpHandler的作用就是最终的真正执行. 激活前准备首先要说的是路由系统一个Web应用程

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

前言 本系列开始着手讲述ASP.NET MVC,也算是自己对基础的回顾以及进一步深入学习,保证每天发表一篇该系列文章,关于基本知识则不再叙述,园子有关文章不胜枚举,这一系列若有叙述不当或错误之处,欢迎指出以及批评. 前奏 新建基本项目在Models文件夹下定义如下类: public class Person { public int Id { get; set; } public string Name { get; set; } public string BlogAddress { get;

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

前言 本系列开始着手讲述ASP.NET MVC,也算是自己对基础的回顾以及进一步深入学习,保证每天发表一篇该系列文章,关于基本知识则不再叙述,园子有关文章不胜枚举,这一系列若有叙述不当或错误之处,欢迎指出以及批评. 前奏 新建基本项目在Models文件夹下定义如下类: public class Person { public int Id { get; set; } public string Name { get; set; } public string BlogAddress { get;

ASP.NET中MVC从后台控制器传递数据到前台

http://www.readnovel.com/novel/21259/2306.htmlhttp://www.readnovel.com/novel/21259/2307.htmlhttp://www.readnovel.com/novel/21259/2308.htmlhttp://www.readnovel.com/novel/21259/2309.htmlhttp://www.readnovel.com/novel/21259/2310.htmlhttp://www.readnovel

使用Postman实现接口数据关联

首先下载安装Postman直接打开官网,点击下载按钮即可完成下载https://www.getpostman.com/downloads/ 栗子业务场景:用户登录医生账户,查询自己的处方列表数据:用户登录成功后,服务端返回一个token,客户端在查询列表数据的请求header中添加上对应的token,才可以查询成功 具体看下在Postman中如何操作: step1 先添加一个集合,集合可以理解为一个项目/模块文件夹,可以把一个模块的接口都放到同一个集合里,点击“New Collection”创建

PCB MVC启动顺序与各层之间数据传递对象关系

准备着手基于MVC模式写一套Web端流程指示查看,先着手开发WebAPI打通数据接口,后续可扩展手机端 这里将MVC基本关系整理如下: 一.MVC启动顺序 二.MVC各层之间数据传递对象关系 原文地址:https://www.cnblogs.com/pcbren/p/9337766.html

spring mvc 的jpa JpaRepository数据层 访问方式汇总

spring mvc 的jpa JpaRepository数据层 访问方式汇总 博客分类: spring jpa springjpaJpaRepository 本文转载至:http://perfy315.iteye.com/blog/1460226 AppleFramework在数据访问控制层采用了Spring Data作为这一层的解决方案,下面就对Spring Data相关知识作一个较为详细的描述. 1.Spring Data所解决的问题 Spring Data :提供了一整套数据访问层(DA

ssh下:系统初始化实现ServletContextListener接口时,获取spring中数据层对象无效的问题

想要实现的功能:SSH环境下,数据层都交由Spring管理:在服务启动时,将数据库中的一些数据加载到ServletContext中缓存起来. 系统初始化类需要实现两个接口: ServletContextListener,系统初始化时调用contextInitialized方法缓存数据: ApplicationContextAware,获取Spring的ApplicationContext对象,以获取spring容器管理的service对象. 系统初始化类如下: 1 package com.liz

robot framework接口测试之二-四种常见的POST提交数据方式

写接口测试用例时,遇到以json格式提交数据时,报错,Request如下图: Response如下图: 改成form格式提交,可以正常运行,如下图: 代码如下: ------------------------------------------------------------------------------------------------ POST一般用来向服务端提交数据,有四种提交数据的格式,分别是: 1.application/x-www-form-urlencoded 2.a