예제 #1
0
        public Task Handle(AddEmployeeEvent notification, CancellationToken cancellationToken)
        {
            if (_companyCatalog.TryGetValue(notification.Company, out InMemoryCompany inMemoryCompany))
            {
                var inMemoryEmployee = notification.Employee.ToInMemoryEmployee();
                inMemoryCompany.Employees.Add(inMemoryEmployee);
                _employeeCatalog.Add(inMemoryEmployee.Id, inMemoryEmployee);
            }

            return(Task.CompletedTask);
        }
예제 #2
0
    public EmployeeQueueMonitor(Employees employees)
    {
        m_employees   = employees;
        m_lengthQueue = 4;

        m_logger = new EmployeeQueueLogger("log.txt");

        // Register the methods that the Event will invoke when an add
        // employee message is read from the message queue
        OnAddEmployee +=
            new AddEmployeeEvent(this.addEmployee);
        OnAddEmployee +=
            new AddEmployeeEvent(m_logger.logAddRequest);
    }
예제 #3
0
    public EmployeeQueueMonitor(Employees employees)
    {
        m_employees = employees;
        m_queue     = new EmployeeMessageQueue();

        m_logger    = new EmployeeQueueLogger("log.txt");
        m_errLogger = new ErrorLogger("errlog.txt");

        // Register the event callbacks
        OnAddEmployee +=
            new AddEmployeeEvent(this.addEmployee);
        OnAddEmployee +=
            new AddEmployeeEvent(m_logger.logAddRequest);

        OnHoursWorked +=
            new HoursWorkedEvent(this.addHoursWorked);
        OnHoursWorked +=
            new HoursWorkedEvent(m_logger.logHoursWorked);
    }