示例#1
0
 public void WatchCorporate(OClientTypes pClientTypes, bool includeOnlyActive)
 {
     groupBoxCorporates.Enabled = false;
     if (pClientTypes == OClientTypes.Person || pClientTypes == OClientTypes.Group || OClientTypes.Village == pClientTypes)
     {
         radioButtonPerson.Checked = true;
         checkBoxPersons.Checked   = checkBoxPersons.Checked = pClientTypes == OClientTypes.Person;
         checkBoxGroups.Checked    = pClientTypes == OClientTypes.Group;
         checkBoxVillages.Checked  = pClientTypes == OClientTypes.Village;
         checkBoxPersons.Enabled   = true;
         checkBoxGroups.Enabled    = true;
         checkBoxVillages.Enabled  = true;
         if (includeOnlyActive)
         {
             checkBoxActive.Enabled    = false;
             checkBoxActive.Checked    = true;
             checkBoxNotactive.Enabled = false;
             checkBoxNotactive.Checked = true;
         }
     }
     else
     {
         radioButtonCorporate.Checked = true;
     }
 }
示例#2
0
        //"person" or "group" for type
        public int AddGenericTiersIntoDatabase(OClientTypes pClientType)
        {
            int            districtId = AddDistrictIntoDatabase().Id;
            OpenCbsCommand command    = new OpenCbsCommand("INSERT INTO Tiers (creation_date,client_type_code,active,loan_cycle,bad_client,district_id,city) VALUES ('1/1/2007','G',1,1,0,@districtId,'Tress') SELECT SCOPE_IDENTITY()", SqlConnection);

            command.AddParam("@districtId", districtId);
            int tiersId = int.Parse(command.ExecuteScalar().ToString());

            OpenCbsCommand insert = null;

            if (pClientType == OClientTypes.Group)
            {
                insert = new OpenCbsCommand("INSERT INTO Groups (id,name) VALUES (" + tiersId + ",'SCG')", SqlConnection);
            }
            else if (pClientType == OClientTypes.Person)
            {
                insert = new OpenCbsCommand("INSERT INTO Persons (id,first_name,sex,identification_data,last_name,household_head) VALUES (" + tiersId + ",'Nicolas','M','123KH','BARON',1)", SqlConnection);
            }

            if (insert != null)
            {
                insert.ExecuteNonQuery();
            }
            return(tiersId);
        }
示例#3
0
 protected SearchClientForm(OClientTypes pTiersEnum, bool inludeOnlyNotactive)
 {
     _clientType = pTiersEnum;
     InitializeComponent();
     Initialization(null, true);
     WatchCorporate(pTiersEnum, inludeOnlyNotactive);
     test = 2;
 }
示例#4
0
        protected Client(List<Project> pProjects, OClientTypes pClientTypes)
        {
            foreach (Project project in pProjects)
                project.Client = this;

            _projects = pProjects;
            Type = pClientTypes;
        }
示例#5
0
        public static SearchClientForm GetInstance(OClientTypes pTiersEnum, bool includeNotactiveOnly, IApplicationController applicatinController)
        {
            if (_theUniqueInstance3 == null)
            {
                return(_theUniqueInstance3 = new SearchClientForm(pTiersEnum, includeNotactiveOnly, applicatinController));
            }

            return(_theUniqueInstance3);
        }
示例#6
0
        public static SearchClientForm GetInstance(OClientTypes pTiersEnum, bool includeNotactiveOnly)
        {
            if (_theUniqueInstance3 == null)
            {
                return(_theUniqueInstance3 = new SearchClientForm(pTiersEnum, includeNotactiveOnly));
            }

            return(_theUniqueInstance3);
        }
示例#7
0
        protected Client(List <Project> pProjects, OClientTypes pClientTypes)
        {
            foreach (Project project in pProjects)
            {
                project.Client = this;
            }

            _projects = pProjects;
            Type      = pClientTypes;
        }
示例#8
0
        private void OpenClientForm(OClientTypes clientType)
        {
            var parent = Application.OpenForms[0];
            var form   = new ClientForm(clientType, parent, false)
            {
                MdiParent = parent
            };

            form.Show();
        }
