using System;
using System.Collections.Generic;
using System.Text;
using Model;
using ImpDDal;
using IDDal;
/**************主页新闻的业务逻辑层*****************
 * 主要关于主页新闻的增加,删除,修改的操作
 * 设计者:魏莹
 * 设计时间:5月27日
 * *************************************************/ 
namespace Business
{
    /// <summary>
    /// 新闻数据的操作对象
    /// </summary>
    public class BNews
    {
        INews<News> newOp = new ImpNews();
        /// <summary>
        /// 获取首页的新闻列表
        /// </summary>
        /// <returns>新闻集合对象</returns>
        public IList<News> GetIndexNews()
        {
            try
            {
                return newOp.GetIndexNews();
            }
            catch (Exception ex)
            {
                
                throw new Exception(ex.Message);
            }
        }

        /// <summary>
        /// 获取全部的新闻列表
        /// </summary>
        /// <returns>新闻集合对象</returns>
        public IList<News> GetAllNews()
        {
            try
            {
                return newOp.GetAllNews();
            }
            catch (Exception ex)
            {

                throw new Exception(ex.Message);
            }
        }

        /// <summary>
        /// 删除新闻操作
        /// </summary>
        /// <param name="news">要删除的新闻对象</param>
        /// <returns>1表示删除成功,0表示删除失败</returns>
        public int DeleteNews(News news)
        {
            try
            {
                return newOp.DeleteNew(news);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

        /// <summary>
        /// 根据新闻ID返回一条新闻
        /// </summary>
        /// <param name="news">这里的新闻对象实际上只包含了一个新闻ID</param>
        /// <returns>一个新闻对象</returns>
        public News ShowOne(News news)
        {
            try
            {
                return newOp.ShowNews(news);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

        /// <summary>
        /// 编辑一条新闻记录
        /// </summary>
        /// <param name="news">要编辑的新闻记录</param>
        /// <returns>1表示编辑成功,0表示编辑失败</returns>
        public int EditNews(News news)
        {
            try
            {
                return newOp.EditNews(news);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

        /// <summary>
        /// 增加一条新闻记录
        /// </summary>
        /// <param name="news">要增加的新闻记录</param>
        /// <returns>1表示增加成功,0表示增加失败</returns>
        public int AddNews(News news)
        {
            try
            {
                return newOp.AddNews(news);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
    }
}
