⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 category.cs

📁 V2005+SQL 2005 数据库与网络开发典型系统时间跟增系统
💻 CS
字号:
using System;
using System.Collections.Generic;
//Category类引用了DataAccessLayer中的类进行数据访问操作
using ASPNET.StarterKit.DataAccessLayer;
namespace ASPNET.StarterKit.BusinessLogicLayer {
    /// <summary>
    /// 表示项目中的项目分类实体
    /// </summary>
  public class Category {
    /***静态字段 ***/
    //-------------------------------------------------------------------------
    private decimal _ActualDuration;
    private string _Abbreviation;
    private int _Id;
    private decimal _EstimateDuration;
    private string _Name;
    private int _ProjectId;

    /*** 构造函数 ***/
    //-------------------------------------------------------------------------
      //根据指定的分类名称、项目编号构造Category类
    public Category(string name, int projectId)
      : this(string.Empty, DefaultValues.GetDurationMinValue(), DefaultValues.GetCategoryIdMinValue(), DefaultValues.GetDurationMinValue(), name, projectId) {
    }
    //根据指定的分类缩略词、预估时长、分类名称、项目编号构造Category类
    public Category(string abbreviation, decimal estimateDuration, string name, int projectId)
      : this(abbreviation, DefaultValues.GetDurationMinValue(), DefaultValues.GetCategoryIdMinValue(), estimateDuration, name, projectId) {
    }
    //根据指定的分类缩略词、实际时长、分类ID、预估时长、分类名称、项目编号构造Category类
    public Category(string abbreviation, decimal actualDuration, int id, decimal estimateDuration, string name, int projectId) {
      if (String.IsNullOrEmpty(name))
        throw (new NullReferenceException("name"));
      if (projectId <= DefaultValues.GetProjectIdMinValue())
        throw (new ArgumentOutOfRangeException("projectId"));
      _Abbreviation = abbreviation;
      _ActualDuration = actualDuration;
      _Id = id;
      _EstimateDuration = estimateDuration;
      _Name = name;
      _ProjectId = projectId;
    }
    /*** 属性 ***/
    //-------------------------------------------------------------------------
    //项目分类时际时长。
    public decimal ActualDuration {
      get { return _ActualDuration; }
    }
    //项目分类缩写词
    public string Abbreviation {
      get {
        if (String.IsNullOrEmpty(_Abbreviation))
          return string.Empty;
        else
          return _Abbreviation;
      }
      set { _Abbreviation = value; }
    }
    //项目分类ID号
    public int Id {
      get { return _Id; }
    }
   //项目分类预估时间
    public decimal EstimateDuration {
      get { return _EstimateDuration; }
      set { _EstimateDuration = value; }
    }
    //项目分类名称
    public string Name {
      get {
        if (String.IsNullOrEmpty(_Name))
          return string.Empty;
        else
          return _Name;
      }
      set { _Name = value; }
    }
    //项目分类所属的项目ID
    public int ProjectId {
      get { return _ProjectId; }
      set { _ProjectId = value; }
    }

    /***方法 ***/
    //-------------------------------------------------------------------------
      /// <summary>
      /// 删除项目分类
      /// </summary>
      /// <returns></returns>
    public bool Delete() {
      if (this.Id > DefaultValues.GetCategoryIdMinValue()) {
        DataAccess DALLayer = DataAccessHelper.GetDataAccess();
        return DALLayer.DeleteCategory(this.Id);
      }
      else
        return false;
    }
   //-------------------------------------------------------------------------
   /// <summary>
   /// 创建并保存指定的项目项目分类
   /// </summary>
   /// <returns></returns>
    public bool Save() {
      DataAccess DALLayer = DataAccessHelper.GetDataAccess();
      if (Id <= DefaultValues.GetCategoryIdMinValue()) {
        int TempId = DALLayer.CreateNewCategory(this);
        if (TempId > DefaultValues.GetCategoryIdMinValue()) {
          _Id = TempId;
          return true;
        }
        else
          return false;
      }
      else
        return (DALLayer.UpdateCategory(this));
    }

