Ejemplo n.º 1
0
        public MainWindow(IRepositoryFactory repositoryFactory)
            : base(Gtk.WindowType.Toplevel)
        {
            Resizable = true;

            this.rekeningRepository = repositoryFactory.CreateRepository<IRekeningRepository>();
            this.consumptieRepository = repositoryFactory.CreateRepository<IConsumptieRepository>();

            this.DeleteEvent += OnDeleteEvent;

            windowPaned = new VPaned();
            Add(windowPaned);

            initializeRekeningen(rekeningRepository);
            initializeConsumpties(consumptieRepository);

            ShowAll();
        }
Ejemplo n.º 2
0
        public MainWindow(HttpAgent httpAgent, IRepositoryFactory repositoryFactory)
            : base(Gtk.WindowType.Toplevel)
        {
            this.httpAgent = httpAgent;

            WindowPosition = WindowPosition.Center;

            rekeningRepository = repositoryFactory.CreateRepository<IRekeningRepository>();
            consumptieRepository = repositoryFactory.CreateRepository<IConsumptieRepository>();

            // Rekeningen overzicht
            rekeningOverzichtWidget = new RekeningOverzichtWidget();
            rekeningOverzichtWidget.Refresh(rekeningRepository.GetAll());
            rekeningOverzichtWidget.RekeningClicked += handleRekeningClicked;

            // Afrekenen button
            Pango.FontDescription fontDescription = Pango.FontDescription.FromString("Arial");
            fontDescription.Size = 13000;
            fontDescription.Weight = Pango.Weight.Bold;
            Label afrekenenLabel = new Label("Afrekenen");
            afrekenenLabel.ModifyFont(fontDescription);
            afrekenenButton = new Button();
            afrekenenButton.Add(afrekenenLabel);
            afrekenenButton.Clicked += handleAfrekenenButtonClicked;

            // Rechter panel (bestellingen)
            bestellingenOverzichtWidget = new BestellingenOverzichtWidget();

            box = new HBox(false, 3);
            box.PackStart(rekeningOverzichtWidget);
            box.PackStart(bestellingenOverzichtWidget);

            // Main box
            vbox = new VBox(false, 0);
            vbox.PackStart(box);
            vbox.PackEnd(afrekenenButton);
            Add(vbox);

            ShowAll();

            this.DeleteEvent += OnDeleteEvent;
        }
Ejemplo n.º 3
0
        void initializeRekeningen(IRekeningRepository rekeningRepository)
        {
            rekeningenTable = new Table(2, 1, false);
            windowPaned.Add1(rekeningenTable);

            rekeningenManager = new ObjectManagerWidget<Rekening>(typeof(RekeningWindow));
            rekeningenManager.GetObjectsFunc = delegate {
                return rekeningRepository.GetAll();
            };
            rekeningenManager.GetObjectTitleFunc = delegate(Rekening rekening) {
                return rekening.Naam;
            };
            rekeningenManager.DeleteObjectFunc = delegate(Rekening rekening) {
                try
                {
                    rekeningRepository.Delete(rekening.Naam);
                }
                catch(Exception ex)
                {
                    log.Error(ex);
                    UIHelper.ShowErrorDialog(this, "Kan rekening '{0}' niet verwijderen: " + ex.Message, rekening.Naam);
                }
                OnRefreshRekeningen();
            };
            rekeningenManager.UpdateObjectFunc = delegate(Rekening rekening) {
                try
                {
                    rekeningRepository.Update(rekening);
                }
                catch(Exception ex)
                {
                    log.Error(ex);
                    UIHelper.ShowErrorDialog(this, "Kan rekening '{0}' niet wijzigen: " + ex.Message, rekening.Naam);
                }
                OnRefreshRekeningen();
            };
            rekeningenManager.AddObjectFunc = delegate(Rekening rekening) {
                try
                {
                    rekeningRepository.Create(rekening);
                }
                catch(Exception ex)
                {
                    log.Error(ex);
                    UIHelper.ShowErrorDialog(this, "Kan rekening '{0}' niet toevoegen: " + ex.Message, rekening.Naam);
                }
                OnRefreshRekeningen();
            };
            rekeningenTable.Attach(rekeningenManager, 0, 1, 0, 1);

            rekeningenOverzicht = new OverzichtWidget<Rekening>(new OverzichtWidgetColumn("Naam", 0, "{0}:"), new OverzichtWidgetColumn("Waarde", 1, "{0:C}"));
            rekeningenTable.Attach(rekeningenOverzicht, 0, 1, 1, 2);
            OnRefreshRekeningen();
            rekeningenManager.Refresh();
        }
Ejemplo n.º 4
0
 public RekeningService(IRekeningRepository repoRekeningen)
 {
     this.repoRekeningen = repoRekeningen;
 }
Ejemplo n.º 5
0
 public RekeningenWidget(IRekeningRepository rekeningRepository)
 {
     this.rekeningRepository = rekeningRepository;
     this.rekeningWidgets = new List<RekeningWidget>();
 }
 public RekeningService(IRekeningRepository repoRekeningen)
 {
     this.repoRekeningen = repoRekeningen;
 }