public void SelectFiewProjectsByClientId() { Project project1 = new Project(); project1.ProjectStatus = OProjectStatus.Refused; project1.Code = "TEST"; project1.Name = "PROJECT"; project1.Aim = "Not Set"; project1.BeginDate = TimeProvider.Today; Project project2 = new Project(); project2.ProjectStatus = OProjectStatus.Refused; project2.Code = "TEST"; project2.Name = "PROJECT"; project2.Aim = "Not Set"; project2.BeginDate = TimeProvider.Today; Project project3 = new Project(); project3.ProjectStatus = OProjectStatus.Refused; project3.Code = "TEST"; project3.Name = "PROJECT"; project3.Aim = "Not Set"; project3.BeginDate = TimeProvider.Today; Person person = new Person(); person.Id = new DataHelper().AddGenericTiersIntoDatabase(OClientTypes.Person); ProjectManager projectManager = new ProjectManager(DataUtil.TESTDB); project1.Id = projectManager.AddProject(project1, person.Id, null); project2.Id = projectManager.AddProject(project2, person.Id, null); project3.Id = projectManager.AddProject(project3, person.Id, null); List<Project> list = projectManager.SelectProjectsByClientId(person.Id); Assert.AreEqual(3,list.Count); }
public void SaveProject_AimEmpty_ThrowException() { var project = new Project("NotSet") {Name = "NotSet", Code = "NotSet", Aim = String.Empty}; IClient client = new Person { Id = 1 }; new ProjectServices(new User()).SaveProject(project, client); }
public void SaveProject_CodeNull_ThrowException() { var project = new Project("NotSet") {Code = null}; IClient client = new Person {Id = 1}; new ProjectServices(new User()).SaveProject(project, client); }
public void AddProjectAndSelectProjectById() { Project project = new Project(); project.ProjectStatus = OProjectStatus.Refused; project.Code = "TEST"; project.Name = "PROJECT"; project.Aim = "Not Set"; project.BeginDate = TimeProvider.Today; Person person = new Person(); person.Id = new DataHelper().AddGenericTiersIntoDatabase(OClientTypes.Person); project.Credits.Add(_AddCredit()); ProjectManager projectManager = new ProjectManager(DataUtil.TESTDB); int projectId = projectManager.AddProject(project,person.Id,null); Project selectedProject = projectManager.SelectProject(projectId); Assert.AreEqual(projectId, selectedProject.Id); Assert.AreEqual("TEST", selectedProject.Code); Assert.AreEqual("PROJECT", selectedProject.Name); Assert.AreEqual("Not Set", selectedProject.Aim); Assert.AreEqual(OProjectStatus.Refused, selectedProject.ProjectStatus); Assert.AreEqual(1,selectedProject.Credits.Count); Assert.AreEqual(TimeProvider.Today,selectedProject.BeginDate); }
public int Add(Project project, int tiersId) { using (SqlConnection conn = GetConnection()) using (SqlTransaction t = conn.BeginTransaction()) { int id = Add(project, tiersId, t); t.Commit(); return id; } }
public void UpdateProjectStatut(Project pProject, SqlTransaction pTransaction) { const string q = "UPDATE [Projects] SET [status] = @status WHERE id = @id"; using (OpenCbsCommand c = new OpenCbsCommand(q, pTransaction.Connection, pTransaction)) { c.AddParam("@id", pProject.Id); c.AddParam("@status", (int) pProject.ProjectStatus); c.ExecuteNonQuery(); } }
private void btnSave_Click(object sender, EventArgs e) { bool isError = false; if (_CheckIfMoneyIsEnough()) if (!MessageBox.Show(MultiLanguageStrings.GetString(Ressource.VillageForm, "MoneyNotEnoughForAll.Text"), @"!", MessageBoxButtons.YesNo).Equals(DialogResult.Yes)) return; if (_product.GracePeriod == null && !_CheckGracePeriod()) { MessageBox.Show(MultiLanguageStrings.GetString(Ressource.VillageForm, "GracePeriodNotCorrect"), MultiLanguageStrings.GetString(Ressource.VillageForm, "GracePeriod"), MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } foreach (ListViewItem item in lvMembers.Items) { if (item == _itemTotal) continue; if (!item.Checked) continue; if (_product.UseCompulsorySavings && item.SubItems[IdxCompulsorySavings].Tag == null) { string text = string.Format(@"The loan of client '{0}' requires a compulsory savings account!", ((VillageMember)item.Tag).Tiers.Name); MessageBox.Show(text, @"No compulsory savings", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } /*if (item.SubItems[IdxPaymentMethod].Tag != null && item.SubItems[IdxPaymentMethod].Tag.ToString() == OPaymentMethods.Savings.ToString()) { if (_product.UseCompulsorySavings && item.SubItems[IdxCompulsorySavings].Tag == null) { string text = string.Format(@"The loan of client '{0}' requires a compulsory savings account!", ((VillageMember)item.Tag).Tiers.Name); MessageBox.Show(text, @"No compulsory savings", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } }*/ } if(!_nsgForm.Save()) return; Loan loan = null; VillageMember member; try { foreach (ListViewItem item in lvMembers.Items) { if (!item.Checked || item == _itemTotal) continue; member = item.Tag as VillageMember; Project project; if (null == member) continue; OCurrency amount = (OCurrency)item.SubItems[IdxAmount].Tag; decimal interest = (decimal)item.SubItems[IdxInterest].Tag; int gracePeriod = (int)item.SubItems[IdxGracePeriod].Tag; int installments = (int)item.SubItems[IdxInstallments].Tag; DateTime date = Convert.ToDateTime(item.SubItems[IdxCreationDate].Tag); //creation of loan loan = new Loan(_product, amount, interest, installments, gracePeriod, date, _village.MeetingDay, User.CurrentUser, ServicesProvider.GetInstance().GetGeneralSettings(), ServicesProvider.GetInstance().GetNonWorkingDate(), CoreDomainProvider.GetInstance().GetProvisioningTable(), CoreDomainProvider.GetInstance().GetChartOfAccounts()) { NonRepaymentPenalties = { InitialAmount = _product.NonRepaymentPenalties.InitialAmount ?? 0, OLB = _product.NonRepaymentPenalties.OLB ?? 0, OverDuePrincipal = _product.NonRepaymentPenalties.OverDuePrincipal ?? 0, OverDueInterest = _product.NonRepaymentPenalties.OverDueInterest ?? 0 }, InstallmentType = _product.InstallmentType, AnticipatedTotalRepaymentPenalties = 0, FundingLine = item.SubItems[IdxFundingLine].Tag as FundingLine, LoanOfficer = (User)item.SubItems[IdxLoanOfficer].Tag, Synchronize = false, ContractStatus = OContractStatus.Pending, CreditCommitteeCode = string.Empty, GracePeriod = gracePeriod, GracePeriodOfLateFees = _product.GracePeriodOfLateFees, AmountMin = member.Product.AmountMin, AmountMax = member.Product.AmountMax, InterestRateMin = member.Product.InterestRateMin, InterestRateMax = member.Product.InterestRateMax, NmbOfInstallmentsMin = member.Product.NbOfInstallmentsMin, NmbOfInstallmentsMax = member.Product.NbOfInstallmentsMax }; loan.InstallmentList = ServicesProvider.GetInstance().GetContractServices().SimulateScheduleCreation(loan); loan.LoanEntryFeesList = new List<LoanEntryFee>(); foreach (EntryFee fee in loan.Product.EntryFees) { LoanEntryFee loanEntryFee = new LoanEntryFee(); loanEntryFee.ProductEntryFee = fee; loanEntryFee.ProductEntryFeeId = (int)fee.Id; if (fee.Value.HasValue) loanEntryFee.FeeValue = (decimal)fee.Value; else loanEntryFee.FeeValue = (decimal)fee.Min; loan.LoanEntryFeesList.Add(loanEntryFee); } var client = member.Tiers; if (0 == client.Projects.Count) { project = new Project("Village"); project.Name = "Village"; project.Code = "Village"; project.Aim = "Village"; project.BeginDate = date; project.Id = ServicesProvider.GetInstance().GetProjectServices().SaveProject(project, client); member.Tiers.AddProject(project); } project = client.Projects[0]; // Compulsory savings if (_product.UseCompulsorySavings) { loan.CompulsorySavings = (SavingBookContract)item.SubItems[IdxCompulsorySavings].Tag; loan.CompulsorySavingsPercentage = (int)item.SubItems[IdxCompulsoryPercentage].Tag; } var person = client as Person; if (person == null) throw new ApplicationException("Member can not be other than person."); loan.EconomicActivity = person.Activity; ServicesProvider.GetInstance().GetContractServices().CheckLoanFilling(loan); loan.NsgID = _village.Id; ServicesProvider.GetInstance().GetContractServices().SaveLoan(ref loan, project.Id, ref client); project.AddCredit(loan, loan.ClientType); if (!_village.Active) { _village.Active = true; ServicesProvider.GetInstance().GetContractServices().UpdateVillageStatus(_village); } loan.Closed = false; client.Active = true; client.Status = OClientStatus.Active; member.ActiveLoans.Add(loan); } } catch (Exception ex) { isError = true; loan.ContractStatus = OContractStatus.Pending; new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } if (!isError) { DialogResult = DialogResult.OK; Close(); } }
public void InitializeCorporateForm(Corporate corporate, Project project) { ClientForm corporateForm = new ClientForm(corporate, this) { MdiParent = this }; if (project != null) corporateForm.DisplayUserControl_ViewProject(project, null); corporateForm.Show(); }
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; } }
private void AddProject(Project pProject) { if (ServicesProvider.GetInstance().GetGeneralSettings().UseProjects) { tabControlPerson.TabPages.Remove(tabPageProject); tabControlPerson.TabPages.Remove(tabPageLoansDetails); tabControlPerson.TabPages.Remove(tabPageAdvancedSettings); tabControlPerson.TabPages.Remove(tabPageLoanRepayment); tabControlPerson.TabPages.Remove(tabPageSavingDetails); tabControlPerson.TabPages.Remove(tabPageLoanGuarantees); tabControlPerson.TabPages.Add(tabPageProject); tabControlPerson.SelectedTab = tabPageProject; if ((pProject == null)) { _project = new Project(); pProject = _project; } DisplaySelectedProject(pProject); } else { tabControlPerson.TabPages.Remove(tabPageProject); bool IsTabContractsExists = false; foreach (TabPage tab in tabControlPerson.TabPages) { if (tab == tabPageContracts) IsTabContractsExists = true; } if (!IsTabContractsExists && _client != null) { tabControlPerson.TabPages.Add(tabPageContracts); panelLoansContracts.Controls.Add(pnlLoans); if (_project != null) { tabControlPerson.SelectedTab = tabPageContracts; } if (_personUserControl != null) { FillProjectLoans(_personUserControl.Person.Projects, _personUserControl.Person.FirstName); } if (_groupUserControl != null) { FillProjectLoans(_groupUserControl.Group.Projects, _groupUserControl.Group.Name); } if (_corporateUserControl != null) { FillProjectLoans(_corporateUserControl.Corporate.Projects, _corporateUserControl.Corporate.Name); } } } }
private void AddProject(Project pProject) { tabControlPerson.TabPages.Remove(tabPageProject); bool IsTabContractsExists = false; foreach (TabPage tab in tabControlPerson.TabPages) { if (tab == tabPageContracts) IsTabContractsExists = true; } if (!IsTabContractsExists && _client != null) { tabControlPerson.TabPages.Add(tabPageContracts); panelLoansContracts.Controls.Add(pnlLoans); if (_project != null) { tabControlPerson.SelectedTab = tabPageContracts; } if (_personUserControl != null) { FillProjectLoans(_personUserControl.Person.Projects, _personUserControl.Person.FirstName); } if (_groupUserControl != null) { FillProjectLoans(_groupUserControl.Group.Projects, _groupUserControl.Group.Name); } if (_corporateUserControl != null) { FillProjectLoans(_corporateUserControl.Corporate.Projects, _corporateUserControl.Corporate.Name); } } }
public CorporateUserControl(Project pProject) { InitializeComponent(); InitializeUserControlsAddress(); _corporate = new Corporate(); }
public void UpdateProjectStatus(Project pProject, SqlTransaction pTransaction) { _ProjectManager.UpdateProjectStatut(pProject, pTransaction); }
public void UpdateProjectStatus(Project pProject) { using (SqlConnection conn = _ProjectManager.GetConnection()) using (SqlTransaction transaction = conn.BeginTransaction()) { UpdateProjectStatus(pProject, transaction); transaction.Commit(); } }
public int SaveProject(Project pProject, IClient pClient) { if (pClient.Id == 0) throw new OpenCbsProjectSaveException(OpenCbsProjectSaveExceptionEnum.ClientIsEmpty); if (string.IsNullOrEmpty(pProject.Name)) throw new OpenCbsProjectSaveException(OpenCbsProjectSaveExceptionEnum.NameIsEmpty); if (string.IsNullOrEmpty(pProject.Aim)) throw new OpenCbsProjectSaveException(OpenCbsProjectSaveExceptionEnum.AimIsEmpty); if (pProject.BeginDate == DateTime.MinValue) throw new OpenCbsProjectSaveException(OpenCbsProjectSaveExceptionEnum.BeginDateEmpty); if (pProject.CorporateCA.HasValue && pProject.CorporateCA.Value == -1) throw new OpenCbsProjectSaveException(OpenCbsProjectSaveExceptionEnum.CAIsBad); if (pProject.CorporateFinancialPlanAmount.HasValue && pProject.CorporateFinancialPlanAmount.Value == -1) throw new OpenCbsProjectSaveException(OpenCbsProjectSaveExceptionEnum.FinancialPlanAmountIsBad); if (pProject.CorporateFinancialPlanTotalAmount.HasValue && pProject.CorporateFinancialPlanTotalAmount.Value == -1) throw new OpenCbsProjectSaveException(OpenCbsProjectSaveExceptionEnum.FinancialTotalPlanAmountIsBad); foreach (FollowUp up in pProject.FollowUps) { if(!up.CA.HasValue) throw new OpenCbsProjectSaveException(OpenCbsProjectSaveExceptionEnum.CACannotBeNullInFollowUp); } using (SqlConnection conn = _ProjectManager.GetConnection()) using (SqlTransaction t = conn.BeginTransaction()) { try { if (String.IsNullOrEmpty(pClient.Branch.Code)) { pClient.Branch.Code = _branchService.FindBranchCodeByClientId(pClient.Id, t); } if (string.IsNullOrEmpty(pProject.Code)) pProject.Code = pProject.GenerateProjectCode(pClient.Branch.Code); int id = 0; if (pProject.Id == 0) { pProject.SetStatus(); pClient.SetStatus(); _ClientServices.UpdateClientStatus(pClient, t); id = _ProjectManager.Add(pProject, pClient.Id, t); } else { _ProjectManager.UpdateProject(pProject, t); id = pProject.Id; } t.Commit(); return id; } catch (Exception) { t.Rollback(); throw; } } }
private void DisplaySelectedProject(Project pProject) { InitializeProjectCombobox(); Text = _title; if (pProject.Name != "Not Set") Text += " - " + pProject.Name; _followUpList = pProject.FollowUps; buttonProjectSave.Text = pProject.Id != 0 ? MultiLanguageStrings.GetString(Ressource.ClientForm, "UpdateProject.Text") : MultiLanguageStrings.GetString(Ressource.ClientForm, "SaveProject.Text"); tabPageProject.Text = pProject.Id != 0 ? string.Format(MultiLanguageStrings.GetString(Ressource.ClientForm, "Project.Text") + " - [{0}]", _project.Name) : MultiLanguageStrings.GetString(Ressource.ClientForm, "Project.Text"); textBoxProjectName.Text = pProject.Name; textBoxProjectCode.Text = pProject.Code; textBoxProjectAim.Text = pProject.Aim; textBoxProjectAbilities.Text = pProject.Abilities; textBoxProjectExperience.Text = pProject.Experience; textBoxProjectMarket.Text = pProject.Market; textBoxProjectConcurrence.Text = pProject.Concurrence; textBoxProjectPurpose.Text = pProject.Purpose; dateTimePickerProjectBeginDate.Value = pProject.BeginDate == DateTime.MinValue ? TimeProvider.Today : pProject.BeginDate; tBProjectCorporateName.Text = pProject.CorporateName; tBProjectCorporateSIRET.Text = pProject.CorporateSIRET; cBProjectJuridicStatus.Text = pProject.CorporateJuridicStatus; cBProjectFiscalStatus.Text = pProject.CorporateFiscalStatus; cBProjectAffiliation.Text = pProject.CorporateRegistre; tBProjectCA.Text = pProject.CorporateCA.HasValue ? pProject.CorporateCA.GetFormatedValue(true) : ""; numericUpDownProjectJobs.Value = pProject.CorporateNbOfJobs.HasValue ? pProject.CorporateNbOfJobs.Value : 0; cBProjectFinancialPlanType.Text = pProject.CorporateFinancialPlanType; tBProjectFinancialPlanAmount.Text = pProject.CorporateFinancialPlanAmount.HasValue ? pProject.CorporateFinancialPlanAmount.GetFormatedValue(true) : ""; tBProjectFinancialPlanTotal.Text = pProject.CorporateFinancialPlanTotalAmount.HasValue ? pProject.CorporateFinancialPlanTotalAmount.GetFormatedValue(true) : ""; projectAddressUserControl.ZipCode = pProject.ZipCode; projectAddressUserControl.HomeType = pProject.HomeType; projectAddressUserControl.Email = pProject.Email; projectAddressUserControl.District = pProject.District; projectAddressUserControl.City = pProject.City; projectAddressUserControl.Comments = pProject.Address; projectAddressUserControl.HomePhone = pProject.HomePhone; projectAddressUserControl.PersonalPhone = pProject.PersonalPhone; DisplayContracts(pProject.Credits); DisplayFollowUps(_followUpList); }
public void DisplayUserControl_ViewProject(object sender, EventArgs e) { _project = (Project)sender; AddProject(_project); }
public void TestAddPersonAndSelectPersonByIdNonNullAuthorizedValues() { Project project = new Project("TEST"); project.Name = "TEST"; project.Code = "NotSet"; project.Aim = "NotSet"; project.BeginDate = TimeProvider.Today; _person.AddProject(project); _person.Id = _cltManagement.AddPerson(_person); project.Id = _projectManager.Add(project, _person.Id); Person selectedPerson = _cltManagement.SelectPersonById(_person.Id); _AssertPerson(_person, selectedPerson); }
private void FillProjectLoans(List<Project> pProjects, string Name) { List<Loan> _credits = new List<Loan>(); if (pProjects.Count > 0) { foreach (Project proj in pProjects) { foreach (Loan _loan in proj.Credits) { _credits.Add(_loan); } } DisplayContracts(_credits); _project = pProjects[0]; //tabControlPerson.SelectedTab = tabPageProjectLoans; tabControlPerson.SelectedTab = tabPageContracts; } else { if (Name != null) { _project = new Project(); textBoxProjectName.Text = "NotSet"; textBoxProjectAim.Text = "NotSet"; dateTimePickerProjectBeginDate.Value = DateTime.Now; SaveProject(); tabControlPerson.SelectedTab = tabPageDetails; } } }
public void InitializeGroupForm(Group group, Project project) { ClientForm personForm = new ClientForm(group, this, _applicationController) { MdiParent = this, Text = string.Format("{0} [{1}]", MultiLanguageStrings.GetString(Ressource.ClientForm, "Group.Text"), group.Name) }; if (project != null) personForm.DisplayUserControl_ViewProject(project, null); personForm.Show(); }
private void SaveProject() { IClient client = null; if (_oClientType == OClientTypes.Corporate) client = _corporateUserControl.Corporate; if (_oClientType == OClientTypes.Person) client = _personUserControl.Person; if (_oClientType == OClientTypes.Group) client = _groupUserControl.Group; if (client != null) if (client.Id != 0) { if (_project.Id == 0) { Project newProject = new Project("TEST"); newProject.Name = textBoxProjectName.Text; newProject.Aim = textBoxProjectAim.Text; newProject.BeginDate = dateTimePickerProjectBeginDate.Value; newProject.Abilities = textBoxProjectAbilities.Text; newProject.Experience = textBoxProjectExperience.Text; newProject.Market = textBoxProjectMarket.Text; newProject.Concurrence = textBoxProjectConcurrence.Text; newProject.Purpose = textBoxProjectPurpose.Text; newProject.ClientCode = string.Format("{0}/{1}", client.NbOfProjects, client.Id); newProject.CorporateName = tBProjectCorporateName.Text; newProject.CorporateSIRET = tBProjectCorporateSIRET.Text; newProject.CorporateJuridicStatus = cBProjectJuridicStatus.SelectedItem == null ? "-" : cBProjectJuridicStatus.SelectedItem.ToString(); newProject.CorporateFiscalStatus = cBProjectFiscalStatus.SelectedItem == null ? "-" : cBProjectFiscalStatus.SelectedItem.ToString(); newProject.CorporateCA = ServicesHelper.ConvertStringToNullableDecimal(tBProjectCA.Text, -1); newProject.CorporateNbOfJobs = (int)numericUpDownProjectJobs.Value; newProject.CorporateFinancialPlanType = cBProjectFinancialPlanType.SelectedItem == null ? "-" : cBProjectFinancialPlanType.SelectedItem.ToString(); newProject.CorporateFinancialPlanAmount = ServicesHelper.ConvertStringToNullableDecimal(tBProjectFinancialPlanAmount.Text, -1); newProject.CorporateFinancialPlanTotalAmount = ServicesHelper.ConvertStringToNullableDecimal(tBProjectFinancialPlanTotal.Text, -1); newProject.CorporateRegistre = cBProjectAffiliation.Text; newProject.ZipCode = projectAddressUserControl.ZipCode; newProject.HomeType = projectAddressUserControl.HomeType; newProject.Email = projectAddressUserControl.Email; newProject.District = projectAddressUserControl.District; newProject.City = projectAddressUserControl.City; newProject.Address = projectAddressUserControl.Comments; newProject.HomePhone = projectAddressUserControl.HomePhone; newProject.PersonalPhone = projectAddressUserControl.PersonalPhone; newProject.FollowUps = _followUpList; newProject.Id = ServicesProvider.GetInstance().GetProjectServices().SaveProject(newProject, client); _project = ServicesProvider.GetInstance().GetProjectServices().FindProjectById(newProject.Id); client.AddProject(_project); } else { _project.Name = textBoxProjectName.Text; _project.Aim = textBoxProjectAim.Text; _project.BeginDate = dateTimePickerProjectBeginDate.Value; _project.Abilities = textBoxProjectAbilities.Text; _project.Experience = textBoxProjectExperience.Text; _project.Market = textBoxProjectMarket.Text; _project.Concurrence = textBoxProjectConcurrence.Text; _project.Purpose = textBoxProjectPurpose.Text; _project.FollowUps = _followUpList; _project.CorporateName = tBProjectCorporateName.Text; _project.CorporateSIRET = tBProjectCorporateSIRET.Text; _project.CorporateJuridicStatus = cBProjectJuridicStatus.SelectedItem == null ? "-" : cBProjectJuridicStatus.SelectedItem.ToString(); _project.CorporateFiscalStatus = cBProjectFiscalStatus.SelectedItem == null ? "-" : cBProjectFiscalStatus.SelectedItem.ToString(); _project.CorporateCA = ServicesHelper.ConvertStringToNullableDecimal(tBProjectCA.Text, -1); _project.CorporateNbOfJobs = (int)numericUpDownProjectJobs.Value; _project.CorporateFinancialPlanType = cBProjectFinancialPlanType.SelectedItem == null ? "-" : cBProjectFinancialPlanType.SelectedItem.ToString(); _project.CorporateFinancialPlanAmount = ServicesHelper.ConvertStringToNullableDecimal(tBProjectFinancialPlanAmount.Text, -1); _project.CorporateFinancialPlanTotalAmount = ServicesHelper.ConvertStringToNullableDecimal(tBProjectFinancialPlanTotal.Text, -1); _project.CorporateRegistre = cBProjectAffiliation.Text; _project.ZipCode = projectAddressUserControl.ZipCode; _project.HomeType = projectAddressUserControl.HomeType; _project.Email = projectAddressUserControl.Email; _project.District = projectAddressUserControl.District; _project.City = projectAddressUserControl.City; _project.Address = projectAddressUserControl.Comments; _project.HomePhone = projectAddressUserControl.HomePhone; _project.PersonalPhone = projectAddressUserControl.PersonalPhone; ServicesProvider.GetInstance().GetProjectServices().SaveProject(_project, client); } DisplayProjects(client.Projects); DisplaySavings(client.Savings); DisplaySelectedProject(_project); } else { MessageBox.Show("Please, save client before!"); } }
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); } } }
public void InitializePersonForm(Person person, Project project) { ClientForm personForm = new ClientForm(person, this) { MdiParent = this, Text = string.Format( "{0} [{1}]", MultiLanguageStrings.GetString(Ressource.ClientForm, "Person.Text"), person.Name) }; if (project != null) personForm.DisplayUserControl_ViewProject(project, null); personForm.Show(); }
private void _CheckTiersAndDisplayIt(ProjetSearchResult result) { try { _client = ServicesProvider.GetInstance().GetClientServices().FindTiers(result.TiersId, result.Type); _projet = ServicesProvider.GetInstance().GetProjectServices().FindProjectById(result.Id); _projet.Client = _client; if (result.Type == OClientTypes.Person) ((LotrasmicMainWindowForm)_mdiForm).InitializePersonForm((Person)_client,_projet); if (result.Type == OClientTypes.Group) ((LotrasmicMainWindowForm)_mdiForm).InitializeGroupForm((Group)_client,_projet); if (result.Type == OClientTypes.Corporate) ((LotrasmicMainWindowForm)_mdiForm).InitializeCorporateForm((Corporate)_client,_projet); Close(); } catch (Exception ex) { new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } }
public void UpdateProject(Project pProject, SqlTransaction pSqlTransaction) { const string q = @"UPDATE Projects SET status = @status,name = @name,code = @code,aim = @aim, begin_date = @beginDate, abilities = @abilities, experience = @experience, market = @market, concurrence = @concurrence, purpose = @purpose ,[corporate_name] = @corporateName, [corporate_juridicStatus] = @corporateJuridicStatus, [corporate_FiscalStatus] = @corporateFiscalStatus,[corporate_siret] = @corporateSiret,[corporate_CA] = @corporateCA, [corporate_nbOfJobs] = @corporateNbOfJobs,[corporate_financialPlanType] = @corporateFinancialPlanType, [corporateFinancialPlanAmount] = @corporateFinancialPlanAmount,[corporate_financialPlanTotalAmount] = @corporateFinancialPlanTotalAmount, [address] = @address,[city] = @city, [zipCode] = @zipCode, [district_id] = @districtId, [home_phone] = @homePhone, [personalPhone] = @personalPhone, [Email] = @Email, [hometype] = @hometype, [corporate_registre] = @corporateRegistre WHERE id = @id"; using (OpenCbsCommand c = new OpenCbsCommand(q, pSqlTransaction.Connection, pSqlTransaction)) { c.AddParam("@status", (int) pProject.ProjectStatus); c.AddParam("@id", pProject.Id); c.AddParam("@name", pProject.Name); c.AddParam("@code", pProject.Code); c.AddParam("@aim", pProject.Aim); c.AddParam("@beginDate", pProject.BeginDate); c.AddParam("@abilities", pProject.Abilities); c.AddParam("@experience", pProject.Experience); c.AddParam("@market", pProject.Market); c.AddParam("@concurrence", pProject.Concurrence); c.AddParam("@purpose", pProject.Purpose); c.AddParam("@corporateName", pProject.CorporateName); c.AddParam("@corporateJuridicStatus", pProject.CorporateJuridicStatus); c.AddParam("@corporateFiscalStatus", pProject.CorporateFiscalStatus); c.AddParam("@corporateRegistre", pProject.CorporateRegistre); c.AddParam("@corporateSiret", pProject.CorporateSIRET); c.AddParam("@corporateCA", pProject.CorporateCA); c.AddParam("@corporateNbOfJobs", pProject.CorporateNbOfJobs); c.AddParam("@corporateFinancialPlanType", pProject.CorporateFinancialPlanType); c.AddParam("@corporateFinancialPlanAmount", pProject.CorporateFinancialPlanAmount); c.AddParam("@corporateFinancialPlanTotalAmount", pProject.CorporateFinancialPlanTotalAmount); c.AddParam("@address", pProject.Address); c.AddParam("@city", pProject.City); c.AddParam("@zipCode", pProject.ZipCode); if (pProject.District != null) c.AddParam("@districtId", pProject.District.Id); else c.AddParam("@districtId", null); c.AddParam("@homePhone", pProject.HomePhone); c.AddParam("@personalPhone", pProject.PersonalPhone); c.AddParam("@Email", pProject.Email); c.AddParam("@hometype", pProject.HomeType); c.ExecuteNonQuery(); } foreach (FollowUp up in pProject.FollowUps) { if (up.Id == 0) _AddFollowUp(up, pProject.Id, pSqlTransaction); else _UpdateFollowUp(up, pSqlTransaction); } }
public void SetUp() { addDataForTesting.DeleteInstallments(); addDataForTesting.DeleteCreditContract(); addDataForTesting.DeletedProject(); addDataForTesting.DeleteInstallmentTypes(); addDataForTesting.DeleteTiers(); addDataForTesting.DeleteAllUser(); addDataForTesting.AddGenericFundingLine(); collateral = addDataForTesting.AddCollateral(); biWeekly = addDataForTesting.AddBiWeeklyInstallmentType(); package.Id = addDataForTesting.AddGenericPackage(); package.Name = "Package"; user.Id = addDataForTesting.AddUserWithIntermediaryAttributs(); //addDataForTesting.AddGenericFundingLine(); tiers.Id = addDataForTesting.AddGenericTiersIntoDatabase(OClientTypes.Group); tiers.LoanCycle = 1; _project = new Project(); _project.ProjectStatus = OProjectStatus.Refused; _project.Name = "NotSet"; _project.Code = "NotSet"; _project.Aim = "NotSet"; _project.BeginDate = TimeProvider.Today; _project.Id = projectManager.Add(_project, tiers.Id, null); //fundingLine = new FundingLine("AFD130",false); credit = new Loan(new User(), ApplicationSettings.GetInstance(""), NonWorkingDateSingleton.GetInstance(""), ProvisioningTable.GetInstance(new User())); credit.LoanOfficer = user; credit.BranchCode = "DU"; credit.CreationDate = DateTime.Today.AddDays(-1); credit.StartDate = DateTime.Today; credit.CloseDate = DateTime.Today.AddDays(1); credit.Closed = true; credit.Rural = true; credit.Product = package; credit.Amount = 1000m; credit.InterestRate = 3; credit.InstallmentType = biWeekly; credit.NbOfInstallments = 2; credit.NonRepaymentPenalties.InitialAmount = 2.5; credit.AnticipatedRepaymentPenalties = 1.2; credit.Disbursed = false; credit.LoanOfficer = user; credit.FundingLine = new FundingLine { Name = "AFD130" }; credit.EntryFees = 2.05; credit.WriteOff = false; credit.Rescheduled = false; credit.BadLoan = false; credit.AddInstallment(installment1); credit.AddInstallment(installment2); }
private Project GetProject(OpenCbsReader reader) { Project project = new Project(); project.Id = reader.GetInt("id"); project.ProjectStatus = (OProjectStatus)reader.GetSmallInt("status"); project.Code = reader.GetString("code"); project.Name = reader.GetString("name"); project.Aim = reader.GetString("aim"); project.BeginDate = reader.GetDateTime("begin_date"); project.Abilities = reader.GetString("abilities"); project.Experience = reader.GetString("experience"); project.Market = reader.GetString("market"); project.Concurrence = reader.GetString("concurrence"); project.Purpose = reader.GetString("purpose"); project.CorporateName = reader.GetString("corporate_name"); project.CorporateJuridicStatus = reader.GetString("corporate_juridicStatus"); project.CorporateFiscalStatus = reader.GetString("corporate_FiscalStatus"); project.CorporateSIRET = reader.GetString("corporate_siret"); project.CorporateRegistre = reader.GetString("corporate_registre"); project.CorporateCA = reader.GetMoney("corporate_CA"); project.CorporateNbOfJobs = reader.GetNullInt("corporate_nbOfJobs"); project.CorporateFinancialPlanType = reader.GetString("corporate_financialPlanType"); project.CorporateFinancialPlanAmount = reader.GetMoney("corporateFinancialPlanAmount"); project.CorporateFinancialPlanTotalAmount = reader.GetMoney("corporate_financialPlanTotalAmount"); project.Address = reader.GetString("address"); project.City = reader.GetString("city"); project.ZipCode = reader.GetString("zipCode"); int? districtId = reader.GetNullInt("district_id"); if (districtId.HasValue) project.District = new District { Id = districtId.Value }; project.HomePhone = reader.GetString("home_phone"); project.PersonalPhone = reader.GetString("personalPhone"); project.Email = reader.GetString("Email"); project.HomeType = reader.GetString("hometype"); return project; }
public Loan UpdateContractStatus(Loan credit, Project project, IClient client, bool undoValidation) { CheckOperationDate(credit.CreditCommiteeDate.Value); using (SqlConnection conn = _loanManager.GetConnection()) using (SqlTransaction sqlTransaction = conn.BeginTransaction()) { try { if (credit.StartDate.Date < ((DateTime) credit.CreditCommiteeDate).Date) throw new OpenCbsContractSaveException( OpenCbsContractSaveExceptionEnum.LoanWasValidatedLaterThanDisbursed); Loan tempLoan = credit.Copy(); LoanValidationEvent lve = null; if (undoValidation) { if (tempLoan.Events.GetLastLoanNonDeletedEvent != null && tempLoan.Events.GetLastLoanNonDeletedEvent is LoanValidationEvent) { ((LoanValidationEvent) tempLoan.Events.GetLastLoanNonDeletedEvent).Amount = credit.Amount; _ePs.CancelFireEvent(tempLoan.Events.GetLastLoanNonDeletedEvent, sqlTransaction, tempLoan, tempLoan.Product.Currency.Id); tempLoan.Events.GetLastLoanNonDeletedEvent.Deleted = true; } } else if (tempLoan.ContractStatus == OContractStatus.Validated) { lve = new LoanValidationEvent(); lve.Amount = tempLoan.Amount; lve.Date = tempLoan.CreditCommiteeDate.Value; lve.Cancelable = true; lve.User = _user; lve.Deleted = false; if (Teller.CurrentTeller != null && Teller.CurrentTeller.Id != 0) lve.TellerId = Teller.CurrentTeller.Id; _ePs.FireEvent(lve, tempLoan, sqlTransaction); tempLoan.Events.Add(lve); } _loanManager.UpdateLoanStatus(tempLoan, sqlTransaction); project.SetStatus(); new ProjectServices(_user).UpdateProjectStatus(project, sqlTransaction); client.SetStatus(); new ClientServices(_user).UpdateClientStatus(client, sqlTransaction); FundingLineEvent pendingFundingLineEvent = new FundingLineEvent { Code = string.Concat( OFundingLineEventTypes.Commitment. ToString(), "/", tempLoan.Code), Type = OFundingLineEventTypes.Commitment, FundingLine = _fundingLineServices.SelectFundingLineById( tempLoan.FundingLine.Id, sqlTransaction), Movement = OBookingDirections.Debit, CreationDate = TimeProvider.Now, Amount = tempLoan.Amount , AttachTo = lve }; //if this is a new validate event, register it, otherwise delete previous validate event if (tempLoan.ContractStatus == OContractStatus.Validated) tempLoan.FundingLine.AddEvent(_fundingLineServices.AddFundingLineEvent(pendingFundingLineEvent, sqlTransaction)); else if (undoValidation) { DeleteFundingLineEvent(ref tempLoan, pendingFundingLineEvent, sqlTransaction); } sqlTransaction.Commit(); return tempLoan; } catch (Exception ex) { sqlTransaction.Rollback(); throw ex; } } }
public int Add(Project pProject, int pTiersId, SqlTransaction pSqlTransac) { const string q = @"INSERT INTO Projects([tiers_id],[status],[name],[code],[aim],[begin_date], [abilities],[experience],[market],[concurrence],[purpose],[corporate_name],[corporate_juridicStatus] ,[corporate_FiscalStatus],[corporate_siret],[corporate_CA],[corporate_nbOfJobs],[corporate_financialPlanType] ,[corporateFinancialPlanAmount],[corporate_financialPlanTotalAmount],[address],[city],[zipCode],[district_id] ,[home_phone],[personalPhone],[Email],[hometype],[corporate_registre]) VALUES(@tiersId,@status,@name,@code,@aim,@beginDate,@abilities,@experience,@market,@concurrence,@purpose, @corporateName,@corporateJuridicStatus,@corporateFiscalStatus,@corporateSiret,@corporateCA,@corporateNbOfJobs, @corporateFinancialPlanType, @corporateFinancialPlanAmount, @corporateFinancialPlanTotalAmount, @address,@city, @zipCode, @districtId, @homePhone, @personalPhone,@Email,@hometype,@corporateRegistre) SELECT SCOPE_IDENTITY()"; using (OpenCbsCommand c = new OpenCbsCommand(q, pSqlTransac.Connection, pSqlTransac)) { c.AddParam("@tiersId", pTiersId); c.AddParam("@status", (int) pProject.ProjectStatus); c.AddParam("@name", pProject.Name); c.AddParam("@code", pProject.Code); c.AddParam("@aim", pProject.Aim); c.AddParam("@beginDate", pProject.BeginDate); c.AddParam("@abilities", pProject.Abilities); c.AddParam("@experience", pProject.Experience); c.AddParam("@market", pProject.Market); c.AddParam("@concurrence", pProject.Concurrence); c.AddParam("@purpose", pProject.Purpose); c.AddParam("@corporateName", pProject.CorporateName); c.AddParam("@corporateJuridicStatus", pProject.CorporateJuridicStatus); c.AddParam("@corporateFiscalStatus", pProject.CorporateFiscalStatus); c.AddParam("@corporateRegistre", pProject.CorporateRegistre); c.AddParam("@corporateSiret", pProject.CorporateSIRET); c.AddParam("@corporateCA", pProject.CorporateCA); c.AddParam("@corporateNbOfJobs", pProject.CorporateNbOfJobs); c.AddParam("@corporateFinancialPlanType", pProject.CorporateFinancialPlanType); c.AddParam("@corporateFinancialPlanAmount", pProject.CorporateFinancialPlanAmount); c.AddParam("@corporateFinancialPlanTotalAmount", pProject.CorporateFinancialPlanTotalAmount); c.AddParam("@address", pProject.Address); c.AddParam("@city", pProject.City); c.AddParam("@zipCode", pProject.ZipCode); if (pProject.District != null) c.AddParam("@districtId", pProject.District.Id); else c.AddParam("@districtId", null); c.AddParam("@homePhone", pProject.HomePhone); c.AddParam("@personalPhone", pProject.PersonalPhone); c.AddParam("@Email", pProject.Email); c.AddParam("@hometype", pProject.HomeType); pProject.Id = Convert.ToInt32(c.ExecuteScalar()); } foreach (FollowUp followUp in pProject.FollowUps) { _AddFollowUp(followUp, pProject.Id, pSqlTransac); } foreach (Loan credit in pProject.Credits) { _creditManager.Add(credit, pProject.Id, pSqlTransac); } return pProject.Id; }
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); }