Exemplo n.º 1
0
 /// <summary>
 /// Return a instance of <see cref="UnitOfWork"/>.
 /// </summary>
 /// <param name="context">Contexto to database.</param>
 public UnitOfWork(HolidaysContext context)
 {
     _holidaysContext       = context ?? throw new ArgumentNullException(nameof(context));
     _countryRepository     = new CountryRepository(_holidaysContext);
     _stateRepository       = new StateRepository(_holidaysContext);
     _ruleHolidayRepository = new RuleHolidayRepository(_holidaysContext);
     _holidayRepository     = new HolidayRepository(_holidaysContext);
 }
Exemplo n.º 2
0
        private static IRuleHolidayRepository GetRuleHolidayRepository(HolidaysContext dbContext)
        {
            if (_ruleHolidayRepository == null)
            {
                _ruleHolidayRepository = new RuleHolidayRepository(dbContext);
            }

            return(_ruleHolidayRepository);
        }
        /// <summary>
        /// Determines whether the record meets the business rules for adding a new record.
        /// </summary>
        /// <param name="countryRepository">Context for accessing the repository.</param>
        /// <param name="stateRepository">Context for accessing the repository.</param>
        /// <param name="ruleHolidayRepository">Context for accessing the repository.</param>
        public AddRuleHolidayServiceValidator(ICountryRepository countryRepository, IStateRepository stateRepository, IRuleHolidayRepository ruleHolidayRepository) : base()
        {
            _countryRepository     = countryRepository ?? throw new ArgumentNullException(nameof(countryRepository));
            _stateRepository       = stateRepository ?? throw new ArgumentNullException(nameof(stateRepository));
            _ruleHolidayRepository = ruleHolidayRepository ?? throw new ArgumentNullException(nameof(ruleHolidayRepository));

            ValidateComposeKey();
            ValidateCountryId();
            ValidateStateId();
        }
Exemplo n.º 4
0
        public static IUnitOfWorkCore GetUnitOfWorkCore()
        {
            if (_unitOfWorkCore == null)
            {
                HolidaysContext dbContext = GetInMemoryContext();

                //
                // TODO: Melhorar
                //
                ICountryRepository     countryRepository     = GetCountryRepository(dbContext);
                IStateRepository       stateRepository       = GetStateRepository(dbContext);
                IRuleHolidayRepository ruleHolidayRepository = GetRuleHolidayRepository(dbContext);
                IHolidayRepository     holidayRepository     = GetHolidayRepository(dbContext);

                _unitOfWorkCore = new UnitOfWork(dbContext);
            }

            return(_unitOfWorkCore);
        }
        private async Task <bool> RuleHolidayMustBeUniqueAsync(RuleHoliday ruleHoliday, IRuleHolidayRepository ruleRepository)
        {
            RuleHoliday record = (await ruleRepository.FindAsync(c => c.ComposeKey == ruleHoliday.ComposeKey)).FirstOrDefault();

            if (ruleHoliday.Action != ActionType.Register && record.Id == ruleHoliday.Id)
            {
                record = null;
            }

            return(record == null);
        }