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)); }
// 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)); } }
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)); } }
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)); }