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

📄 timeentriescollection.cs

📁 专业的办公oa代码下载 c#语言编写 三层结构
💻 CS
字号:
using System;
using System.Collections;

namespace qminoa.BLL.PM
{
	public class TimeEntriesCollection : ArrayList
	{
		public enum TimeEntryFields
		{
			InitValue,
			Day, 
			Category, 
			Project, 
			Hours, 
			Description
		}

		public void Sort(TimeEntryFields sortField, bool isAscending)
		{
			switch (sortField) 
			{
				case TimeEntryFields.Day:
					base.Sort(new DayComparer());
					break;
				case TimeEntryFields.Category:
					base.Sort(new CategoryComparer());
					break;
				case TimeEntryFields.Description:
					base.Sort(new DescriptionComparer());
					break;
				case TimeEntryFields.Hours:
					base.Sort(new HoursComparer());
					break;
				case TimeEntryFields.Project:
					base.Sort(new ProjectComparer());
					break;
			}

			if (!isAscending) base.Reverse();
		}

		private sealed class DayComparer : IComparer 
		{
			public int Compare(object x, object y)
			{
				TimeEntry first = (TimeEntry) x;
				TimeEntry second = (TimeEntry) y;
				return first.EntryDate.CompareTo(second.EntryDate);
			}
		}

		private sealed class CategoryComparer : IComparer 
		{
			public int Compare(object x, object y)
			{
				TimeEntry first = (TimeEntry) x;
				TimeEntry second = (TimeEntry) y;
				return first.CategoryName.CompareTo(second.CategoryName);
			}
		}

		private sealed class ProjectComparer : IComparer 
		{
			public int Compare(object x, object y)
			{
				TimeEntry first = (TimeEntry) x;
				TimeEntry second = (TimeEntry) y;
				return first.ProjectName.CompareTo(second.ProjectName);
			}
		}

		private sealed class DescriptionComparer : IComparer 
		{
			public int Compare(object x, object y)
			{
				TimeEntry first = (TimeEntry) x;
				TimeEntry second = (TimeEntry) y;
				return first.Description.CompareTo(second.Description);
			}
		}

		private sealed class HoursComparer : IComparer 
		{
			public int Compare(object x, object y)
			{
				TimeEntry first = (TimeEntry) x;
				TimeEntry second = (TimeEntry) y;
				return first.Duration.CompareTo(second.Duration);
			}
		}
	}
}

⌨️ 快捷键说明

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