示例#9
0
 protected SearchClientForm(OClientTypes pTiersEnum, bool inludeOnlyNotactive, IApplicationController applicationController)
 {
     _clientType = pTiersEnum;
     InitializeComponent();
     Initialization(null, true);
     WatchCorporate(pTiersEnum, inludeOnlyNotactive);
     test = 2;
     _applicationController = applicationController;
     RunInitializers();
 }
示例#10
0
 public ClientSearchResult(int pId, string pName, OClientTypes pType, bool pActive, int pLoanCycle, string pDistrict, string pCity,
     bool pBadClient, string pPassportNumber,string pPersonGroupBelongTo)
 {
     Id = pId;
     Type = pType;
     PassportNumber = pPassportNumber;
     BadClient = pBadClient;
     City = pCity;
     District = pDistrict;
     LoanCycle = pLoanCycle;
     Active = pActive;
     Name = pName;
     MemberOf = pPersonGroupBelongTo;
 }
 public ClientSearchResult(int pId, string pName, OClientTypes pType, bool pActive, int pLoanCycle, string pDistrict, string pCity,
                           bool pBadClient, string pPassportNumber, string pPersonGroupBelongTo)
 {
     Id             = pId;
     Type           = pType;
     PassportNumber = pPassportNumber;
     BadClient      = pBadClient;
     City           = pCity;
     District       = pDistrict;
     LoanCycle      = pLoanCycle;
     Active         = pActive;
     Name           = pName;
     MemberOf       = pPersonGroupBelongTo;
 }
示例#12
0
        public List <LoanProduct> FindAllPackages(bool selectDeleted, OClientTypes pClientType)
        {
            List <LoanProduct> retval = _productManager.SelectAllPackages(selectDeleted, pClientType);

            foreach (LoanProduct product in retval)
            {
                if (null == product.FundingLine)
                {
                    continue;
                }
                product.FundingLine.Currency = new CurrencyServices(_user).GetCurrency(product.FundingLine.Currency.Id);

                if (product.UseEntryFeesCycles)
                {
                    product.EntryFeeCycles = _productManager.SelectEntryFeeCycles(product.Id, false);
                    product.EntryFees      = _productManager.SelectEntryFeesWithCycles(product.Id, false);
                }
                else
                {
                    product.EntryFees = _productManager.SelectEntryFeesWithoutCycles(product.Id, false);
                }
            }
            return(retval);
        }
        private void InitializeComboboxActivity()
        {
            cmbEconomicActivity.Items.Clear();
            cmbEconomicActivity.ValueMember   = "Id";
            cmbEconomicActivity.DisplayMember = "Name";
            cmbEconomicActivity.Items.Add(
                new { Id = 0, Name = MultiLanguageStrings.GetString(Ressource.AccountingRule, "All.Text") });
            cmbEconomicActivity.SelectedIndex = 0;

            OClientTypes clientType = (OClientTypes)Enum.Parse(typeof(OClientTypes), cmbClientType.SelectedValue.ToString());

            if (clientType == OClientTypes.Person || clientType == OClientTypes.Corporate)
            {
                cmbEconomicActivity.Enabled = true;
                foreach (EconomicActivity activity in ServicesProvider.GetInstance().GetEconomicActivityServices().FindAllEconomicActivities())
                {
                    cmbEconomicActivity.Items.Add(activity);
                }
            }
            else
            {
                cmbEconomicActivity.Enabled = false;
            }
        }
示例#14
0
 private void OpenClientForm(OClientTypes clientType)
 {
     var parent = Application.OpenForms[0];
     var form = new ClientForm(clientType, parent, false) { MdiParent = parent };
     form.Show();
 }
