Exemplo n.º 1
0
        private void InitExtensions()
        {
            foreach (var initializer in ExtensionInitalizers)
            {
                initializer.Init();
            }

            foreach (var initializer in _applicationController.GetAllInstances <IInitializer>())
            {
                initializer.Init();
            }
        }
Exemplo n.º 2
0
        private void LoadExtensions()
        {
            foreach (var extension in Extensions)
            {
                var pages = extension.GetTabPages(_tempPerson);
                if (pages == null)
                {
                    continue;
                }
                tabControlEconomicInfo.TabPages.AddRange(pages);
            }
            var tabs = _applicationController.GetAllInstances <IPersonTabs>();

            foreach (var tab in tabs)
            {
                if (Extensions.Any(i => i.GetType() == tab.GetType()))
                {
                    continue;
                }
                var pages = tab.GetTabPages(_tempPerson);
                if (pages == null)
                {
                    continue;
                }
                tabControlEconomicInfo.TabPages.AddRange(pages);
                Extensions.Add(tab);
            }
        }
Exemplo n.º 3
0
 private void RunInitializers()
 {
     foreach (var initializer in _applicationController.GetAllInstances <ISearchFormInitializer>())
     {
         initializer.Initialize(this);
     }
 }
Exemplo n.º 4
0
        public void Run()
        {
            _view.Attach(this);
            var initializers = _applicationController.GetAllInstances <IStartPageInitializer>();

            foreach (var initializer in initializers)
            {
                initializer.Initialize((Form)_view);
            }
            _applicationController.Publish(new ShowViewMessage(this, _view));
            _applicationController.Publish(new StartPageShownMessage(this));
        }
Exemplo n.º 5
0
        private void InitializeMainMenu()
        {
            InitializeCoreMenu();
            foreach (var extensionItem in ExtensionMenuItems)
            {
                var anchor = mainMenu.Items.Find(extensionItem.InsertAfter, true).FirstOrDefault();
                if (anchor == null)
                {
                    continue;
                }

                var owner = (ToolStripMenuItem)anchor.OwnerItem;

                var temp = extensionItem;

                var items = owner == null ? mainMenu.Items : owner.DropDownItems;
                var index = items.IndexOf(anchor);

                if (extensionItem.GetItem().Name == "mnuAccountancy" && !ServicesProvider.GetInstance().GetGeneralSettings().UseExternalAccounting)
                {
                    continue;
                }


                items.Insert(index + 1, temp.GetItem());
            }
            var names = ExtensionMenuItems.Select(i => i.GetItem().Name).ToList();

            foreach (var menu in _applicationController.GetAllInstances <IMenu>())
            {
                if (names.Contains(menu.GetItem().Name))
                {
                    continue;
                }
                var anchor = mainMenu.Items.Find(menu.InsertAfter, true).FirstOrDefault();
                if (anchor == null)
                {
                    continue;
                }

                var owner = (ToolStripMenuItem)anchor.OwnerItem;

                var temp = menu;

                var items = owner == null ? mainMenu.Items : owner.DropDownItems;
                var index = items.IndexOf(anchor);

                items.Insert(index + 1, temp.GetItem());
            }
        }
