public class UserController { private readonly Database _database = new Database(); private readonly MessageBus _messageBus = new MessageBus(); public void ChangeEmail(int userId, string newEmail) { object[] data = _database.GetUserById(userId); string email = (string)data[1]; UserType type = (UserType)data[2]; var user = new User(userId, email, type); object[] companyData = _database.GetCompany(); string companyDomainName = (string)companyData[0]; int numberOfEmployees = (int)companyData[1]; int newNumberOIfEmployees = user.ChangeEmail(newEmail, companyDomainName, numberOfEmployees); _database.SaveCompany(newNumberOIfEmployees); _database.SaveUser(user); _messageBus.SendEmailChangedMEssage(userId, newEmail); } }