示例#15
0
        public List<ClientSearchResult> SetClientSearchResult(string q, string pQuery, OClientTypes pClientType)
        {
            List<ClientSearchResult> list = new List<ClientSearchResult>();

            using (SqlConnection conn = GetConnection())
            using (OpenCbsCommand c = new OpenCbsCommand(q, conn))
            {

                c.AddParam("@name", string.Format("%{0}%", pQuery));
                c.AddParam("@district", string.Format("%{0}%", pQuery));
                c.AddParam("@city", string.Format("%{0}%", pQuery));

                if (pClientType == OClientTypes.Person)
                {
                    c.AddParam("@passportNumber", string.Format("%{0}%", pQuery));
                }

                using (OpenCbsReader r = c.ExecuteReader())
                {
                    if (!r.Empty)
                    {
                        while (r.Read())
                        {
                            ClientSearchResult result = new ClientSearchResult();
                            result.Id = r.GetInt("id");
                            result.Type = r.GetChar("type") == 'I'
                                              ? OClientTypes.Person
                                              : OClientTypes.Group;
                            result.Name = r.GetString("name");
                            result.Active = r.GetBool("active");
                            result.LoanCycle = pClientType == OClientTypes.Group
                                                   ? 0
                                                   : r.GetInt("loan_cycle");
                            result.District = r.GetString("district");
                            result.City = r.GetString("city");
                            result.BadClient = r.GetBool("bad_client");
                            result.PassportNumber = r.GetString("passport_number");
                            result.MemberOf = r.GetString("group_name");
                            list.Add(result);
                        }
                    }
                }
            }
            return list;
        }
示例#16
0
 public List<ISavingProduct> FindAllSavingsProducts(bool showAlsoDeleted, OClientTypes clientType)
 {
     return _savingProductManager.SelectProducts(showAlsoDeleted, clientType);
 }
示例#17
0
        public List<ClientSearchResult> SetCorporatesSearchResult(string q, string pQuery, OClientTypes pClientType)
        {
            List<ClientSearchResult> list = new List<ClientSearchResult>();

            using (SqlConnection conn = GetConnection())
            using (OpenCbsCommand c = new OpenCbsCommand(q, conn))
            {
                c.AddParam("@name", string.Format("%{0}%", pQuery));
                c.AddParam("@district", string.Format("%{0}%", pQuery));
                c.AddParam("@city", string.Format("%{0}%", pQuery));
                c.AddParam("@siret", string.Format("%{0}%", pQuery));

                using (OpenCbsReader r = c.ExecuteReader())
                {
                    if (!r.Empty)
                    {
                        while (r.Read())
                        {
                            ClientSearchResult result = new ClientSearchResult();
                            result.Id = r.GetInt("id");
                            result.Name = r.GetString("name");
                            result.Active = r.GetBool("active");
                            result.District = r.GetString("district");
                            result.City = r.GetString("city");
                            result.Siret = r.GetString("siret");
                            result.Type = OClientTypes.Corporate;
                            list.Add(result);
                        }
                    }
                }
            }
            return list;
        }
示例#18
0
        public ClientForm(Person pPerson, Form pMdiParent)
            : this()
        {
            _mdiParent = pMdiParent;
            _person = pPerson;
            _client = pPerson;
            InitLoanOfficers(_client);
            _listGuarantors = new List<Guarantor>();
            _collaterals = new List<ContractCollateral>();
            _loanShares = new List<LoanShare>();

            InitializeComponent();
            InitControls();
            _oClientType = OClientTypes.Person;
            InitializeUserControl(OClientTypes.Person, pMdiParent);
            InitializeTitle(string.Format("{0} {1}", pPerson.FirstName, pPerson.LastName));
        }
示例#19
0
        private static char _GetClientChar(OClientTypes clientType)
        {
            char type = 'I';
            switch (clientType)
            {
                case OClientTypes.Person:
                    type = 'I';
                    break;

                case OClientTypes.Group:
                    type = 'G';
                    break;
                case OClientTypes.Corporate:
                    type = 'C';
                    break;
                case OClientTypes.Village:
                    type = 'V';
                    break;
            }
            return type;
        }