Exemplo n.º 6
0
        public MainView(IApplicationController applicationController)
        {
            InitializeComponent();
            try
            {
                _applicationController = applicationController;
                _applicationController.Subscribe <ShowViewMessage>(this, OnShowView);
                _applicationController.Subscribe <ActivateViewMessage>(this, OnActivateView);
                _applicationController.Subscribe <StartPageShownMessage>(this, OnStartPageShown);
                _applicationController.Subscribe <StartPageHiddenMessage>(this, OnStartPageHidden);
                _applicationController.Subscribe <AlertsShownMessage>(this, OnAlertsShown);
                _applicationController.Subscribe <AlertsHiddenMessage>(this, OnAlertsHidden);
                _applicationController.Subscribe <DashboardShownMessage>(this, OnDashboardShown);
                _applicationController.Subscribe <DashboardHiddenMessage>(this, OnDashboardHidden);
                _applicationController.Subscribe <SearchShownMessage>(this, OnSearchShown);
                _applicationController.Subscribe <SearchHiddenMessage>(this, OnSearchHidden);
                _applicationController.Subscribe <EditLoanMessage>(this, OnEditLoan);
                _applicationController.Subscribe <EditSavingMessage>(this, OnEditSaving);
                _applicationController.Subscribe <RestartApplicationMessage>(this, m =>
                {
                    RestartApplication(m.Language);
                });
                SetUp();
                MefContainer.Current.Bind(this);
                _menuItems = new List <MenuObject>();
                _menuItems = Services.GetMenuItemServices().GetMenuList(OSecurityObjectTypes.MenuItem);
                LoadReports();
                LoadReportsToolStrip();
                InitializeTracer();
                DisplayWinFormDetails();
                InitMenu();

                foreach (var initializer in _applicationController.GetAllInstances <IMainFormInitializer>())
                {
                    initializer.Initialize(this);
                }
            }
            catch (Exception error)
            {
                MessageBox.Show(error.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 7
0
        public PersonUserControl(Person person, Form pMdiParent, IApplicationController applicationController)
        {
            _applicationController = applicationController;
            _mdiParent             = pMdiParent;
            Initialization();
            _tempPerson = person;
            InitPrintButton();
            InitializePerson();
            InitializeGroup();
            DisplayProjects(person.Projects);
            DisplaySavings(person.Savings);
            _tempPerson.DateOfBirth            = person.DateOfBirth;
            textBoxIdentificationData.ReadOnly = ServicesProvider.GetInstance().GetGeneralSettings().IsAutomaticID;
            if (ServicesProvider.GetInstance().GetGeneralSettings().IsAutomaticID)
            {
                textBoxIdentificationData.BackColor = Color.WhiteSmoke;
            }

            foreach (var initializer in _applicationController.GetAllInstances <IPersonControlInitializer>())
            {
                initializer.Initialize(this);
            }
        }
Exemplo n.º 8
0
        private void InitializeControls()
        {
            _ucAddress              = new AddressUserControl();
            _ctxProducts            = new ContextMenuStrip();
            _ucAddress.ExtraVisible = false;
            _ucAddress.Dock         = DockStyle.Fill;
            gbAddress.Controls.Add(_ucAddress);
            InitializeLoanOfficers();
            ValidatePermissions();
            if (_village != null && _village.Id > 0)
            {
                tbName.Text         = _village.Name;
                dtDate.Value        = _village.EstablishmentDate.HasValue ? _village.EstablishmentDate.Value : TimeProvider.Now;
                dtDate1.Value       = _village.EstablishmentDate.HasValue ? _village.EstablishmentDate.Value : TimeProvider.Now;
                _ucAddress.District = _village.District;
                _ucAddress.City     = _village.City;
                _ucAddress.Comments = _village.Address;
                _ucAddress.ZipCode  = _village.ZipCode;
                btnSave.Text        = MultiLanguageStrings.GetString(Ressource.VillageForm, "Update.Text");
                DisplayMembers();
                DisplaySavings();
                DisplayLoans();

                if (_village.MeetingDay.HasValue)
                {
                    cmbWeekDay.SelectedIndex = (int)_village.MeetingDay;
                    cbMeetingDay.Checked     = true;
                }

                if (_village.LoanOfficer != null)
                {
                    foreach (object item in cbLoanOfficers.Items)
                    {
                        User user = item as User;
                        if (user != null && user.Id == _village.LoanOfficer.Id)
                        {
                            cbLoanOfficers.SelectedItem = item;
                            break;
                        }
                    }
                }
            }
            else
            {
                tabPageLoan.Enabled    = false;
                tabPageSavings.Enabled = false;
            }

            PicturesServices ps = ServicesProvider.GetInstance().GetPicturesServices();

            if (ps.IsEnabled())
            {
                pictureBox1.Image    = ps.GetPicture("VILLAGE", _village.Id, true, 0);
                pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
                pictureBox2.Image    = ps.GetPicture("VILLAGE", _village.Id, true, 1);
                pictureBox2.SizeMode = PictureBoxSizeMode.Zoom;
            }
            else
            {
                pictureBox1.Visible           = false;
                pictureBox2.Visible           = false;
                linkLabelChangePhoto.Visible  = false;
                linkLabelChangePhoto2.Visible = false;
            }

            foreach (Branch branch in User.CurrentUser.Branches)
            {
                cbBranch.Items.Add(branch);
            }
            if (_village.Id > 0)
            {
                cbBranch.SelectedItem = _village.Branch;
            }
            else if (cbBranch.Items.Count > 0)
            {
                cbBranch.SelectedIndex = 0;
            }

            btnPrint.ReportInitializer = report => report.SetParamValue("village_id", _village.Id);
            btnPrint.LoadReports();

            var intializers = _applicationController.GetAllInstances <IVillageBankFormInitializer>();

            foreach (var initializer in intializers)
            {
                initializer.Initialize(this);
            }
        }
Exemplo n.º 9
0
        public void Repay()
        {
            var tx = _connectionProvider.GetTransaction();

            try
            {
                foreach (var id in _view.SelectedLoanIds)
                {
                    var total = _view.GetTotal(id);

                    var loan       = GetLoan(id);
                    var repaidLoan = loan.Copy();
                    DistributeTotal(repaidLoan, total);

                    var repaymentEvent = GetRepaymentEvent(loan, repaidLoan);
                    repaymentEvent.Comment       = _view.GetComment(id);
                    repaymentEvent.ReceiptNumber = _view.GetReceiptNumber(id);

                    repaymentEvent = _loanRepository.SaveRepaymentEvent(repaymentEvent, tx);
                    var interceptors = _applicationController.GetAllInstances <IEventInterceptor>();
                    foreach (var interceptor in interceptors)
                    {
                        var e = new CoreDomain.Events.RepaymentEvent
                        {
                            Id              = repaymentEvent.Id,
                            Code            = repaymentEvent.Code,
                            Principal       = repaymentEvent.Principal,
                            Interests       = repaymentEvent.Interest,
                            Penalties       = 0,
                            Comment         = repaymentEvent.Comment,
                            Doc1            = repaymentEvent.ReceiptNumber,
                            PaymentMethodId = repaymentEvent.PaymentMethodId,
                            PaymentMethod   = _view.SelectedPaymentMethod
                        };
                        interceptor.CallInterceptor(new Dictionary <string, object>
                        {
                            { "LoanId", loan.Id },
                            { "ClientId", loan.ClientId },
                            { "BranchId", loan.BranchId },
                            { "ProductId", loan.ProductId },
                            { "ProductCode", loan.ProductCode },
                            { "Event", e },
                            { "SqlTransaction", tx }
                        });
                    }
                    _loanRepository.ArchiveSchedule(loan.Id, repaymentEvent.Id, loan.Schedule, repaidLoan.Schedule, tx);

                    var closed = repaidLoan.Schedule.Last().Repaid;
                    if (closed)
                    {
                        var closeEvent = GetCloseEvent(repaidLoan);
                        _loanRepository.SaveCloseEvent(closeEvent, tx);
                        _loanRepository.SetLoanStatusToClosed(loan.Id, tx);
                        _loanRepository.UpdateBorrowerStatus(loan.Id, tx);
                    }
                }
                _villageBankRepository.SyncVillageBankStatus(_villageBankId, tx);
                tx.Commit();

                _view.Stop();
                _applicationController.Publish(new VillageBankRepayMessage(this, _villageBankId));
            }
            catch (Exception error)
            {
                tx.Rollback();
                MessageBox.Show(error.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 10
0
        private ClientForm(IApplicationController applicationController = null)
        {
            InitializeComponent();

            MefContainer.Current.Bind(this);
            _applicationController = applicationController;

            _loanApprovalControl = (
                    from c in LoanApprovalControls
                    where
                        c.Metadata.ContainsKey("Implementation") &&
                        c.Metadata["Implementation"].ToString() != "Default"
                    select c.Value).FirstOrDefault();

            if (_loanApprovalControl == null)
            {
                // Otherwise, find the default one
                _loanApprovalControl = (
                                from c in LoanApprovalControls
                                where
                                    c.Metadata.ContainsKey("Implementation") &&
                                    c.Metadata["Implementation"].ToString() == "Default"
                                select c.Value).FirstOrDefault();
            }
            if (_loanApprovalControl == null)
            {
                throw new Exception("Cannot resolve loan approval container.");
            }

            _loanApprovalControl.SaveLoanApproval = SaveLoanApproval;
            var control = _loanApprovalControl.GetControl();
            control.Dock = DockStyle.Fill;
            tabPageCreditCommitee.Controls.Add(control);

            this.dateTimePickerProjectBeginDate.Format = DateTimePickerFormat.Custom;
            this.dateTimePickerProjectBeginDate.CustomFormat = ApplicationSettings.GetInstance("").SHORT_DATE_FORMAT;
            this.dtpDateOfFirstInstallment.Format = DateTimePickerFormat.Custom;
            this.dtpDateOfFirstInstallment.CustomFormat = ApplicationSettings.GetInstance("").SHORT_DATE_FORMAT;
            this.dateLoanStart.Format = DateTimePickerFormat.Custom;
            this.dateLoanStart.CustomFormat = ApplicationSettings.GetInstance("").SHORT_DATE_FORMAT;

            var initializers = _applicationController.GetAllInstances<IClientFormInitializer>();
            foreach (var initializer in initializers)
            {
                initializer.Initialize(this);
            }
        }