tengo la siguiente clase
public class Employee
{
public int Id { get; set; }
public int IdBonus { get; set; }
public DateTime Date { get; set; }
public string Name { get; set; }
}
y estoy llenando una lista de esta manera
private List<Employee> GetListEMployees()
{
Employee Gustavo = new Employee()
{
Id = 1,
Date = new DateTime(1981, 7, 7),
IdBonus = 1,
Name = "Gustavo"
};
Employee Pedro = new Employee()
{
Id = 2,
Date = new DateTime(1981, 7, 7),
IdBonus = 1,
Name = "Pedro"
};
Employee Perla = new Employee()
{
Id = 3,
Date = new DateTime(1982, 12, 7),
IdBonus = 10,
Name = "Perla"
};
Employee Felipe = new Employee()
{
Id = 4,
Date = new DateTime(1992, 2, 4),
IdBonus = 6,
Name = "Felipe"
};
List<Employee> employees = new List<Employee>();
employees.Add(Gustavo);
employees.Add(Pedro);
employees.Add(Perla);
employees.Add(Felipe);
return employees;
}
como pueden ver Gustavo y Pedro tienen la misma propiedad Date osea el mismo valor
y tambien el mismo valor en la propiedad IdBonus
entonces que busco lograr
Filtrar la lista por los que son distintos en esas propiedades IdBonos, y date que serian Felipe y Perla.
y también filtrar por los que son iguales que serian Gustavo y Pedro.
y tambien regresar un Bool si existen iguales que por ejemplo si existe gustavo y pedro regresar true y si no estuvieran regresar false.
Intente usar esto.
public class EmployeeComparerById : IEqualityComparer<Employee>
{
public bool Equals(Employee x, Employee y)
{
return x.Id == y.Id;
}
public int GetHashCode(Employee obj)
{
return obj.Id.GetHashCode();
}
}
public class EmployeeComparerByIdBonus : IEqualityComparer<Employee>
{
public bool Equals(Employee x, Employee y)
{
return x.IdBonus == y.IdBonus;
}
public int GetHashCode(Employee obj)
{
return obj.IdBonus.GetHashCode();
}
}
public class EmployeeComparerByDate : IEqualityComparer<Employee>
{
public bool Equals(Employee x, Employee y)
{
return x.Date == y.Date;
}
public int GetHashCode(Employee obj)
{
return obj.IdBonus.GetHashCode();
}
}
creando las clases de comparación pero el metodo Distinct no me permite pasarle las 3 clases solo una.
Podrían apoyarme con este tema
De antemano muchas Gracias