示例#20
0
        private void InitializeClient(IClient pClient, int pContractId)
        {
            if (pClient is Person)
            {
                _person = (Person)pClient;
                _client = _person;
                _oClientType = OClientTypes.Person;
                InitializeUserControl(_oClientType, _mdiParent);
                InitializeTitle(string.Format("{0} {1}", _person.FirstName, _person.LastName));
            }
            if (pClient is Group)
            {
                _group = (Group)pClient;
                _client = _group;
                _oClientType = OClientTypes.Group;
                InitializeUserControl(_oClientType, _mdiParent);
                InitializeTitle(_group.Name);
            }
            if (pClient is Corporate)
            {
                _corporate = (Corporate)pClient;
                _client = _corporate;
                _oClientType = OClientTypes.Corporate;
                InitializeUserControl(_oClientType, _mdiParent);
                InitializeTitle(_corporate.Name);
            }

            _project = pClient.SelectProject(pContractId);
            _credit = _project.SelectCredit(pContractId);
            _credit.LoanEntryFeesList = ServicesProvider.GetInstance().GetContractServices().GetInstalledLoanEntryFees(_credit);
            _product = _credit.Product;

            if (_product.CycleId != null && _credit.Disbursed == false)
            {
                ServicesProvider.GetInstance().GetProductServices().SetCyclesParamsForContract(_product, _credit, _client, false);
            }
            else
            {
                if (_credit.Product.Amount.HasValue == false)
                {
                    _amountValueRange = new DecimalValueRange(_credit.Product.AmountMin.Value, _credit.Product.AmountMax.Value);
                    nudLoanAmount.Minimum = _credit.Product.AmountMin.Value;
                    nudLoanAmount.Maximum = _credit.Product.AmountMax.Value;
                }
                else
                {
                    nudLoanAmount.Minimum = nudLoanAmount.Maximum = _credit.Product.Amount.Value;
                }
                if (_credit.Product.NbOfInstallments.HasValue == false)
                {
                    nudLoanNbOfInstallments.Minimum = _credit.Product.NbOfInstallmentsMin.Value;
                    nudLoanNbOfInstallments.Maximum = _credit.Product.NbOfInstallmentsMax.Value;
                }
                else
                {
                    nudLoanNbOfInstallments.Minimum = nudLoanNbOfInstallments.Maximum = _credit.Product.NbOfInstallments.Value;
                }
            }

            if (ServicesProvider.GetInstance().GetGeneralSettings().UseProjects)
            {
                tabControlPerson.TabPages.Add(tabPageProject);
                DisplaySelectedProject(_project);
            }
            else
            {
                AddProject(_project);
            }

            tabControlPerson.TabPages.Add(tabPageLoansDetails);
            tabControlPerson.TabPages.Add(tabPageAdvancedSettings);
            tabControlPerson.TabPages.Add(tabPageLoanGuarantees);

            _credit.LoanInitialOfficer = _credit.LoanOfficer;

            InitializeTabPageLoansDetails(_credit);

            tabControlPerson.TabPages.Add(tabPageCreditCommitee);
            if (_credit.Disbursed)
            {
                tabControlPerson.TabPages.Add(tabPageLoanRepayment);
                //tabControlPerson.TabPages.Add(tabPageLAC);
                tabControlPerson.SelectedTab = tabPageLoanRepayment;
                InitializeTabPageLoanRepayment(_credit);
            }
            else if (_credit.ContractStatus == OContractStatus.Validated && !_credit.Disbursed)
            {
                tabControlPerson.SelectedTab = tabPageLoansDetails;
            }
        }
示例#21
0
        //"person" or "group" for type
        public int AddGenericTiersIntoDatabase(OClientTypes pClientType)
        {
            int districtId = AddDistrictIntoDatabase().Id;
            OpenCbsCommand command = new OpenCbsCommand("INSERT INTO Tiers (creation_date,client_type_code,active,loan_cycle,bad_client,district_id,city) VALUES ('1/1/2007','G',1,1,0,@districtId,'Tress') SELECT SCOPE_IDENTITY()", SqlConnection);
            command.AddParam("@districtId", districtId);
            int tiersId = int.Parse(command.ExecuteScalar().ToString());

            OpenCbsCommand insert = null;

            if (pClientType == OClientTypes.Group)
                insert = new OpenCbsCommand("INSERT INTO Groups (id,name) VALUES (" + tiersId + ",'SCG')", SqlConnection);
            else if (pClientType == OClientTypes.Person)
                insert = new OpenCbsCommand("INSERT INTO Persons (id,first_name,sex,identification_data,last_name) VALUES (" + tiersId + ",'Nicolas','M','123KH','BARON',1)", SqlConnection);

            if (insert != null) insert.ExecuteNonQuery();
            return tiersId;
        }
