コード例 #1
0
        public void Equality()
        {
            var  rawString = "This is a task @online @home +project +anotherproject";
            Task a         = new Task(rawString);
            Task b         = new Task(rawString);
            Task c         = new Task("This is different task @home +anotherproject");

            IEqualityComparer <Task> comparer = new TaskEqualityComparer();

            Assert.IsTrue(comparer.Equals(a, b));
            Assert.IsFalse(comparer.Equals(b, c));
            Assert.IsFalse(comparer.Equals(a, c));
        }
コード例 #2
0
        // GET: Tasks
        public ActionResult Index()
        {
            if (!Globals.LOGIN_STATUS)
            {
                return(RedirectToAction("Login", "Home"));
            }
            else
            {
                TasksHomeVM model = new TasksHomeVM();
                model.CurrentUser = Globals.LOGGED_IN_USER;

                var taskEqualityComparer = new TaskEqualityComparer();

                GetDAL get = new GetDAL();
                get.OpenConnection();

                model.TasksUnfinishedNotYetDueForUser = get.GetUnfinishedTasksDueAfter(model.CurrentUser, DateTime.Now);

                model.FinishedTasks = get.GetFinishedTasks(model.CurrentUser);

                IEnumerable <Task> difference = get.GetTasksByAssignedToUser(model.CurrentUser).Except(model.TasksUnfinishedNotYetDueForUser, taskEqualityComparer).Except(model.FinishedTasks, taskEqualityComparer);

                model.TasksOverDueForUser = difference.ToList();

                model.TasksAssignedByUser = get.GetTasksByAssignedByUser(model.CurrentUser);

                model.LstAllEvents   = get.GetAllEvents();
                model.LstAdminEvents = get.GetAdminEventsByUser(model.CurrentUser.IntUserID);

                if (model.LstAdminEvents.Any())
                {
                    model.LstAllUsersForAdminEvents = get.GetAllUsersForAdminEvents(model.LstAdminEvents);
                }

                get.CloseConnection();

                return(View("TasksHome", model));
            }
        }
コード例 #3
0
        public ActionResult Dashboard()
        {
            if (!Globals.LOGIN_STATUS)
            {
                return(RedirectToAction("Login"));
            }
            else
            {
                DashboardVM model = new DashboardVM();
                model.CurrentUser = Globals.LOGGED_IN_USER;
                model.LstEvents   = model.CurrentUser.LstEvents;

                GetDAL get = new GetDAL();
                get.OpenConnection();

                var taskEqualityComparer = new TaskEqualityComparer();

                // upcoming tasks should be all tasks due before two days from now EXCEPT ones already completed EXCEPT ones overdue
                // orrrr upcoming tasks should be all unfinished tasks due after today EXCEPT all tasks due after two days from now
                model.LstUpcomingTasks = get.GetUnfinishedTasksDueAfter(model.CurrentUser, DateTime.Now).Except(get.GetUnfinishedTasksDueAfter(model.CurrentUser, DateTime.Now.AddDays(DAYS_TO_SHOW_TASKS)), taskEqualityComparer).ToList();

                // overdue tasks should be all tasks that are unfinished that are due before today
                model.LstOverdueTasks = get.GetUnfinishedTasksDueBefore(model.CurrentUser, DateTime.Now);


                /****************************** upcoming rehearsals stuff start *********/

                get.CloseConnection();
                get.OpenConnection();

                // get LstUpcomingRehearsals

                model.LstUpcomingRehearsals = get.GetUpcomingRehearsalsByUser(Globals.LOGGED_IN_USER);

                foreach (var r in model.LstUpcomingRehearsals)
                {
                    r.LstRehearsalParts = get.GetRehearsalPartsByRehearsal(r);
                    foreach (RehearsalPart rp in r.LstRehearsalParts)
                    {
                        rp.LstMembers = get.GetUsersByRehearsalPart(rp);
                    }
                    r.LstRehearsalParts = r.LstRehearsalParts.Where(x => x.LstMembers.Contains(Globals.LOGGED_IN_USER)).ToList();
                }

                model.LstUpcomingRehearsals = model.LstUpcomingRehearsals.Where(x => x.DtmStartDateTime <= DateTime.Now.AddDays(7)).ToList();
                //get.CloseConnection();
                //get.OpenConnection();
                //// get members in each rehearsal
                //foreach (RehearsalPart rp in model.LstUpcomingRehearsalParts)
                //{
                //    rp.LstMembers = get.GetUsersByRehearsalPart(rp);
                //}

                //foreach (var e in get.GetEventsByUser(Globals.LOGGED_IN_USER.IntUserID))
                //{
                //    get.CloseConnection();
                //    get.OpenConnection();
                //    model.LstUserRehearsalParts = model.LstUserRehearsalParts.Concat(get.GetRehearsalPartsByEvent(e)).ToList();
                //}
                //get.CloseConnection();
                //get.OpenConnection();
                //model.LstUpcomingRehearsalParts = get.GetUpcomingRehearsalPartsByUser(Globals.LOGGED_IN_USER);

                //model.LstUnscheduledRehearsalParts = model.LstUserRehearsalParts.Where(x => x.DtmStartDateTime.Equals(null)).ToList();

                //model.LstUpcomingRehearsalParts = model.LstUpcomingRehearsalParts.Except(model.LstUnscheduledRehearsalParts.ToList()).ToList();


                //foreach (var r in model.LstUpcomingRehearsals)
                //{
                //    r.LstRehearsalParts = get.GetRehearsalPartsByRehearsal(r);
                //}

                //get.CloseConnection();
                //get.OpenConnection();
                //foreach (RehearsalPart rp in model.LstUpcomingRehearsalParts)
                //{
                //    rp.LstMembers = get.GetUsersByRehearsalPart(rp);
                //}
                //get.CloseConnection();
                /****************************** upcoming rehearsals stuff end *********/

                //foreach (Event e in model.LstEvents)
                //{
                //    List<Rehearsal> rehearsals = get.GetRehearsalsByEvent(e);
                //    if (rehearsals.Any())
                //    {
                //        model.LstUpcomingRehearsals = rehearsals;
                //    }
                //}

                get.CloseConnection();

                return(View("Dashboard", model));
            }
        }
コード例 #4
0
		public void Equality()
		{
			var rawString = "This is a task @online @home +project +anotherproject";
			Task a = new Task(rawString);
			Task b = new Task(rawString);
			Task c = new Task("This is different task @home +anotherproject");

			IEqualityComparer<Task> comparer = new TaskEqualityComparer();

			Assert.IsTrue(comparer.Equals(a, b));
			Assert.IsFalse(comparer.Equals(b, c));
			Assert.IsFalse(comparer.Equals(a, c));
		}