public void SetUp()
        {
            // Arrange
            _unitOfWork         = Mock.Of <IUnitOfWork>();
            _statementGenerator = Mock.Of <IStatementGenerator>();
            _emailSender        = Mock.Of <IEmailSender>();
            _messageBox         = Mock.Of <IXtraMessageBox>();

            _service = new HousekeeperServiceWithDependencyInjection(_unitOfWork, _statementGenerator, _emailSender, _messageBox);

            _housekeeper = new Housekeeper
            {
                Email              = "a",
                FullName           = "b",
                Oid                = 1,
                StatementEmailBody = "c"
            };

            Mock.Get(_unitOfWork)
            .Setup(uow => uow.Query <Housekeeper>())
            .Returns(new List <Housekeeper> {
                _housekeeper
            }.AsQueryable());

            _statementFilename = "filename";
            Mock.Get(_statementGenerator)
            .Setup(sg => sg.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, _statementDate))
            .Returns(() => _statementFilename);      // Func/delegate/lambda expression for "lazy evaluation" so we can change it in the Unit Tests
        }
 public HousekeeperService(IUnitOfWork houseKeeperRepository, IStatementGenerator statementGenerator, IEmailSender emailSender, IXtraMessageBox messageBox)
 {
     _unitOfWork         = houseKeeperRepository;
     _statementGenerator = statementGenerator;
     _emailSender        = emailSender;
     _messageBox         = messageBox;
 }
 public HousekeeperService(IUnitOfWork unitOfWork, IStatementGenerator statementGenerator, IEmailSender emailSender, IXtraMessageBox xtraMessageBox)
 {
     _unitOfWork         = unitOfWork;
     _statementGenerator = statementGenerator;
     _emailSender        = emailSender;
     _xtraMessageBox     = xtraMessageBox;
 }
 public HousekeeperHelper(IHouseKeeperRepository repo,
                          IStatementGenerator statementGenerator,
                          IEmailSender emailSender,
                          IXtraMessageBox xtraMessageBox)
 {
     _statementGenerator = statementGenerator;
     _emailSender        = emailSender;
     _xtraMessageBox     = xtraMessageBox;
     _repo = repo;
 }
Пример #5
0
 public HousekeeperHelper(IUnitOfWork unitOfWork,
                          IStatementGenerator statementGenerator,
                          IEmailSender emailSender,
                          IXtraMessageBox messageBox)
 {
     _unitOfWork         = unitOfWork;
     _statementGenerator = statementGenerator;
     _emailSender        = emailSender;
     _messageBox         = messageBox;
 }
Пример #6
0
 public HousekeeperHelper(IUnitOfWork UnitOfWork,
                          IStatementGenerator statementGenerator,
                          IEmailSender emailSender,
                          IXtraMessageBox xtraMessageBox)
 {
     this.unitOfWork         = UnitOfWork;
     this.statementGenerator = statementGenerator;
     this.emailSender        = emailSender;
     this.xtraMessageBox     = xtraMessageBox;
 }
 public HousekeeperService(
     IHousekeeperRepository repository,
     IStatementGenerator statementGenerator,
     IEmailSender emailSender,
     IXtraMessageBox messageBox)
 {
     _repository         = repository;
     _statementGenerator = statementGenerator;
     _emailSender        = emailSender;
     _messageBox         = messageBox;
 }
Пример #8
0
 public HousekeeperService(
     IUnitOfWork unitOfWork,
     IStatementGenerator statementGenerator,
     IEmailSender emailSender,
     IXtraMessageBox messageBox)
 {
     _statementGenerator = statementGenerator;
     _emailSender        = emailSender;
     _messageBox         = messageBox;
     _unitOfWork         = unitOfWork ?? new UnitOfWork();
 }
Пример #9
0
 public HousekeeperService(
     IUnitOfWork unitOfWork,
     IStatementGenerator statementGenerator,
     IEmailSender emailSender,
     IXtraMessageBox messageBox)
 {
     this._statementGenerator = statementGenerator;
     this._unitOfWork         = unitOfWork;
     this._emailSender        = emailSender;
     this._messageBox         = messageBox;
 }
 public HousekeeperService(
     IUnitOfWorkRepository unitOfWork,
     IStatementGenerator statementGenerator,
     IEmailService emailService,
     IXtraMessageBox xtraMessageBox)
 {
     _unitOfWork         = unitOfWork;
     _statementGenerator = statementGenerator;
     _emailService       = emailService;
     _xtraMessageBox     = xtraMessageBox;
 }
 public HousekeeperHelper2(
     IHousekeeperHelperRepository houseKeeperRepository,
     IStatementGenerator statementGenerator,
     IEmailSender emailSender,
     IXtraMessageBox xtraMessageBox)
 {
     _houseKeeperRepository = houseKeeperRepository;
     _statementGenerator    = statementGenerator;
     _emailSender           = emailSender;
     _xtraMessageBox        = xtraMessageBox;
 }
Пример #12
0
 public HousekeeperService(
     IUnitOfWork unitOfWork,
     IHousekeeperMailManager mailManager,
     IStatementGenerator statementGenerator,
     IXtraMessageBox xtraMessageBox)
 {
     _unitOfWork         = unitOfWork;
     _mailManager        = mailManager;
     _statementGenerator = statementGenerator;
     _xtraMessageBox     = xtraMessageBox;
 }
Пример #13
0
 public HousekeeperServiceWithDependencyInjection(
     IUnitOfWork unitOfWork,
     IStatementGenerator statementGenerator,
     IEmailSender emailSender,
     IXtraMessageBox messageBox
     )
 {
     _unitOfWork         = unitOfWork;
     _statementGenerator = statementGenerator;
     _emailSender        = emailSender;
     _messageBox         = messageBox;
 }
Пример #14
0
        public static bool SendStatementEmails(IUnitOfWork unitOfWork, IStatementGenerator statementGenerator, IEmailer emailer, DateTime statementDate)
        {
            var housekeepers = unitOfWork.Query <Housekeeper>();

            if (housekeepers.Count() == 0)
            {
                return(false);
            }

            foreach (var housekeeper in housekeepers)
            {
                if (housekeeper.Email == null)
                {
                    continue;
                }

                var statementFilename = statementGenerator.SaveStatement(housekeeper.Oid, housekeeper.FullName, statementDate);

                if (string.IsNullOrWhiteSpace(statementFilename))
                {
                    continue;
                }

                var emailAddress = housekeeper.Email;
                var emailBody    = housekeeper.StatementEmailBody;

                try
                {
                    emailer.Email(emailAddress, emailBody, statementFilename,
                                  string.Format("Sandpiper Statement {0:yyyy-MM} {1}", statementDate, housekeeper.FullName));
                }
                catch (Exception e)
                {
                    XtraMessageBox.Show(e.Message, string.Format("Email failure: {0}", emailAddress),
                                        MessageBoxButtons.OK);
                }
            }
            return(true);
        }
Пример #15
0
 public HouseKeeperService(IUnitOfWork unitOfWork, IStatementGenerator statementGenerator, IEmailSender emailSender)
 {
     _unitOfWork         = unitOfWork;
     _statementGenerator = statementGenerator;
     _emailSender        = emailSender;
 }
Пример #16
0
 public void SetUp()
 {
     _statementGenerator = new StatementGenerator();
 }
Пример #17
0
 public Customer(string name, IStatementGenerator statementGenerator)
 {
     Name = name;
     _statementGenerator = statementGenerator;
 }
Пример #18
0
 public void InjectDependency(IStatementGenerator dependency)
 {
     _statementGenerator = dependency;
 }