示例#22
0
 public void WatchCorporate(OClientTypes pClientTypes, bool includeOnlyActive)
 {
     groupBoxCorporates.Enabled = false;
     if (pClientTypes == OClientTypes.Person || pClientTypes == OClientTypes.Group || OClientTypes.Village == pClientTypes)
     {
         radioButtonPerson.Checked = true;
         checkBoxPersons.Checked = checkBoxPersons.Checked = pClientTypes == OClientTypes.Person;
         checkBoxGroups.Checked = pClientTypes == OClientTypes.Group;
         checkBoxVillages.Checked = pClientTypes == OClientTypes.Village;
         checkBoxPersons.Enabled = true;
         checkBoxGroups.Enabled = true;
         checkBoxVillages.Enabled = true;
         if (includeOnlyActive)
         {
             checkBoxActive.Enabled = false;
             checkBoxActive.Checked = true;
             checkBoxNotactive.Enabled = false;
             checkBoxNotactive.Checked = true;
         }
     }
     else
     {
         radioButtonCorporate.Checked = true;
     }
 }
示例#23
0
        public ClientForm(Group pGroup, Form pMdiParent)
            : this()
        {
            _mdiParent = pMdiParent;
            _group = pGroup;
            _client = pGroup;
            InitLoanOfficers(_client);
            _listGuarantors = new List<Guarantor>();
            _collaterals = new List<ContractCollateral>();
            _loanShares = new List<LoanShare>();

            InitializeComponent();
            InitControls();
            _oClientType = OClientTypes.Group;
            InitializeUserControl(OClientTypes.Group, pMdiParent);
            InitializeTitle(_group.Name);
        }
示例#24
0
        public static SearchClientForm GetInstance(OClientTypes pTiersEnum, bool includeNotactiveOnly)
        {
            if (_theUniqueInstance3 == null)
                return _theUniqueInstance3 = new SearchClientForm(pTiersEnum, includeNotactiveOnly);

            return _theUniqueInstance3;
        }
示例#25
0
 protected SearchClientForm(OClientTypes pTiersEnum, bool inludeOnlyNotactive)
 {
     _clientType = pTiersEnum;
     InitializeComponent();
     Initialization(null, true);
     WatchCorporate(pTiersEnum, inludeOnlyNotactive);
     test = 2;
 }
示例#26
0
        public List<LoanProduct> SelectAllPackages(bool pShowAlsoDeleted, OClientTypes pClientType)
        {
            List<LoanProduct> packagesList = new List<LoanProduct>();
            string q = @"SELECT DISTINCT
                                [dbo].[Packages].[id]
                              FROM [dbo].[Packages]
                              INNER JOIN [dbo].[PackagesClientTypes] ON [dbo].[Packages].[id]=[dbo].[PackagesClientTypes].[package_id]
                              INNER JOIN [dbo].[ClientTypes] ON [dbo].[ClientTypes].[id]=[dbo].[PackagesClientTypes].[client_type_id]
                            WHERE 1 = 1";
            if (!pShowAlsoDeleted)
                q += " AND [dbo].[Packages].[deleted] = 0";

            switch (pClientType)
            {
                case OClientTypes.Person:
                    q += " AND [dbo].[ClientTypes].[type_name] ='Individual' ";
                    break;
                case OClientTypes.Group:
                    q += "  AND [dbo].[ClientTypes].[type_name]='Group' ";
                    break;
                case OClientTypes.Corporate:
                    q += "  AND [dbo].[ClientTypes].[type_name]='Corporate' ";
                    break;
                case OClientTypes.Village:
                    q += " AND [dbo].[ClientTypes].[type_name]='Village' ";
                    break;
            }

            using (SqlConnection conn = GetConnection())
            using (OpenCbsCommand c = new OpenCbsCommand(q, conn))
            using (OpenCbsReader r = c.ExecuteReader())
            {
                if (r == null || r.Empty) return new List<LoanProduct>();
                while (r.Read())
                {
                    LoanProduct pack = new LoanProduct {Id = r.GetInt("id")};
                    packagesList.Add(pack);
                }
            }

            for (int i = 0; i < packagesList.Count; i++)
            {
                LoanProduct product = Select(packagesList[i].Id);
                packagesList[i] = product;
                FireProductLoaded(product);
            }
            return packagesList;
        }
