public ClientServices(User pUser, string testDB) { _user = pUser; _clientManagement = new ClientManager(testDB); _dataParam = ApplicationSettings.GetInstance(pUser.Md5); _picturesServices = new PicturesServices(testDB); }
public void InitManager() { ApplicationSettings.GetInstance("").DeleteAllParameters(); ApplicationSettings.GetInstance("").AddParameter(OGeneralSettings.CALCULATIONLATEFEESDURINGPUBLICHOLIDAYS, true); ApplicationSettings.GetInstance("").AddParameter(OGeneralSettings.ACCOUNTINGPROCESS, OAccountingProcesses.Cash); TechnicalSettings.UseOnlineMode = false; //Create Manager FundingLineManager fundingLineManager = new FundingLineManager(DataUtil.TESTDB); ClientManager clientManagement = new ClientManager(DataUtil.TESTDB); ConnectionManager connectionManager = ConnectionManager.GetInstance(DataUtil.TESTDB); //Create Service EconomicActivityServices economicActivityServices = new EconomicActivityServices(DataUtil.TESTDB); ClientServices clientService = new ClientServices(clientManagement); FundingLineServices fundingLineService = new FundingLineServices(fundingLineManager, clientManagement); ProjectServices projectService = new ProjectServices(DataUtil.TESTDB); container = new Hashtable { {"EconomicActivityServices", economicActivityServices}, {"ClientServices", clientService}, {"FundingLineServices", fundingLineService}, {"ProjectServices", projectService}, {"ConnectionManager", connectionManager} }; }
public ClientServices(User pUser) { _user = pUser; _clientManagement = new ClientManager(pUser, true, true); _clientManagement.ClientSelected += ClientSelected; _dataParam = ApplicationSettings.GetInstance(pUser.Md5); _picturesServices = new PicturesServices(pUser); }
public AddDataForTestingTransaction() { ConnectionManager connectionManager = ConnectionManager.GetInstance(DataUtil.TESTDB); _connection = connectionManager.SqlConnection; _domainOfApplicationManagement = new EconomicActivityManager(DataUtil.TESTDB); _clientManagement = new ClientManager(DataUtil.TESTDB); _branch = new Branch {Id = 1, Name = "Default"}; }
public SavingManager(User pUser) : base(pUser) { _savingProductManager = new SavingProductManager(pUser); _savingEventManager = new SavingEventManager(pUser); _loanManager = new LoanManager(pUser); _clientManager = new ClientManager(pUser, false, false); _user = pUser; }
public ProjectManager(User pUser, bool pInitializeAll) : base(pUser) { if (pInitializeAll) { _creditManager = new LoanManager(pUser); _locations = new LocationsManager(pUser); } else _clientManager = new ClientManager(pUser, false, false); }
public void InitManager() { TechnicalSettings.CheckSettings(); LoanProductManager loanProductManager = new LoanProductManager(DataUtil.TESTDB); AccountingTransactionManager accountingTransactionManager = new AccountingTransactionManager(DataUtil.TESTDB); EventManager eventManager = new EventManager(DataUtil.TESTDB); ExchangeRateManager exchangeRateManager = new ExchangeRateManager(DataUtil.TESTDB); ProvisioningRuleManager provisioningRuleManager = new ProvisioningRuleManager(DataUtil.TESTDB); AccountManager accountManager = new AccountManager(DataUtil.TESTDB); InstallmentTypeManager installmentTypeManager = new InstallmentTypeManager(DataUtil.TESTDB); UserManager userManager = new UserManager(DataUtil.TESTDB); EconomicActivityManager economicActivityManager = new EconomicActivityManager(DataUtil.TESTDB); InstallmentManager installmentManager = new InstallmentManager(DataUtil.TESTDB); FundingLineManager fundingLineManager = new FundingLineManager(DataUtil.TESTDB); ClientManager clientManager = new ClientManager(DataUtil.TESTDB); LocationsManager locationsManager = new LocationsManager(DataUtil.TESTDB); LoanManager loanManager = new LoanManager(DataUtil.TESTDB); ProjectManager projectManager = new ProjectManager(DataUtil.TESTDB); MFIManager mfiManager = new MFIManager(DataUtil.TESTDB); SavingManager savingManager = new SavingManager(DataUtil.TESTDB); SavingProductManager savingProductManager = new SavingProductManager(DataUtil.TESTDB); SavingEventManager savingEventManager = new SavingEventManager(DataUtil.TESTDB); CurrencyManager currencyManager = new CurrencyManager(DataUtil.TESTDB); AccountingRuleManager accountingRuleManager = new AccountingRuleManager(DataUtil.TESTDB); FundingLineServices fundingLineServices = new FundingLineServices(DataUtil.TESTDB); container = new Hashtable { {"LoanProductManager", loanProductManager}, {"AccountingTransactionManager", accountingTransactionManager}, {"EventManager", eventManager}, {"ExchangeRateManager", exchangeRateManager}, {"ProvisioningRuleManager", provisioningRuleManager}, {"AccountManager", accountManager}, {"InstallmentTypeManager", installmentTypeManager}, {"UserManager", userManager}, {"FundingLineManager", fundingLineManager}, {"LoanManager", loanManager}, {"ClientManager", clientManager}, {"LocationsManager", locationsManager}, {"ProjectManager", projectManager}, {"EconomicActivityManager", economicActivityManager}, {"InstallmentManager", installmentManager}, {"MFIManager", mfiManager}, {"SavingManager", savingManager}, {"SavingProductManager", savingProductManager}, {"SavingEventManager", savingEventManager}, {"CurrencyManager", currencyManager}, {"FundingLineServices", fundingLineServices}, {"AccountingRuleManager", accountingRuleManager} }; }
public EventProcessorServices(User pUser,string testDB) { _user = pUser; _eventManagement = new EventManager(testDB); _savingEventManagement = new SavingEventManager(testDB); _movementSetManagement = new AccountingTransactionManager(testDB); _loanManager = new LoanManager(testDB); _packageManager = new LoanProductManager(testDB); _clientManagement = new ClientManager(testDB); _accountingServices = new Accounting.AccountingServices(testDB); _InitializeEventProcessor(); }
public void TestFindTiersWhenNoResult() { int numberTotalPage = 1; int numberOfRecords = 1; string query = "nicolas"; List <ClientSearchResult> list = new List<ClientSearchResult>(); //mockClientManagement.ExpectAndReturn("GetNumberGroup", 0, query); //mockClientManagement.ExpectAndReturn("GetNumberPerson", 0, query); //mockClientManagement.ExpectAndReturn("GetNumberVillages", 0, query); //mockClientManagement.ExpectAndReturn("SearchGroupByCriteres", list, numberTotalPage, query); //mockClientManagement.ExpectAndReturn("SearchPersonByCriteres", list, numberTotalPage, query); //mockClientManagement.ExpectAndReturn("SearchVillagesByCriteres", list, numberTotalPage, query); mockClientManagement.ExpectAndReturn("GetFoundRecordsNumber",0, query, 2, 1, 1, 1); mockClientManagement.ExpectAndReturn("SearchAllByCriteres", list, query,2, numberTotalPage,1, 1, 1); clientManagement = (ClientManager)mockClientManagement.MockInstance; clientServices = new ClientServices(clientManagement); List<ClientSearchResult> result = clientServices.FindTiers(out numberTotalPage, out numberOfRecords,query, 2, numberTotalPage, 1, 1, 1); Assert.AreEqual(0, result.Count); }
public LoanServices(InstallmentManager pInstalmentManager, ClientManager pClientManager, LoanManager pLoanManager) { _user = new User(); _instalmentManager = pInstalmentManager; _clientManager = pClientManager; _loanManager = pLoanManager; }
public void TestFixtureSetUp() { ProvisioningTable.GetInstance(new User()).Add(new ProvisioningRate { Number = 1, NbOfDaysMin = 0, NbOfDaysMax = 1000, Rate = 0 }); ApplicationSettings.GetInstance("").DeleteAllParameters(); ApplicationSettings.GetInstance("").AddParameter(OGeneralSettings.ACCOUNTINGPROCESS, OAccountingProcesses.Cash); ApplicationSettings.GetInstance("").AddParameter(OGeneralSettings.USECENTS, true); ApplicationSettings.GetInstance("").AddParameter(OGeneralSettings.CALCULATIONLATEFEESDURINGPUBLICHOLIDAYS, true); ApplicationSettings.GetInstance("").AddParameter(OGeneralSettings.DONOTSKIPWEEKENDSININSTALLMENTSDATE, false); ApplicationSettings.GetInstance("").AddParameter(OGeneralSettings.INCREMENTALDURINGDAYOFF, true); TechnicalSettings.UseOnlineMode = false; projectManager = new ProjectManager(DataUtil.TESTDB); creditManagement = new CreditContractManagement(DataUtil.TESTDB); installmentManagement = new InstallmentManager(DataUtil.TESTDB); clientManagement = new ClientManager(DataUtil.TESTDB); connectionManager = ConnectionManager.GetInstance(DataUtil.TESTDB); fundingLineManager = new FundingLineManager(DataUtil.TESTDB); userManager = new UserManager(DataUtil.TESTDB); _packageManager = new LoanProductManager(DataUtil.TESTDB); installment1 = new Installment(); installment1.Number = 1; installment1.CapitalRepayment = 200; installment1.InterestsRepayment = 100; installment1.PaidCapital = 200; installment1.PaidInterests = 100; //to initialize Installment.FeesUnpaid, ocurrency is an object, must be initialized installment1.FeesUnpaid = 0; installment1.ExpectedDate = DateTime.Today.AddDays(-1); installment2 = new Installment(); installment2.Number = 2; installment2.CapitalRepayment = 200; installment2.InterestsRepayment = 100; installment2.PaidCapital = 0; installment2.PaidInterests = 100; //to initialize Installment.FeesUnpaid, ocurrency is an object, must be initialized installment2.FeesUnpaid = 0; installment2.ExpectedDate = DateTime.Today.AddMonths(1); }
public LoanManager(string pTestDb, User pUser) : base(pTestDb) { _user = pUser; _userManager = new UserManager(pTestDb, _user); _packageManager = new LoanProductManager(pTestDb); _installmentTypeManagement = new InstallmentTypeManager(pTestDb); _installmentManagement = new InstallmentManager(pTestDb); _eventManagement = new EventManager(pTestDb); _fundingLineManager = new FundingLineManager(pTestDb); _clientManager = new ClientManager(pTestDb); _collateralProductManager = new CollateralProductManager(pTestDb); _paymentMethodManager = new PaymentMethodManager(pTestDb, pUser); }
public LoanManager(User pUser) : base(pUser) { _user = pUser; _userManager = new UserManager(pUser); _paymentMethodManager = new PaymentMethodManager(pUser); _packageManager = new LoanProductManager(pUser); _installmentTypeManagement = new InstallmentTypeManager(pUser); _installmentManagement = new InstallmentManager(pUser); _eventManagement = new EventManager(pUser); _fundingLineManager = new FundingLineManager(pUser); _projectManager = new ProjectManager(pUser, false); _clientManager = new ClientManager(pUser, false, false); _collateralProductManager = new CollateralProductManager(pUser); _economicActivityManager = new EconomicActivityManager(pUser); }
// MOCK public ClientServices(ClientManager clientManagement, ConnectionManager connectionManager) { _clientManagement = clientManagement; _connectionManager = connectionManager; }
public void SetUp() { _DeleteDatas(); _cltManagement = new ClientManager(DataUtil.TESTDB); _agriculture = _addDataForTesting.AddDomainOfApplicationAgriculture(); _district = _addDataForTesting.AddDistrictIntoDatabase(); _addDataForTesting.AddBranchIntoDatabase(); _branch = new Branch {Id = 1, Name = "Default"}; _person = new Person(); _person.Active = true; _person.BadClient = false; _person.LoanCycle = 1; _person.City = "Dushambe"; _person.District = _district; _person.FirstName = "Nicolas"; _person.LastName = "BARON"; _person.Sex = 'M'; _person.IdentificationData = "123ARK3VC"; _person.HouseHoldHead = true; _person.StudyLevel = "1"; _person.SSNumber = "3333"; _person.CAFNumber = "2424"; _person.HousingSituation = "test"; _person.UnemploymentMonths = 1; _person.Nationality = "France"; _person.BirthPlace = "Nancy"; _person.Email = "*****@*****.**"; _person.SecondaryEmail = "*****@*****.**"; _person.HomeType = "Maison"; _person.ZipCode = "12345"; _person.SecondaryZipCode = "123458"; _person.SecondaryHomeType = "Maison"; _person.Handicapped = true; _person.Status = OClientStatus.Inactive; _person.FollowUpComment = "Comment follow Up"; _person.FirstContact = new DateTime(2009, 12, 25); _person.FirstAppointment = new DateTime(2010, 04, 01); _person.Sponsor1 = "coucou"; _person.Sponsor1Comment = "coucou2"; _person.Branch = _branch; _group = new Group(); _group.Active = true; _group.BadClient = false; _group.City = "Dushambe"; _group.LoanCycle = 2; _group.District = _district; _group.Name = "SCG"; _group.ZipCode = "12345"; _group.SecondaryZipCode = "123458"; _group.Email = "*****@*****.**"; _group.SecondaryEmail = "*****@*****.**"; _group.HomeType = "Maison"; _group.SecondaryHomeType = "Maison"; _group.Status = OClientStatus.Active; _group.FollowUpComment = "Follow Up Comment Group"; _group.Sponsor2 = "coucou"; _group.Sponsor2Comment = "coucou2"; _group.Branch = _branch; }
public void TestUpdatePerson() { AddDataForTestingTransaction addDataForTesting = new AddDataForTestingTransaction(); clientManagement = new ClientManager(DataUtil.TESTDB); clientServices = new ClientServices(clientManagement); DeleteAllData(); ApplicationSettingsServices _appSettings = ServicesProvider.GetInstance().GetApplicationSettingsServices(); _appSettings.FillGeneralDatabaseParameter(); _appSettings.UpdateSelectedParameter(OGeneralSettings.ID_PATTERN, "[0-9]{2}[A-Z]{2}"); EconomicActivity agriculture = addDataForTesting.AddDomainOfApplicationAgriculture(); District district = addDataForTesting.AddDistrictIntoDatabase(); Person person = AddPerson(true, agriculture, 1, "Dushambe", district, "Nicolas", "MANGIN", 'M', "12ED"); person.Branch = _branch; Assert.AreEqual(String.Empty, clientServices.SavePerson(ref person)); person.FirstName = "floriane"; person.IdentificationData = "34PP"; Assert.AreEqual(String.Empty, clientServices.SavePerson(ref person)); }
public LoanServices(User pUser) : base(pUser) { _user = pUser; _loanManager = new LoanManager(pUser); _instalmentManager = new InstallmentManager(pUser); _clientManager = new ClientManager(pUser, true, true); _branchService = new BranchService(pUser); _econimcActivityServices = new EconomicActivityServices(pUser); _ePs = ServicesProvider.GetInstance().GetEventProcessorServices(); _accountingServices = new AccountingServices(pUser); _fundingLineServices = new FundingLineServices(pUser); _savingServices = new SavingServices(pUser); _savingEventManager = new SavingEventManager(pUser); }
public void TestUpdateGroup() { AddDataForTestingTransaction addDataForTesting = new AddDataForTestingTransaction(); clientManagement = new ClientManager(DataUtil.TESTDB); clientServices = new ClientServices(clientManagement); DeleteAllData(); Person leader = addDataForTesting.AddPerson(); Person members = addDataForTesting.AddPersonBis(); Person membersTer = addDataForTesting.AddPersonTer(); Person membersQuater = addDataForTesting.AddPersonQuater(); Group group = new Group { Active = true, City = "Dushambe", District = leader.District, LoanCycle = 2, Name = "SCG", Leader =new Member{Tiers = leader,LoanShareAmount = 1000,CurrentlyIn = true,IsLeader = true,JoinedDate = TimeProvider.Today}, Branch = _branch }; group.AddMember(new Member { Tiers = members, LoanShareAmount = 200, CurrentlyIn = true, IsLeader = false, JoinedDate = TimeProvider.Today }); group.AddMember(new Member { Tiers = membersTer, LoanShareAmount = 400, CurrentlyIn = true, IsLeader = false, JoinedDate = TimeProvider.Today }); group.AddMember(new Member { Tiers = membersQuater, LoanShareAmount = 700, CurrentlyIn = true, IsLeader = false, JoinedDate = TimeProvider.Today }); Assert.AreEqual(String.Empty, clientServices.SaveSolidarityGroup(ref group)); group.Name = "SCG2"; Assert.AreEqual(String.Empty, clientServices.SaveSolidarityGroup(ref group)); }
// MOCK public ClientServices(ApplicationSettings dataParam) { _clientManagement = new ClientManager(TESTDB); _connectionManager = ConnectionManager.GetInstance(TESTDB); _picturesServices = new PicturesServices(TESTDB); _dataParam = dataParam; }
public void TestIfClientCanBeAddToAGroupWhenClientIsALeader() { Person person = new Person {Id = 1, Active = false}; Group group = new Group(); mockClientManagement.ExpectAndReturn("IsLeader", true, person.Id); clientManagement = (ClientManager)mockClientManagement.MockInstance; clientServices = new ClientServices(clientManagement); clientServices.ClientCanBeAddToAGroup(person, group); }
public void TestIfClientCanBeAddToAGroupWhenClientIsActive() { Person person = new Person {Id = 1, Active = true}; Group group = new Group(); clientManagement = new ClientManager(DataUtil.TESTDB); clientServices = new ClientServices(clientManagement); clientServices.ClientCanBeAddToAGroup(person, group); }
public void TestFixtureSetUp() { TechnicalSettings.UseOnlineMode = false; _DeleteDatas(); _cltManagement = new ClientManager(DataUtil.TESTDB); _locations = new LocationsManager(DataUtil.TESTDB); _agriculture = _addDataForTesting.AddDomainOfApplicationAgriculture(); _district = _addDataForTesting.AddDistrictIntoDatabase(); _projectManager = new ProjectManager(DataUtil.TESTDB); ApplicationSettings settings = ApplicationSettings.GetInstance(""); }
public LoanServices(InstallmentManager pInstalmentManager, ClientManager pClientManager, LoanManager pLoanManager) { _user = new User(); _instalmentManager = pInstalmentManager; _clientManager = pClientManager; _loanManager = pLoanManager; MefContainer.Current.Bind(this); }
public void TestFindTiersWhenTiersIsPersonAndRecordsAreFound() { int numberTotalPage = 1; int numberOfRecords = 1; string query = "nicolas"; List<ClientSearchResult> listGroup = new List<ClientSearchResult>(); for (int i = 1; i <= 15; i++) { listGroup.Add(new ClientSearchResult(i, "nicolas", OClientTypes.Person, true, 1, "district", "city", false, "OOOOO","test")); } //mockClientManagement.ExpectAndReturn("GetNumberGroup", 0, query); //mockClientManagement.ExpectAndReturn("GetNumberPerson", 0, query); //mockClientManagement.ExpectAndReturn("GetNumberVillages", 0, query); mockClientManagement.ExpectAndReturn("GetFoundRecordsNumber", 15, query, 1, 1, 1, 1); //mockClientManagement.ExpectAndReturn("SearchGroupByCriteres", listGroup, numberTotalPage, query); //mockClientManagement.ExpectAndReturn("SearchPersonByCriteres", listPerson, numberTotalPage, query); //mockClientManagement.ExpectAndReturn("SearchVillagesByCriteres", listVillages, numberTotalPage, query); mockClientManagement.ExpectAndReturn("SearchAllByCriteres", listGroup, query,1, numberTotalPage,1, 1, 1); clientManagement = (ClientManager)mockClientManagement.MockInstance; clientServices = new ClientServices(clientManagement); List<ClientSearchResult> result = clientServices.FindTiers(out numberTotalPage, out numberOfRecords, query, 1, numberTotalPage, 1, 1, 1); Assert.AreEqual(15, result.Count); }
public LoanServices(User pUser) : base(pUser) { _user = pUser; _loanManager = new LoanManager(pUser); _instalmentManager = new InstallmentManager(pUser); _clientManager = new ClientManager(pUser, true, true); _branchService = new BranchService(pUser); _econimcActivityServices = new EconomicActivityServices(pUser); _ePs = ServicesProvider.GetInstance().GetEventProcessorServices(); _accountingServices = new AccountingServices(pUser); _fundingLineServices = new FundingLineServices(pUser); _savingServices = new SavingServices(pUser); _savingEventManager = new SavingEventManager(pUser); var settings = ApplicationSettings.GetInstance(string.Empty); var nonWorkingDate = NonWorkingDateSingleton.GetInstance(string.Empty); _configurationFactory = new OctopusScheduleConfigurationFactory(nonWorkingDate, settings); MefContainer.Current.Bind(this); }
public void TestCreatingContractForNonSolidaryGroupWithLoanCycles() { LoanProductManager productManager = new LoanProductManager(DataUtil.TESTDB); ProductServices productServices = new ProductServices(productManager); ClientManager clientManager = new ClientManager(DataUtil.TESTDB); ClientServices clientServices = new ClientServices(clientManager); Village village = new Village(); Person person = clientServices.FindPersonById(2); person.LoanCycle = 0; VillageMember villageMember = new VillageMember(); villageMember.Tiers = person; village.Members.Add(villageMember); person = clientServices.FindPersonById(4); person.LoanCycle = 1; villageMember = new VillageMember(); villageMember.Tiers = person; village.Members.Add(villageMember); person = clientServices.FindPersonById(6); person.LoanCycle = 2; villageMember = new VillageMember(); villageMember.Tiers = person; village.Members.Add(villageMember); var loanAmountCycle = GetLoanAmountCycles(); var maturityCycles = GetMaturityCycles(); var rateCycles = GetRateCycles(); var entryFees = new List<EntryFee>(); Currency currency = new Currency(); currency.Id = 1; var nrp = new NonRepaymentPenaltiesNullableValues(100, 200, 10, 0.2); LoanProduct product = CreatePackage( "NewPackage68", //package name null, //anticipatedTotalRepaymentPenalties 3, //anticipatedTotalRepaymentPenaltiesMin 6, //anticipatedTotalRepaymentPenaltiesMax 4, //grace period null, //gracePeriodMin null, //gracePeriodMax 0.2m, //interestRate null, //interesrRateMin null, //interestRateMax 10, //NmbOfInstallments null, //NmbOfInstallmentsMin null, //NmbOfInstallmentsMax entryFees, //List<EntryFee> nrp, //NonRepaymentPenalties null, //NonRepaymentPenaltiesMin null, //NonRepaymentPenaltiesMax _monthly, //InstallmentType 2000, //amount null, //amountMin null, //AmountMax null, //ExoticInstallmentsTable 2, //cycleId loanAmountCycle, //List<LoanAmountCycle> rateCycles, //List<RateCycle> maturityCycles, //List<MaturityCycle> "CODE1", //ProductCode null, //List<ProductClientType> null, //amountUnderLoc null, //amountUnderLocMin null, //amountUnderLocMax 1, //anticipatedPartialRRepaymentPenalties null, //anticipatedPartialRRepaymentPenaltiesMin null, //anticipatedPartialRRepaymentPenaltiesMax null, //compulsoryAmount null, //compulsoryAmountMin null, //compulsoryAmountMax currency ); product.ClientType = '-'; product.ProductClientTypes = new List<ProductClientType>(); product.AddedEntryFees = entryFees; product.Id=productServices.AddPackage(product); productServices.SaveAllCycleParams(loanAmountCycle, rateCycles, maturityCycles); foreach (VillageMember member in village.Members) { productServices.SetVillageMemberCycleParams(member, product.Id, ((Person)member.Tiers).LoanCycle); } for (int i = 0; i < village.Members.Count; i++) { int j = i; //to avoid index out of range exception (it occurs in product.LoanAmountCycleParams) if (i == product.LoanAmountCycleParams.Count) j = product.LoanAmountCycleParams.Count - 1; Assert.AreEqual(village.Members[i].Product.AmountMin, product.LoanAmountCycleParams[j].Min); Assert.AreEqual(village.Members[i].Product.AmountMax, product.LoanAmountCycleParams[j].Max); Assert.AreEqual(village.Members[i].Product.InterestRateMin, product.RateCycleParams[j].Min.Value); Assert.AreEqual(village.Members[i].Product.InterestRateMax, product.RateCycleParams[j].Max.Value); Assert.AreEqual(village.Members[i].Product.NbOfInstallmentsMin, (int) product.MaturityCycleParams[j].Min.Value); Assert.AreEqual(village.Members[i].Product.NbOfInstallmentsMax, (int) product.MaturityCycleParams[j].Max.Value); } foreach (VillageMember member in village.Members) { Loan loan = new Loan(); loan.LoanPurpose = "Unit tests"; loan.Product = member.Product; loan.Amount = member.Product.AmountMin; loan.AmountMin = member.Product.AmountMin; loan.AmountMax = member.Product.AmountMax; loan.InterestRate = member.Product.InterestRateMin.Value; loan.InterestRateMin = member.Product.InterestRateMin.Value; loan.InterestRateMax = member.Product.InterestRateMax.Value; loan.NbOfInstallments = member.Product.NbOfInstallmentsMin.Value; loan.NmbOfInstallmentsMin = member.Product.NbOfInstallmentsMin.Value; loan.NmbOfInstallmentsMax = member.Product.NbOfInstallmentsMax; loan.StartDate = TimeProvider.Now; loan.FirstInstallmentDate = loan.FirstInstallmentDate = DateTime.Now + new TimeSpan(30, 0, 0, 0); loan.CloseDate = TimeProvider.Now + new TimeSpan(365, 0, 0, 0); loan.EconomicActivityId = 1; loan.NonRepaymentPenalties = new NonRepaymentPenalties { InitialAmount = member.Product.NonRepaymentPenalties.InitialAmount ?? 0, OLB = member.Product.NonRepaymentPenalties.OLB ?? 0, OverDuePrincipal = member.Product.NonRepaymentPenalties.OverDuePrincipal ?? 0, OverDueInterest = member.Product.NonRepaymentPenalties.OverDueInterest ?? 0 }; loan.LoanEntryFeesList = new List<LoanEntryFee>(); loan.InstallmentType = member.Product.InstallmentType; loan.AnticipatedTotalRepaymentPenalties = 0; loan.FundingLine = new FundingLine("New_Founding_line", false); loan.FundingLine.Currency = loan.Product.Currency; loan.FundingLine.Id = 1; loan.LoanOfficer = User.CurrentUser; loan.LoanOfficer.LastName = "Unit"; loan.LoanOfficer.FirstName = "Test"; loan.Synchronize = false; loan.ContractStatus = OContractStatus.Validated; loan.CreditCommitteeCode = "OK"; loan.GracePeriod = 0; loan.GracePeriodOfLateFees = member.Product.GracePeriodOfLateFees; loan.AnticipatedPartialRepaymentPenalties = 2; loan.AnticipatedTotalRepaymentPenalties = 3; loan.LoanCycle = ((Person)member.Tiers).LoanCycle; loan.InstallmentList = new List<Installment>(); loan.InstallmentList.Add(new Installment()); loan.InstallmentList[0].ExpectedDate = TimeProvider.Now + new TimeSpan(60, 0, 0, 0); loan.InstallmentList[0].InterestsRepayment = 10; loan.InstallmentList[0].Number = 1; loan.InstallmentList[0].CapitalRepayment = 10; loan.InstallmentList[0].PaidInterests = 10; loan.InstallmentList[0].PaidCapital = 10; loan.InstallmentList[0].PaidDate = TimeProvider.Now; loan.InstallmentList[0].FeesUnpaid = 10; loan.InstallmentList[0].PaidFees = 10; loan.InstallmentList[0].Comment = "Unit test"; loan.InstallmentList[0].IsPending = false; loan.InstallmentList[0].StartDate = TimeProvider.Now; loan.InstallmentList[0].OLB = 20; loan.InstallmentList.Add(new Installment()); loan.InstallmentList[1].ExpectedDate = TimeProvider.Now + new TimeSpan(120, 0, 0, 0); loan.InstallmentList[1].InterestsRepayment = 10; loan.InstallmentList[1].Number = 2; loan.InstallmentList[1].CapitalRepayment = 10; loan.InstallmentList[1].PaidInterests = 10; loan.InstallmentList[1].PaidCapital = 10; loan.InstallmentList[1].PaidDate = TimeProvider.Now + new TimeSpan(120, 0, 0, 0); loan.InstallmentList[1].FeesUnpaid = 10; loan.InstallmentList[1].PaidFees = 10; loan.InstallmentList[1].Comment = "Unit test2"; loan.InstallmentList[1].IsPending = false; loan.InstallmentList[1].StartDate = TimeProvider.Now.AddDays(60); loan.InstallmentList[1].OLB = 10; loan.Events = new EventStock(); loan.AlignDisbursementDate = TimeProvider.Now; loan.CreditCommiteeDate = TimeProvider.Now; loan.Guarantors = new List<Guarantor>(); loan.Collaterals = new List<ContractCollateral>(); Project project; IClient client = member.Tiers; if (0 == client.Projects.Count) { project = new Project("Village"); project.Name = "Village"; project.Code = "Village"; project.Aim = "Village"; project.BeginDate = TimeProvider.Now; project.Id = ServicesProvider.GetInstance().GetProjectServices().SaveProject(project, client); member.Tiers.AddProject(project); } project = client.Projects[0]; client.District = new District(1, "Unit Test"); client.Name = "Unit Test"; ApplicationSettings appSettings = ApplicationSettings.GetInstance(User.CurrentUser.Md5); appSettings.UpdateParameter("ALLOWS_MULTIPLE_LOANS", 1); appSettings.UpdateParameter("CONTRACT_CODE_TEMPLATE", "Contract"); ServicesProvider.GetInstance().GetContractServices().SaveLoan(ref loan, project.Id, ref client); } foreach (VillageMember member in village.Members) { member.ActiveLoans = ServicesProvider.GetInstance().GetContractServices().FindActiveContracts(member.Tiers.Id); } for (int i = 0; i < village.Members.Count; i++) { int j = i; //to avoid index out of range exception (it occurs in product.LoanAmountCycleParams) if (i == product.LoanAmountCycleParams.Count) j = product.LoanAmountCycleParams.Count - 1; for (int k = 0; k < village.Members[i].ActiveLoans.Count; k++) { Assert.AreEqual(village.Members[i].ActiveLoans[k].AmountMin, loanAmountCycle[j].Min); Assert.AreEqual(village.Members[i].ActiveLoans[k].AmountMax, loanAmountCycle[j].Max); Assert.AreEqual(village.Members[i].ActiveLoans[k].Amount, loanAmountCycle[j].Min); Assert.AreEqual(village.Members[i].ActiveLoans[k].InterestRateMin, (double?) rateCycles[j].Min.Value); Assert.AreEqual(village.Members[i].ActiveLoans[k].InterestRateMax, (double?) rateCycles[j].Max.Value); Assert.AreEqual(village.Members[i].ActiveLoans[k].InterestRate, (double?) rateCycles[j].Min.Value); Assert.AreEqual(village.Members[i].ActiveLoans[k].NmbOfInstallmentsMin, (int) maturityCycles[j].Min.Value); Assert.AreEqual(village.Members[i].ActiveLoans[k].NmbOfInstallmentsMax, (int) maturityCycles[j].Max.Value); Assert.AreEqual(village.Members[i].ActiveLoans[k].NbOfInstallments, (int) maturityCycles[j].Min.Value); } } }
// MOCK public ClientServices(ClientManager clientManagement) { _clientManagement = clientManagement; _connectionManager = ConnectionManager.GetInstance(TESTDB); _dataParam = ApplicationSettings.GetInstance(""); _picturesServices = new PicturesServices(TESTDB); _dataParam.DeleteAllParameters(); _dataParam.AddParameter("GROUP_MIN_MEMBERS", 4); _dataParam.AddParameter("GROUP_MAX_MEMBERS", 10); _dataParam.AddParameter(OGeneralSettings.ALLOWSMULTIPLEGROUPS, 0); _dataParam.AddParameter("CITY_MANDATORY", true); }
public void TestSaveGroupWhenCityIsNotMandatory() { AddDataForTestingTransaction addDataForTesting = new AddDataForTestingTransaction(); clientManagement = new ClientManager(DataUtil.TESTDB); clientServices = new ClientServices(clientManagement); branchManager = new BranchManager(DataUtil.TESTDB); //List<Branch> branchs = branchManager.SelectAll(); ApplicationSettings dataParam = ApplicationSettings.GetInstance(""); dataParam.DeleteAllParameters(); dataParam.AddParameter(OGeneralSettings.GROUPMINMEMBERS, 4); dataParam.AddParameter(OGeneralSettings.GROUPMAXMEMBERS, 10); dataParam.AddParameter(OGeneralSettings.CITYMANDATORY, false); DeleteAllData(); Person leader = addDataForTesting.AddPerson(); Person members = addDataForTesting.AddPersonBis(); Person membersTer = addDataForTesting.AddPersonTer(); Person membersQuater = addDataForTesting.AddPersonQuater(); Group group = new Group { Active = true, City = null, District = leader.District, Name = "SCG", Leader = new Member { Tiers = leader, LoanShareAmount = 1000, CurrentlyIn = true, IsLeader = true, JoinedDate = TimeProvider.Today }, LoanCycle = 3, Branch = _branch }; group.AddMember(new Member { Tiers = members, LoanShareAmount = 200, CurrentlyIn = true, IsLeader = false, JoinedDate = TimeProvider.Today }); group.AddMember(new Member { Tiers = membersTer, LoanShareAmount = 400, CurrentlyIn = true, IsLeader = false, JoinedDate = TimeProvider.Today }); group.AddMember(new Member { Tiers = membersQuater, LoanShareAmount = 700, CurrentlyIn = true, IsLeader = false, JoinedDate = TimeProvider.Today }); Assert.AreEqual(String.Empty, clientServices.SaveSolidarityGroup(ref group)); }
public FundingLineServices(FundingLineManager fundingLineManager, ClientManager clientManagement) { _fundingLineManager = fundingLineManager; }
public void SetUp() { _DeleteDatas(); _cltManagement = new ClientManager(DataUtil.TESTDB); _agriculture = _addDataForTesting.AddDomainOfApplicationAgriculture(); _district = _addDataForTesting.AddDistrictIntoDatabase(); _addDataForTesting.AddBranchIntoDatabase(); _branch = new Branch {Id = 1, Name = "Default"}; _person = new Person(); _person.Active = true; _person.BadClient = false; _person.LoanCycle = 1; _person.City = "Dushambe"; _person.District = _district; _person.FirstName = "Nicolas"; _person.LastName = "BARON"; _person.Sex = 'M'; _person.IdentificationData = "123ARK3VC"; _person.Nationality = "France"; _person.BirthPlace = "Nancy"; _person.Email = "*****@*****.**"; _person.SecondaryEmail = "*****@*****.**"; _person.HomeType = "Maison"; _person.ZipCode = "12345"; _person.SecondaryZipCode = "123458"; _person.SecondaryHomeType = "Maison"; _person.Status = OClientStatus.Inactive; _person.FollowUpComment = "Comment follow Up"; _person.Sponsor1 = "coucou"; _person.Sponsor1Comment = "coucou2"; _person.Branch = _branch; _group = new Group(); _group.Active = true; _group.BadClient = false; _group.City = "Dushambe"; _group.LoanCycle = 2; _group.District = _district; _group.Name = "SCG"; _group.ZipCode = "12345"; _group.SecondaryZipCode = "123458"; _group.Email = "*****@*****.**"; _group.SecondaryEmail = "*****@*****.**"; _group.HomeType = "Maison"; _group.SecondaryHomeType = "Maison"; _group.Status = OClientStatus.Active; _group.FollowUpComment = "Follow Up Comment Group"; _group.Sponsor2 = "coucou"; _group.Sponsor2Comment = "coucou2"; _group.Branch = _branch; }