public void Init()
        {
            _log = Substitute.For<ILog>();
            _dateCalculator = Substitute.For<IDateCalculator>();
            _powerService = Substitute.For<IPowerService>();
            _positionAggregator = Substitute.For<IPositionAggregator>();
            _fileNameGenerator = Substitute.For<IFileNameGenerator>();
            _reportContentWriter = Substitute.For<IReportContentWriter>();
            _file = Substitute.For<IFile>();
            _reportGenerator = new ReportGenerator(_log, _dateCalculator, _powerService, _positionAggregator, _fileNameGenerator, _reportContentWriter, _file);

            _reportFolder = @"C:\Temp\";
            _dates = new DateResult { ExtractDateTime = new DateTime(2015, 10, 5, 23, 34, 0), RequestDate = new DateTime(2015, 10, 6) };

            _powerTradeOne = new PowerTrade();
            _powerTradeTwo = new PowerTrade();
            _powerTrades = new[] { _powerTradeOne, _powerTradeTwo };
            _powerPosition = new PowerPosition();
            _fileName = "PowerPositions.csv";
            _content = "Local time, Volume etc";

            _dateCalculator.Calculate().Returns(_dates);
            _powerService.GetTrades(_dates.RequestDate).Returns(_powerTrades);
            _positionAggregator.Aggregate(_dates.RequestDate, Arg.Is<List<PowerTrade>>(x => x[0] == _powerTradeOne && x[1] == _powerTradeTwo)).Returns(_powerPosition);
            _fileNameGenerator.Generate(_dates.ExtractDateTime).Returns(_fileName);
            _reportContentWriter.Write(_powerPosition).Returns(_content);
        }
 public ReportGenerator(ILog log, IDateCalculator dateCalculator, IPowerService powerService, IPositionAggregator positionAggregator, IFileNameGenerator fileNameGenerator, IReportContentWriter reportContentWriter, IFile file)
 {
     _log = log;
     _dateCalculator = dateCalculator;
     _powerService = powerService;
     _positionAggregator = positionAggregator;
     _fileNameGenerator = fileNameGenerator;
     _reportContentWriter = reportContentWriter;
     _file = file;
 }
Esempio n. 3
0
 public DailyNotification(
     IDateCalculator dateCalculator,
     IEmailRepository emailRepository,
     IRequestRepository requestRepository,
     IUserRepository userRepository)
 {
     this.dateCalculator    = dateCalculator;
     this.emailRepository   = emailRepository;
     this.requestRepository = requestRepository;
     this.userRepository    = userRepository;
 }
 public DailyDetailsController(
     IDateCalculator dateCalculator,
     IRequestRepository requestRepository,
     ITriggerRepository triggerRepository,
     IUserRepository userRepository)
 {
     this.dateCalculator    = dateCalculator;
     this.requestRepository = requestRepository;
     this.triggerRepository = triggerRepository;
     this.userRepository    = userRepository;
 }
Esempio n. 5
0
 public DailySummary(
     IAllocationRepository allocationRepository,
     IDateCalculator dateCalculator,
     IEmailRepository emailRepository,
     IRequestRepository requestRepository)
 {
     this.allocationRepository = allocationRepository;
     this.dateCalculator       = dateCalculator;
     this.emailRepository      = emailRepository;
     this.requestRepository    = requestRepository;
 }
Esempio n. 6
0
 public SummaryModel(
     IDateCalculator dateCalculator,
     IRequestRepository requestRepository,
     IAllocationRepository allocationRepository,
     UserManager <ApplicationUser> userManager)
 {
     this.dateCalculator       = dateCalculator;
     this.requestRepository    = requestRepository;
     this.allocationRepository = allocationRepository;
     this.userManager          = userManager;
 }
Esempio n. 7
0
 public ReservationReminder(
     IDateCalculator dateCalculator,
     IEmailRepository emailRepository,
     IReservationRepository reservationRepository,
     UserManager <ApplicationUser> userManager)
 {
     this.dateCalculator        = dateCalculator;
     this.emailRepository       = emailRepository;
     this.reservationRepository = reservationRepository;
     this.userManager           = userManager;
 }
Esempio n. 8
0
 public ReservationsController(
     IConfigurationRepository configurationRepository,
     IDateCalculator dateCalculator,
     IReservationRepository reservationRepository,
     IUserRepository userRepository)
 {
     this.configurationRepository = configurationRepository;
     this.dateCalculator          = dateCalculator;
     this.reservationRepository   = reservationRepository;
     this.userRepository          = userRepository;
 }
Esempio n. 9
0
 public ReservationReminder(
     IDateCalculator dateCalculator,
     IEmailRepository emailRepository,
     IReservationRepository reservationRepository,
     IUserRepository userRepository)
 {
     this.dateCalculator        = dateCalculator;
     this.emailRepository       = emailRepository;
     this.reservationRepository = reservationRepository;
     this.userRepository        = userRepository;
 }