示例#27
0
        public IClient FindTiers(int tiersId, OClientTypes type)
        {
            IClient client = null;
            if (type == OClientTypes.Corporate)
                client = _clientManagement.SelectBodyCorporateById(tiersId);
            if (type == OClientTypes.Group)
                client = _clientManagement.SelectGroupById(tiersId);
            if (type == OClientTypes.Person)
                client = _clientManagement.SelectPersonById(tiersId);
            if (OClientTypes.Village == type)
                client = _clientManagement.SelectVillageById(tiersId);

            if (client != null)
                client.ActiveLoans = _loanServices.GetActiveLoans(client.Id);
            return client;
        }
示例#28
0
 public void AddGuarantee(Guarantee pGuarantee, OClientTypes pClientType)
 {
     pGuarantee.ClientType = pClientType;
     pGuarantee.Project = this;
     _guarantees.Add(pGuarantee);
 }
示例#29
0
        public ClientForm(OClientTypes pClientType, Form pMdiParent, bool pCloseFormAfterSave)
            : this()
        {
            _listGuarantors = new List<Guarantor>();
            _collaterals = new List<ContractCollateral>();
            _loanShares = new List<LoanShare>();
            _closeFormAfterSave = pCloseFormAfterSave;
            _mdiParent = pMdiParent;
            InitializeComponent();
            InitControls();
            _oClientType = pClientType;

            if (pClientType == OClientTypes.Person) _person = new Person();
            else if (pClientType == OClientTypes.Group) _group = new Group();
            else _corporate = new Corporate();
            InitializeUserControl(pClientType, pMdiParent);
            InitializeTitle(null);
        }
 public List <ISavingProduct> FindAllSavingsProducts(bool showAlsoDeleted, OClientTypes clientType)
 {
     return(_savingProductManager.SelectProducts(showAlsoDeleted, clientType));
 }
示例#31
0
        public ClientForm(Corporate pCorporate, Form pMdiParent)
            : this()
        {
            _mdiParent = pMdiParent;
            _corporate = pCorporate;
            _client = pCorporate;
            InitLoanOfficers(_client);
            _listGuarantors = new List<Guarantor>();

            _collaterals = new List<ContractCollateral>();
            _loanShares = new List<LoanShare>();
            InitializeComponent();
            InitControls();
            _oClientType = OClientTypes.Corporate;
            InitializeUserControl(OClientTypes.Corporate, pMdiParent);
            InitializeTitle(_corporate.Name);
        }
示例#32
0
        private static string BuildWhereConditionsForSearchClients(string pQuery, OClientTypes pClientType)
        {
            string whereConditions = string.Empty;

            if (pQuery != null)
            {
                if (pClientType == OClientTypes.Person)
                    whereConditions = @"AND (Persons.first_name LIKE @name
                                        OR Persons.last_name LIKE @name
                                        OR Persons.identification_data LIKE @passportNumber ";

                if (pClientType == OClientTypes.Group)
                    whereConditions = @"AND (Groups.name LIKE @name ";

                if (pClientType == OClientTypes.Corporate)
                    whereConditions = @"AND (Corporates.name LIKE @name
                                        OR Corporates.siret LIKE @siret ";

                whereConditions += @"OR Districts.name LIKE @district
                                        OR Tiers.city LIKE @city) ";
            }

            return whereConditions;
        }
示例#33
0
        public void DisplayClient(IClient pClient, Project project)
        {
            if (pClient is Person)
            {
                _person = (Person)pClient;
                _oClientType = OClientTypes.Person;
                InitializeUserControl(_oClientType, _mdiParent);
                InitializeTitle(string.Format("{0} {1}", _person.FirstName, _person.LastName));
            }
            if (pClient is Group)
            {
                _group = (Group)pClient;
                _oClientType = OClientTypes.Group;
                InitializeUserControl(_oClientType, _mdiParent);
                InitializeTitle(_group.Name);
            }
            if (pClient is Corporate)
            {
                _corporate = (Corporate)pClient;
                _oClientType = OClientTypes.Corporate;
                InitializeUserControl(_oClientType, _mdiParent);
                InitializeTitle(_corporate.Name);
            }

            tabControlPerson.TabPages.Add(tabPageProject);
            DisplaySelectedProject(_project);
        }
