Exemple #1
0
        static void Main(string[] args)
        {
            StudentRepository studentRepository = new StudentRepository();
            LibraryRepository libraryRepository = new LibraryRepository();
            LoansRepository   loansRepository   = new LoansRepository();

            Console.WriteLine("################");
            Console.WriteLine("# de schoolbib #");
            Console.WriteLine("################");

            Console.WriteLine("Druk op toets om door te gaan.");
            Console.ReadKey();


            LoginInterface login = new LoginInterface();

            //Open login interface
            login.ShowLoginInterface();

            //openselfservice
            LoanBookInterface loanBookInterface = new LoanBookInterface(login.LoggedStudent);
            ReturnInterface   returnInterface   = new ReturnInterface(login.LoggedStudent);
            AllLoans          allLoans          = new AllLoans(login.LoggedStudent);
            PayFines          payFines          = new PayFines(login.LoggedStudent);
            char choice;

            do
            {
                Console.Clear();
                Console.WriteLine("###############");
                Console.WriteLine("# Selfservice #");
                Console.WriteLine("###############" + Environment.NewLine);
                Console.WriteLine($"Welcome {login.LoggedStudent.FirstName} {login.LoggedStudent.LastName}!");
                Console.WriteLine("a. Boek Lenen");
                Console.WriteLine("b. Boek Inleveren ");
                Console.WriteLine("c. Overzicht van ontlening bekijken");
                Console.WriteLine("d. Ontlening verlengen");
                Console.WriteLine("e. Boetes betalen");
                Console.WriteLine("x. exit");
                Console.Write("Maak je keuze:");

                choice = Convert.ToChar(Console.ReadLine().ToLower());

                switch (choice)
                {
                case 'a': loanBookInterface.ShowLoanBookInterface(); break;

                case 'b': returnInterface.ReturnBook(); break;

                case 'c': allLoans.GetLoans(); break;

                //case 'd': .ExtendLoan(); break;
                case 'e': payFines.ShowFines(); break;
                }
            } while (choice != 'x');



            Console.ReadKey();
        }
        private void SetProjectionListener(LoansRepository repository, IServiceCollection services)
        {
            var config = new RabbitMqConfig();

            configuration.GetSection("RabbitMq").Bind(config);

            var logger   = services.BuildServiceProvider().GetService <ILogger <RabbitMqPublisher> >();
            var rabbitMq = new RabbitMqChannelFactory().CreateReadChannel <Models.Loan, string>(config, "LoansRead", logger);

            rabbitMq.Received += (sender, projection) =>
            {
                if (projection.Upsert != null && projection.Upsert.Length > 0)
                {
                    repository.Upsert(projection.Upsert);
                }
                if (projection.Upsert != null && projection.Upsert.Length == 0)
                {
                    repository.Clear();
                }
                if (projection.Remove != null)
                {
                    repository.Remove(projection.Remove);
                }
            };
        }
Exemple #3
0
 public LoansService(LoansRepository loansRepository, ILogger <LoansService> logger, Mapper mapper, PaymentsClient paymentsClient, TransactionsClient transactionsClient)
 {
     this.loansRepository    = loansRepository;
     this.logger             = logger;
     this.mapper             = mapper;
     this.paymentsClient     = paymentsClient;
     this.transactionsClient = transactionsClient;
 }
Exemple #4
0
 public LoansWriteService(LoansRepository loansRepository, ILogger <LoansWriteService> logger, Mapper mapper, PaymentsWriteClient paymentsClient, RabbitMqPublisher projectionChannel)
 {
     this.loansRepository   = loansRepository;
     this.logger            = logger;
     this.mapper            = mapper;
     this.paymentsClient    = paymentsClient;
     this.projectionChannel = projectionChannel;
 }
        // List refresh methods

        private void RefreshRepositories()
        {
            var context = new LibraryContext();

            _authorsRepository    = new AuthorsRepository(context);
            _studentsRepository   = new StudentsRepository(context);
            _publishersRepository = new PublishersRepository(context);
            _booksRepository      = new BooksRepository(context);
            _loansRepository      = new LoansRepository(context);
        }
Exemple #6
0
        public StudentDetails(Student selectedStudent)
        {
            InitializeComponent();

            var context = new LibraryContext();

            _selectedStudent = selectedStudent;
            _loansRepository = new LoansRepository(context);
            _booksRepository = new BooksRepository(context);
            RefreshData();
        }
Exemple #7
0
        public CreateEditLoan()
        {
            InitializeComponent();

            var context = new LibraryContext();

            _loansRepository    = new LoansRepository(context);
            _studentsRepository = new StudentsRepository(context);
            _booksRepository    = new BooksRepository(context);

            createButton.Text = @"Create";
            RefreshStudentsAndBooksList();
            SearchAutoComplete();
        }
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddLogging(c => c.AddSerilog().AddFile("log.txt"));
            var repository = new LoansRepository();

            services.AddGrpc(options =>
            {
                options.Interceptors.Add <LoggingInterceptor>("LoansRead");
                options.MaxReceiveMessageSize = 16 * 1024 * 1024;
            });
            services.AddSingleton(CreateMapper());
            services.AddSingleton(repository);
            CreateClients(services);
            SetProjectionListener(repository, services);
        }
Exemple #9
0
        public CreateEditLoan(Loan loanToEdit)
        {
            InitializeComponent();

            var context = new LibraryContext();

            _loansRepository    = new LoansRepository(context);
            _studentsRepository = new StudentsRepository(context);
            _booksRepository    = new BooksRepository(context);
            _loanToEdit         = loanToEdit;

            createButton.Text = @"Edit";
            RefreshStudentsAndBooksList();
            FillInputFields();
            SearchAutoComplete();
        }
        public ContractorAppController(AccountantsRepository accountant,
            CarRepository car,
            ChequesRepository cheaque,
            CompaniesRepository companies,
            ContactsLoanRepository contactLoans,
            ExpensesRepository expenses,
            ExpensesTypes expensesTypes,

           FinancialcustodyRepository finacialCustody,
           InventoryprojectreleaseRepository inventoryprojectrelease,
           InventoryRepository inventory,
           InvoicesitemsRepository invoiceItem,
           InvoicesRepository invoice,
           LoansItemsRepository loanItems,
           LoansRepository loans,
           ProjectItemsRepository projectItems,
            UsersRepository userRepository
            )
        {
            _userRepository = userRepository;
            _accountant = accountant;
            _car = car;
            _cheaque = cheaque;
            _companies = companies;
            _contactLoans = contactLoans;
            _expenses = expenses;
            _expensesTypes = expensesTypes;

            _finacialCustody = finacialCustody;
            _inventoryprojectrelease = inventoryprojectrelease;
            _inventory = inventory;
            _invoiceItem = invoiceItem;
            _invoice = invoice;
            _loanItems = loanItems;
            _loans = loans;
            _projectItems = projectItems;
        }
Exemple #11
0
 public LoansService(LoansRepository loansRepository, ILogger <LoansService> logger, PublishingRouter publishingRouter)
 {
     this.loansRepository  = loansRepository;
     this.logger           = logger;
     this.publishingRouter = publishingRouter;
 }
 public LoanController(LoanEarnsRepository repisitory, LoansRepository repoLoans)
 {
     _repo      = repisitory;
     _repoLoans = repoLoans;
 }
Exemple #13
0
 public LoansController()
 {
     _loansRepository = new LoansRepository();
 }