Esempio n. 10
0
 public AllocationNotifier(
     ILogger <AllocationNotifier> logger,
     IDateCalculator dateCalculator,
     IEmailRepository emailRepository,
     IScheduleRepository scheduleRepository,
     IUserRepository userRepository)
 {
     this.logger             = logger;
     this.dateCalculator     = dateCalculator;
     this.emailRepository    = emailRepository;
     this.scheduleRepository = scheduleRepository;
     this.userRepository     = userRepository;
 }
Esempio n. 11
0
 public RequestUpdater(
     IAllocationCreator allocationCreator,
     IConfigurationRepository configurationRepository,
     IDateCalculator dateCalculator,
     IRequestRepository requestRepository,
     IReservationRepository reservationRepository,
     IUserRepository userRepository)
 {
     this.allocationCreator       = allocationCreator;
     this.configurationRepository = configurationRepository;
     this.dateCalculator          = dateCalculator;
     this.requestRepository       = requestRepository;
     this.reservationRepository   = reservationRepository;
     this.userRepository          = userRepository;
 }
Esempio n. 12
0
 public AllocationCreator(
     IRequestRepository requestRepository,
     IReservationRepository reservationRepository,
     IAllocationRepository allocationRepository,
     ISystemParameterListRepository systemParameterListRepository,
     IDateCalculator dateCalculator,
     ISingleDayAllocationCreator singleDayAllocationCreator)
 {
     this.requestRepository             = requestRepository;
     this.reservationRepository         = reservationRepository;
     this.allocationRepository          = allocationRepository;
     this.systemParameterListRepository = systemParameterListRepository;
     this.dateCalculator             = dateCalculator;
     this.singleDayAllocationCreator = singleDayAllocationCreator;
 }
 public void Initialise()
 {
     _clock          = Substitute.For <IClock>();
     _dateCalculator = new DateCalculator(_clock);
 }
 public void Initialise()
 {
     _clock = Substitute.For<IClock>();
     _dateCalculator = new DateCalculator(_clock);
 }
Esempio n. 15
0
        static void Main(string[] args)
        {
            //set config file
            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Directory.GetCurrentDirectory())
                                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                                .Build();


            //debug
            // System.Console.WriteLine(configuration.GetConnectionString("PostgresConnectionString"));

            //Dependencies and services setup
            ServiceProvider serviceProvider = new ServiceCollection()
                                              .AddDbContext <RecordsDbContext>(option => option.UseNpgsql(configuration.GetConnectionString("PostgresConnectionString")))
                                              .AddSingleton <IDateCalculator, DateCalculator>()
                                              .AddSingleton <IInputReader, ConsoleInputReader>()
                                              .AddScoped <IRepository, RecordsRepository>()
                                              .AddScoped <DbContext, RecordsDbContext>()
                                              .BuildServiceProvider();

            IInputReader    reader     = serviceProvider.GetService <IInputReader>();
            IDateCalculator calculator = serviceProvider.GetService <IDateCalculator>();
            IRepository     repository = serviceProvider.GetService <IRepository>();
            DbContext       dbContext  = serviceProvider.GetService <DbContext>();

            dbContext.Database.EnsureCreated();


            // Dictionary<int, Delegate> methods = new Dictionary<int, Delegate>();
            // methods[0] = new Func<List<InputEntity>>(ReadAll);
            // methods[1] = new Func<InputEntity>(ReadOne);
            // methods[2] = new Action(DisplayCurrent);
            // methods[3] = new Action(DisplayAll);

            //input
            List <InputEntity> list = reader.ReadMultipleInputs();

            // //calculate
            List <OutputEntity> outputList = calculator.Calculate(list);

            //save to DB
            foreach (var op in outputList)
            {
                repository.AddRecord(op);
            }

            //output
            System.Console.WriteLine("\n============Successfully Added to Database=============\n");
            int exitChoice = 1;

            do
            {
                System.Console.WriteLine("\n1. Display Current Session Records \n2. Display All Records \n(Any Other). Exit : ");

                if (Int32.TryParse(Console.ReadLine(), out exitChoice))
                {
                    switch (exitChoice)
                    {
                    case 1:
                        DisplayCurrentResults(outputList);
                        break;

                    case 2:
                        DisplayAllDatabaseRecords(repository);
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    break;
                }
            }while(exitChoice == 1 || exitChoice == 2);
        }
 public ReservationRepository(IApplicationDbContext context, IDateCalculator dateCalculator, IMapper mapper)
 {
     this.context        = context;
     this.dateCalculator = dateCalculator;
     this.mapper         = mapper;
 }
Esempio n. 17
0
 public EditRequestsViewComponent(IDateCalculator dateCalculator, IRequestRepository requestRepository)
 {
     this.dateCalculator    = dateCalculator;
     this.requestRepository = requestRepository;
 }
Esempio n. 18
0
        // private ISession _session;

        //DI
        public HomeController(ILogger <HomeController> logger, IRepository calculationsRepository, IDateCalculator dateCalculator, IStringLocalizer <HomeController> localizer)
        {
            _logger = logger;
            _calculationsRepository = calculationsRepository;
            _dateCalculator         = dateCalculator;
            _localizer = localizer;

            // _session = session;
        }