示例#34
0
 public void AddCredit(Loan pCredit,OClientTypes pClientType)
 {
     pCredit.ClientType = pClientType;
     pCredit.Project = this;
     _credits.Add(pCredit);
 }
示例#35
0
        private void InitializeUserControl(OClientTypes pClientType, Form pMdiParent)
        {
            btnLoanShares.Visible = OClientTypes.Group == pClientType;

            tabControlPerson.TabPages.Remove(tabPageProject);
            tabControlPerson.TabPages.Remove(tabPageCreditCommitee);
            tabControlPerson.TabPages.Remove(tabPageLoansDetails);
            tabControlPerson.TabPages.Remove(tabPageAdvancedSettings);
            tabControlPerson.TabPages.Remove(tabPageLoanRepayment);
            tabControlPerson.TabPages.Remove(tabPageLoanGuarantees);
            tabControlPerson.TabPages.Remove(tabPageSavingDetails);
            tabControlPerson.TabPages.Remove(tabPageContracts);

            InitializeProjectAddress();

            if (pClientType == OClientTypes.Person)
            {
                _personUserControl = new PersonUserControl(_person, pMdiParent)
                {
                    Dock = DockStyle.Fill,
                    Enabled = true,
                    Name = "personUserControl",
                    Visible = true
                };

                _personUserControl.ButtonCancelClick += personUserControl_ButtonCancelClick;
                _personUserControl.ButtonSaveClick += personUserControl_ButtonSaveClick;
                _personUserControl.ButtonBadLoanClick += personUserControl_ButtonBadLoanClick;

                _personUserControl.ButtonAddProjectClick += personUserControl_ButtonAddProjectClick;

                _personUserControl.ViewProject += DisplayUserControl_ViewProject;
                _personUserControl.AddSelectedSaving += PersonUserControl_SavingSelected;
                _personUserControl.ViewSelectedSaving += PersonUserControl_ViewSelectedSaving;
                tabPageDetails.Controls.Add(_personUserControl);

                if (!ServicesProvider.GetInstance().GetGeneralSettings().UseProjects)
                {
                    _personUserControl.RemoveSavings();
                    panelSavingsContracts.Controls.Add(_personUserControl.PanelSavings);
                }
            }
            else if (pClientType == OClientTypes.Group)
            {
                _groupUserControl = new GroupUserControl(_group, pMdiParent)
                {
                    Dock = DockStyle.Fill,
                    Enabled = true,
                    Name = "groupUserControl",
                    Visible = true
                };
                _groupUserControl.ButtonCancelClick += GroupUserControl_ButtonCancelClick;
                _groupUserControl.ButtonSaveClick += GroupUserControl_ButtonSaveClick;
                _groupUserControl.ButtonBadClientClick += GroupUserControl_ButtonBadClientClick;

                _groupUserControl.ButtonAddProjectClick += GroupUserControl_ButtonAddProjectClick;
                _groupUserControl.ViewSelectedSaving += GroupUserControl_ViewSelectedSaving;
                _groupUserControl.AddSelectedSaving += GroupUserControl_AddSelectedSaving;

                _groupUserControl.ViewProject += DisplayUserControl_ViewProject;
                _groupUserControl.MembersChanged += MembersChanged;

                tabPageDetails.Controls.Add(_groupUserControl);

                if (!ServicesProvider.GetInstance().GetGeneralSettings().UseProjects)
                {
                    _groupUserControl.RemoveSavings();
                    panelSavingsContracts.Controls.Add(_groupUserControl.PanelSavings);
                    AddProject(null);
                }
            }
            else
            {
                _corporateUserControl = new CorporateUserControl(_corporate, pMdiParent)
                {
                    Dock = DockStyle.Fill,
                    Enabled = true,
                    Name = "corporateUserControl",
                    Visible = true
                };

                _corporateUserControl.ViewProject += DisplayUserControl_ViewProject;
                _corporateUserControl.ButtonCancel += CorporateUserControl_ButtonCancel;
                _corporateUserControl.ButtonAddProjectClick += corporateUserControl_ButtonAddProjectClick;
                _corporateUserControl.ButtonSaveClick += CorporateUserControl_ButtonSaveClick;
                _corporateUserControl.ViewSelectedSaving += CorporateUserControl_ViewSelectedSaving;
                _corporateUserControl.AddSelectedSaving += CorporateUserControl_AddSelectedSaving;

                if (_closeFormAfterSave)
                    _corporateUserControl.CloseCorporate += CorporateUserControl_Closed;

                tabPageDetails.Controls.Add(_corporateUserControl);

                if (!ServicesProvider.GetInstance().GetGeneralSettings().UseProjects)
                {
                    _corporateUserControl.RemoveSavings();
                    panelSavingsContracts.Controls.Add(_corporateUserControl.PanelSavings);
                    AddProject(null);
                    tabControlPerson.SelectedTab = tabPageCorporate;
                }
            }
        }
