Seeing as I don't have a variable to work with when using dependency injection, how would I add an event listener to a service?
Here is the ProjectService
public class ProjectService
{
protected AppDbContext _db;
public ProjectService(AppDbContext db)
{
_db = db;
}
public IQueryable<Project> GetProjects()
{
return _db.Projects;
}
public Project CreateProject (Project Project)
{
Project project = _db.Projects.Add(Project).Entity;
OnProjectCreated(project);
_db.SaveChanges();
return project;
}
public Project UpdateProject (Project Project)
{
Project project = _db.Projects.Update(Project).Entity;
_db.SaveChanges();
return project;
}
public Project DeleteProject (Project Project)
{
_db.Projects.Remove(Project);
_db.SaveChanges();
return Project;
}
public event EventHandler<ProjectEventArgs> ProjectCreated;
protected virtual void OnProjectCreated(Project project)
{
ProjectCreated?.Invoke(this, new ProjectEventArgs(project));
}
}
and this is how I inject it
services.AddTransient<ProjectService>();