Ejemplo n.º 1
0
        public static IApplicationRequirements <TApp> CreateApplicationRequirements <TApp>(string[] args, ConfigureLocalServices <TApp> localServiceConfiguration = null) where TApp : class
        {
            ConfigurationResults <TApp> config = new ConfigurationResults <TApp>();

            config.builder = CreateHostBuilder <TApp>(args, localServiceConfiguration);
            config.myHost  = config.builder.Build();
            IApplicationRequirements <TApp> requirements = config.myHost.Services.GetRequiredService <IApplicationRequirements <TApp> >();

            return(requirements);
        }
        /// <summary>
        /// We use constructor dependency injection to the interfaces we need at runtime
        /// </summary>
        /// <param name="requirements"></param>
        public MyApplication(IApplicationRequirements <MyApplication> requirements, IFileStorageFacade storage, IMessageBus messsageBus, IApplicationCache applicationCache)
        {
            _requirements     = requirements;
            _storage          = storage;
            _messsageBus      = messsageBus;
            _applicationCache = applicationCache;

            // Create a bunch of dummy requests to send
            requests.Add(new RegisterClientRequest {
                ClientName = "Ford", ConsultantName = "Tom Petty"
            });
            requests.Add(new RegisterClientRequest {
                ClientName = "Ford", ConsultantName = "Bob Jones"
            });
            requests.Add(new RegisterClientRequest {
                ClientName = "IBM ", ConsultantName = "Albert Einstein"
            });
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Application initialization.
        /// </summary>
        /// <param name="requirements">IApplicationRequirements Supplied by DI. All required interfaces</param>
        /// <param name="dSuiteContext">DbContext for DSuite database</param>
        /// <param name="schoolContext">DbContext for School database</param>
        /// <param name="cars">ICarRepository Example of using repository pattern</param>
        /// <param name="courses">ICourseRepository Example of using repository pattern</param>
        /// <param name="students">IStudentsRepository Example of using repository pattern</param>
        /// <param name="enrollments">IEnrollmentsRepository Example of using repository pattern</param>
        public MyApplication(IApplicationRequirements <MyApplication> requirements,
                             DSuiteContext dSuiteContext,
                             SchoolContext schoolContext,
                             ICarRepository cars,
                             ICourseRepository courses,
                             IStudentRepository students,
                             IEnrollmentRepository enrollments,
                             IDataRepository <Student, int, SchoolContext> genericStudentDataRepository
                             )
        {
            _requirements = requirements;
            _dSuite       = dSuiteContext;
            _school       = schoolContext;
            _cars         = cars;
            _courses      = courses;
            _students     = students;
            _enrollments  = enrollments;

            // Same as the _students interface, except it's an open generic type
            _genericStudentDataRepository = genericStudentDataRepository;

            EFCrud.InitializeLogger(_requirements.ApplicationLogger);
            EFHelper.InitializeLogger(_requirements.ApplicationLogger);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// We use constructor dependency injection to the interfaces we need at runtime
 /// </summary>
 /// <param name="requirements"></param>
 public MyApplication(IApplicationRequirements <MyApplication> requirements, IMessageBus messsageBus)
 {
     _requirements = requirements;
     _messsageBus  = messsageBus;
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Application initialization.
 /// </summary>
 /// <param name="requirements">IApplicationRequirements contains all the other interfaces that the application needs</param>
 public MyApplication(IApplicationRequirements <MyApplication> requirements)
 {
     _requirements = requirements;
 }