示例#36
0
        /// <summary>
        /// Select all packages in database
        /// </summary>
        /// <param name="showAlsoDeleted"></param>
        /// <returns>a list contains all packages</returns>
        /// <param name="clientType"></param>
        public List<ISavingProduct> SelectProducts(bool showAlsoDeleted, OClientTypes clientType)
        {
            List<ISavingProduct> productsList = new List<ISavingProduct>();

            string q = @"SELECT DISTINCT
                                       [dbo].[SavingProducts].[id],
                                       [dbo].[SavingProducts].[product_type]
                                       FROM [dbo].[SavingProducts]
                                       INNER JOIN [dbo].[SavingProductsClientTypes] ON
                                       [dbo].[SavingProductsClientTypes].[saving_product_id]=[dbo].[SavingProducts].[id]
                                        INNER JOIN [dbo].[ClientTypes] ON
                                        [dbo].[ClientTypes].[id]=[dbo].[SavingProductsClientTypes].[client_type_id]
                               WHERE 1 = 1";

            if (!showAlsoDeleted)
                q += " AND deleted = 0";

            switch (clientType)
            {
                case OClientTypes.Person:
                    q += " AND [dbo].[ClientTypes].[type_name] = 'Individual' ";
                    break;
                case OClientTypes.Group:
                    q += "  AND [dbo].[ClientTypes].[type_name] = 'Group' ";
                    break;
                case OClientTypes.Corporate:
                    q += "  AND [dbo].[ClientTypes].[type_name] = 'Corporate'";
                    break;
                case OClientTypes.Village:
                    q += " AND [dbo].[ClientTypes].[type_name]='Village'";
                    break;
            }

            using (SqlConnection conn = GetConnection())
            using (OpenCbsCommand c = new OpenCbsCommand(q, conn))
            {
                using (OpenCbsReader r = c.ExecuteReader())
                {
                    if(r == null || r.Empty) return new List<ISavingProduct>();
                    while (r.Read())
                    {
                        ISavingProduct pack;

                        switch (r.GetChar("product_type"))
                        {
                            case 'B' :
                                pack = new SavingsBookProduct();
                                break;
                           default:
                                pack = null; break;
                        }

                        pack.Id = r.GetInt("id");
                        productsList.Add(pack);
                    }
                }
            }

            for (int i = 0; i < productsList.Count; i++)
            {
                if (productsList[i] is SavingsBookProduct)
                    productsList[i] = SelectSavingsBookProduct(productsList[i].Id);
            }
            return productsList;
        }
示例#37
0
        public List<LoanProduct> FindAllPackages(bool selectDeleted,OClientTypes pClientType)
        {
            List<LoanProduct> retval = _productManager.SelectAllPackages(selectDeleted,pClientType);
            foreach (LoanProduct product in retval)
            {
                if (null == product.FundingLine) continue;
                product.FundingLine.Currency = new CurrencyServices(_user).GetCurrency(product.FundingLine.Currency.Id);

                if (product.UseEntryFeesCycles)
                {
                    product.EntryFeeCycles = _productManager.SelectEntryFeeCycles(product.Id, false);
                    product.EntryFees = _productManager.SelectEntryFeesWithCycles(product.Id, false);
                }
                else
                {
                    product.EntryFees = _productManager.SelectEntryFeesWithoutCycles(product.Id, false);
                }
            }
            return retval;
        }
示例#38
0
 public void AddCredit(Loan pCredit, OClientTypes pClientType)
 {
     pCredit.ClientType = pClientType;
     pCredit.Project    = this;
     _credits.Add(pCredit);
 }