    /*** 静态方法 ***/
    //-------------------------------------------------------------------------
     /// <summary>
    /// 删除指定分类编号的项目分类。
     /// </summary>
     /// <param name="id"></param>
     /// <param name="original_Id"></param>
     /// <returns></returns>
    public static bool DeleteCategory(int id, int original_Id) {
      if (original_Id <= DefaultValues.GetCategoryIdMinValue())
        throw (new ArgumentOutOfRangeException("original_Id"));
      DataAccess DALLayer = DataAccessHelper.GetDataAccess();
      return (DALLayer.DeleteCategory(original_Id));
    }
    //-------------------------------------------------------------------------
    /// <summary>
    /// 获取所有的项目分类列表
    /// </summary>
    /// <returns></returns>
    public static List<Category> GetAllCategories() {
      DataAccess DALLayer = DataAccessHelper.GetDataAccess();
      return (DALLayer.GetAllCategories());
    }
    //-------------------------------------------------------------------------
    /// <summary>
    /// 获取指定分类编号的项目分类
    /// </summary>
    /// <param name="Id"></param>
    /// <returns></returns>
    public static Category GetCategoryByCategoryId(int Id) {
      if (Id <= DefaultValues.GetCategoryIdMinValue())
        return (null);
      DataAccess DALLayer = DataAccessHelper.GetDataAccess();
      return (DALLayer.GetCategoryByCategoryId(Id));
    }
    //-------------------------------------------------------------------------
    /// <summary>
    /// 获取指定项目的项目分类列表
    /// </summary>
    /// <param name="projectId"></param>
    /// <returns></returns>
    public static List<Category> GetCategoriesByProjectId(int projectId) {
      if (projectId <= DefaultValues.GetProjectIdMinValue())
        return (new List<Category>());
      DataAccess DALLayer = DataAccessHelper.GetDataAccess();
      return (DALLayer.GetCategoriesByProjectId(projectId));
    }
    //-------------------------------------------------------------------------
      /// <summary>
      /// 获取指定项目ID和分类名称的项目分类
      /// </summary>
      /// <param name="categoryName"></param>
      /// <param name="projectId"></param>
      /// <returns></returns>
    public static Category GetCategoryByCategoryNameandProjectId(string categoryName, int projectId) {
      if (projectId <= DefaultValues.GetProjectIdMinValue() || String.IsNullOrEmpty(categoryName))
        return (null);

      DataAccess DALLayer = DataAccessHelper.GetDataAccess();
      return (DALLayer.GetCategoryByCategoryNameandProjectId(categoryName, projectId));

    }
    //-------------------------------------------------------------------------
    /// <summary>
    /// 从指定的项目ID返回项目分类列表
    /// </summary>
    /// <param name="ProjectIds"></param>
    /// <returns></returns>
    public static List<Category> GetCategoriesByProjectIds(string ProjectIds) {

      if (String.IsNullOrEmpty(ProjectIds))
        return (new List<Category>());
      char[] separator = new char[] { ',' };
      string[] substrings = ProjectIds.Split(separator);// ,true);
      List<Category> list = new List<Category>();

      foreach (string str in substrings) {
        int id = Convert.ToInt32(str);
        List<Category> tempList = Category.GetCategoriesByProjectId(id);
        foreach (Category category in tempList) {
          list.Add(category);
        }
      }
      return list;
    }
    //-------------------------------------------------------------------------
      /// <summary>
      /// 更新项目列表
      /// </summary>
      /// <param name="Abbreviation"></param>
      /// <param name="original_Id"></param>
      /// <param name="EstimateDuration"></param>
      /// <param name="Name"></param>
      /// <returns></returns>
    public static bool UpdateCategory(string Abbreviation, int original_Id, decimal EstimateDuration, string Name/*, int id*/) {
      if (String.IsNullOrEmpty(Name))
        throw (new NullReferenceException("Name"));
      Category updateCategory = Category.GetCategoryByCategoryId(original_Id);
      if (updateCategory != null) {
        updateCategory.Abbreviation = Abbreviation;
        updateCategory.EstimateDuration = EstimateDuration;
        updateCategory.Name = Name;
        return (updateCategory.Save());
      }
      else
        return false;
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -