public SchoolDistrictsController(
			PacBillContext context,
			ISchoolDistrictRepository schoolDistricts,
			ILogger<SchoolDistrictsController> logger)
		{
			_context = context;
			_schoolDistricts = schoolDistricts;
			_logger = logger;
		}
예제 #2
0
        private static IList <Payment> XlsxToPayments(ISchoolDistrictRepository districts, DateTime?date, Stream stream)
        {
            var wb    = new Workbook(stream);
            var sheet = wb.Worksheets[0];

            const int aunIndex    = 0;
            const int amountIndex = 3;

            var          amountHeader = sheet.Cells[0, amountIndex].StringValue.Trim();
            const string pattern      = @"^(\w+) (\d{4}).*$";
            var          matches      = Regex.Matches(amountHeader, pattern);

            if (matches.Count != 1)
            {
                throw new ArgumentException($"Column {amountIndex + 1} header has invalid format. Expected '{pattern}'.");
            }

            var    groups = matches[0].Groups;
            var    month  = Month.ByName()[groups[1].Value];
            var    year   = int.Parse(groups[2].Value);
            string schoolYear;

            if (month.FirstYear)
            {
                schoolYear = $"{year}-{year + 1}";
            }
            else
            {
                schoolYear = $"{year - 1}-{year}";
            }

            var payments = new List <Payment>();

            for (var i = 1; i < sheet.Cells.MaxDataRow; i++)
            {
                var row = sheet.Cells.GetRow(i);
                if (row == null || row.IsBlank)
                {
                    continue;
                }

                payments.Add(new Payment
                {
                    Split          = 1,
                    Date           = date.HasValue ? date.Value : new DateTime(year, month.Number, 1),
                    ExternalId     = "PDE UNIPAY",
                    Type           = PaymentType.UniPay,
                    Amount         = (double)sheet.Cells[i, amountIndex].DoubleValue,
                    SchoolYear     = schoolYear,
                    SchoolDistrict = districts.GetByAun(sheet.Cells[i, aunIndex].IntValue),
                });
            }

            return(payments);
        }
예제 #3
0
 public SchoolService(ILogger <SchoolService> logger,
                      GRA.Abstract.IDateTimeProvider dateTimeProvider,
                      IUserContextProvider userContextProvider,
                      ISchoolDistrictRepository schoolDistrictRepository,
                      ISchoolRepository schoolRepository) : base(logger, dateTimeProvider, userContextProvider)
 {
     _schoolDistrictRepository = schoolDistrictRepository
                                 ?? throw new ArgumentNullException(nameof(schoolDistrictRepository));
     _schoolRepository = schoolRepository
                         ?? throw new ArgumentNullException(nameof(schoolRepository));
 }
예제 #4
0
 public PaymentsController(
     PacBillContext context,
     IPaymentRepository payments,
     ISchoolDistrictRepository districts,
     ILogger <PaymentsController> logger)
 {
     _context   = context;
     _payments  = payments;
     _districts = districts;
     _logger    = logger;
 }
예제 #5
0
 public RefundsController(
     PacBillContext context,
     IRefundRepository refunds,
     ISchoolDistrictRepository districts,
     ILogger <RefundsController> logger)
 {
     _context   = context;
     _refunds   = refunds;
     _districts = districts;
     _logger    = logger;
 }
예제 #6
0
 public SchoolService(ILogger <SchoolService> logger,
                      GRA.Abstract.IDateTimeProvider dateTimeProvider,
                      IUserContextProvider userContextProvider,
                      ISchoolDistrictRepository schoolDistrictRepository,
                      ISchoolRepository schoolRepository,
                      IUserRepository userRepository) : base(logger, dateTimeProvider, userContextProvider)
 {
     _schoolDistrictRepository = Require.IsNotNull(schoolDistrictRepository,
                                                   nameof(schoolDistrictRepository));
     _schoolRepository = Require.IsNotNull(schoolRepository, nameof(schoolRepository));
     _userRepository   = Require.IsNotNull(userRepository, nameof(userRepository));
 }
 public RegistrationsAchieversBySchoolReport(ILogger <RegistrationsAchieversReport> logger,
                                             ServiceFacade.Report serviceFacade,
                                             ISchoolDistrictRepository schoolDistrictRepository,
                                             ISchoolRepository schoolRepository,
                                             ISchoolTypeRepository schoolTypeRepository,
                                             IUserRepository userRepository) : base(logger, serviceFacade)
 {
     _schoolDistrictRepository = schoolDistrictRepository
                                 ?? throw new ArgumentNullException(nameof(schoolDistrictRepository));
     _schoolRepository = schoolRepository
                         ?? throw new ArgumentNullException(nameof(schoolRepository));
     _schoolTypeRepository = schoolTypeRepository
                             ?? throw new ArgumentNullException(nameof(schoolTypeRepository));
     _userRepository = userRepository
                       ?? throw new ArgumentNullException(nameof(userRepository));
 }
예제 #8
0
 public SchoolService(ILogger <SchoolService> logger,
                      IUserContextProvider userContextProvider,
                      IEnteredSchoolRepository enteredSchoolRepository,
                      ISchoolDistrictRepository schoolDistrictRepository,
                      ISchoolRepository schoolRepository,
                      ISchoolTypeRepository schoolTypeRepository,
                      IUserRepository userRepository) : base(logger, userContextProvider)
 {
     _enteredSchoolRepository = Require.IsNotNull(enteredSchoolRepository,
                                                  nameof(enteredSchoolRepository));
     _schoolDistrictRepository = Require.IsNotNull(schoolDistrictRepository,
                                                   nameof(schoolDistrictRepository));
     _schoolRepository     = Require.IsNotNull(schoolRepository, nameof(schoolRepository));
     _schoolTypeRepository = Require.IsNotNull(schoolTypeRepository,
                                               nameof(schoolTypeRepository));
     _userRepository = Require.IsNotNull(userRepository, nameof(userRepository));
 }