public static IServices GetInstance() { if (_theUniqueInstance == null) _theUniqueInstance = new ServicesProvider(); return _theUniqueInstance._iServices; }
public ActionResult Filter(string filter) { var servicesProvider = new ServicesProvider(); var serviceViewModels = servicesProvider.GetServices(_machineName, filter).Select( service => new ServiceViewModel { ServiceName = service.ServiceName, Status = service.Status.ToString(), CanStop = service.CanStop }).ToList(); return PartialView("_ServicesPartial", serviceViewModels); }
public ActionResult Index() { var servicesProvider = new ServicesProvider(); var serviceViewModels = servicesProvider.GetServices(_machineName, string.Empty).Select( service => new ServiceViewModel { ServiceName = service.ServiceName, Status = service.Status.ToString(), CanStop = service.CanStop }).ToList(); return View("Index", serviceViewModels); }
private void SavePerson() { _personSaved = false; RecoverDatasFromUserControlsAddress(); RecoverDataFromCombobox(); _tempPerson.FirstContact = dateTimePickerFirstContact.Value; _tempPerson.FirstAppointment = dateTimePickerFirstAppointment.Value; _tempPerson.Branch = (Branch)cbBranch.SelectedItem; try { bool save = 0 == _tempPerson.Id; if (_tempPerson.FirstName != null) { _tempPerson.FirstName = _tempPerson.FirstName.Trim(); } if (_tempPerson.LastName != null) { _tempPerson.LastName = _tempPerson.LastName.Trim(); } if (_tempPerson.FatherName != null) { _tempPerson.FatherName = _tempPerson.FatherName.Trim(); } if (_tempPerson.IdentificationData != null) { _tempPerson.IdentificationData = _tempPerson.IdentificationData.Trim(); } string result = ServicesProvider .GetInstance() .GetClientServices() .SavePerson(ref _tempPerson, (tx, id) => { foreach (var extension in Extensions) { extension.Save(_tempPerson, tx); } }); EventProcessorServices es = ServicesProvider.GetInstance().GetEventProcessorServices(); es.LogClientSaveUpdateEvent(_tempPerson, save); if (result != string.Empty) { MessageBox.Show(result, "", MessageBoxButtons.OK, MessageBoxIcon.Information); } _personSaved = true; buttonSave.Text = MultiLanguageStrings.GetString(Ressource.PersonUserControl, "Update"); var formatInfo = new NameFormatInfo(); var settings = ServicesProvider.GetInstance().GetGeneralSettings(); //var fnFormat = @"{0:" + settings.FirstNameFormat + @"}"; //var lnFormat = @"{0:" + settings.LastNameFormat + @"}"; textBoxFirstName.Text = string.Format(_tempPerson.FirstName); textBoxLastname.Text = string.Format(_tempPerson.LastName); if (_tempPerson.FatherName != null) { textBoxFatherName.Text = string.Format(_tempPerson.FatherName); } textBoxIdentificationData.Text = string.Format(_tempPerson.IdentificationData); //EnableDocuments(); ResetImagesFlags(); if (ApplicationSettings.GetInstance(User.CurrentUser.Md5).UseMandatorySavingAccount&& Person.Savings.Count == 0) { Person.Savings.Add( ServicesProvider.GetInstance().GetSavingServices().AddAndActivateDefaultSavingAccount(Person)); DisplaySavings(Person.Savings); } } catch (Exception ex) { new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } }
private void buttonSave_Click(object sender, EventArgs e) { if (textBoxProductName.Text.Length == 0) { MessageBox.Show("Please, enter collateral type name!"); return; } if (textBoxProductDesc.Text.Length == 0) { MessageBox.Show("Please, enter collateral type description!"); return; } if (myProperties.GetSize() == 0) { MessageBox.Show("Please, enter at least one property!"); return; } try { if (isAddMode) { collateralProduct.Name = textBoxProductName.Text; collateralProduct.Description = textBoxProductDesc.Text; List <CollateralProperty> propertiesList = new List <CollateralProperty>(); foreach (CustomProperty property in myProperties) { CollateralProperty collateralProperty = new CollateralProperty(); collateralProperty.Name = property.Name; collateralProperty.Description = property.Description; if (property.Value is List <string> ) { collateralProperty.Type = OCollateralPropertyTypes.Collection; collateralProperty.Collection = (List <string>)property.Value; } else { //collateralProperty.Type = (OCollateralPropertyTypes) Enum.Parse(typeof(OCollateralPropertyTypes), property.Value.ToString(), true); collateralProperty.Type = (OCollateralPropertyTypes)Enum.Parse(typeof(OCollateralPropertyTypes), GetString(property.Value.ToString()), true); } propertiesList.Add(collateralProperty); } collateralProduct.Properties = propertiesList; ServicesProvider.GetInstance().GetCollateralProductServices().AddCollateralProduct(collateralProduct); } else { ServicesProvider.GetInstance().GetCollateralProductServices().UpdateCollateralProduct( collateralProduct.Id, collateralProduct.Name, textBoxProductName.Text, textBoxProductDesc.Text); foreach (CollateralProperty property in editPropertyList) { ServicesProvider.GetInstance().GetCollateralProductServices().AddCollateralProperty(collateralProduct.Id, property); } } Close(); } catch (Exception ex) { new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } }
private void LoadClosureData() { olvClosures.SetObjects(ServicesProvider.GetInstance().GetAccountingServices().SelectAccountingClosures()); }
private void OnEditLoan(EditLoanMessage message) { var client = ServicesProvider.GetInstance().GetClientServices().FindTiersByContractId(message.Id); InitializeCreditContractForm(client, message.Id); }
private void BtnOkClick(object sender, EventArgs e) { foreach (ListViewItem item in lvContracts.Items) { if (item == _itemTotal) { continue; } if (!item.Checked) { continue; } var loan = item.Tag as Loan; VillageMember activeMember = null; int index = 0; foreach (VillageMember member in _village.Members) { int tIndex = member.ActiveLoans.IndexOf(loan); if (tIndex > -1) { activeMember = member; index = tIndex; } } if (activeMember != null) { Person person = activeMember.Tiers as Person; if (loan != null) { int number = loan.GetFirstUnpaidInstallment().Number; OCurrency total = (OCurrency)item.SubItems[5].Tag; bool doProportionPayment = cbItem.SelectedIndex == 2; OCurrency penalties = (OCurrency)item.SubItems[4].Tag; bool disableFees = penalties != loan.CalculateDuePenaltiesForInstallment(number, TimeProvider.Today); string comment = item.SubItems[10].Text; PaymentMethod paymentMethod = ServicesProvider.GetInstance().GetPaymentMethodServices().GetPaymentMethodById(1); try { activeMember.ActiveLoans[index] = ServicesProvider.GetInstance().GetContractServices().Repay(loan, person, number, TimeProvider.Today, total, disableFees, penalties, 0, false, 0, true, doProportionPayment, paymentMethod, comment, false); } catch (Exception ex) { new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } } } if (loan != null) { if (loan.Closed) { if (activeMember != null) { activeMember.ActiveLoans[index] = null; } } } } if (_AllContractsClosed()) { _village.Active = false; ServicesProvider.GetInstance().GetContractServices().UpdateVillageStatus(_village); } }
private void _CheckGeneralSettings() { bWSeventToEight.ReportProgress(9, MultiLanguageStrings.GetString(Ressource.FrmSplash, "CheckAccountingSettings.Text")); ServicesProvider.GetInstance().GetChartOfAccountsServices().CheckGeneralSettings(); _accountingSettingsAreOk = true; }
private void btnSave_Click(object sender, EventArgs e) { try { foreach (ListViewItem item in lvMembers.Items) { if (!item.Checked) { continue; } var loan = item.Tag as Loan; string comment = item.SubItems[IdxComment].Text; OContractStatus currentStatus = loan.ContractStatus; OContractStatus status = (OContractStatus)item.SubItems[IdxStatus].Tag; if (currentStatus == status) { continue; } string code = item.SubItems[IdxValidationCode].Text; DateTime date = Convert.ToDateTime(item.SubItems[IdxCreditCommitteeDate].Tag); VillageMember activeMember = null; foreach (VillageMember member in _village.Members) { int tIndex = member.ActiveLoans.IndexOf(loan); if (tIndex > -1) { activeMember = member; } } IClient client = activeMember.Tiers; loan.CreditCommiteeDate = date; loan.ContractStatus = status; loan.CreditCommitteeCode = code; loan.CreditCommiteeComment = comment; Project project = client.Projects[0]; loan = ServicesProvider.GetInstance().GetContractServices().UpdateContractStatus(loan, project, client, currentStatus == OContractStatus.Validated); if (OContractStatus.Refused == status || OContractStatus.Abandoned == status || OContractStatus.Closed == status) { loan.Closed = true; activeMember.ActiveLoans.Remove(loan); if (activeMember.ActiveLoans.Count == 0) { client.Active = false; client.Status = OClientStatus.Inactive; } } else { loan.Closed = false; client.Active = true; client.Status = OClientStatus.Active; } } DialogResult = DialogResult.OK; Close(); } catch (Exception ex) { new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } }
private void Initialize() { lblSavingCurrency.Text = _saving.Product.Currency.Code; lblTotalSavingCurrency.Text = _saving.Product.Currency.Code; lblSavingCurrencyFees.Text = _saving.Product.Currency.Code; nudTotalAmount.Minimum = 0; nudTotalAmount.Maximum = decimal.MaxValue; nudAmount.Minimum = _amountMin.Value; nudAmount.Maximum = _amountMax.Value; lbAmountMinMax.Text = string.Format("{0} {1} {4}\n\r{2} {3} {4}", "min", _amountMin.GetFormatedValue(_saving.Product.Currency.UseCents), "max", _amountMax.GetFormatedValue(_saving.Product.Currency.UseCents), _saving.Product.Currency.Code); lblAmountFeesMinMax.Text = string.Format("{0} {1} {4}\n\r{2} {3} {4}", "min", _feesMin.GetFormatedValue(_saving.Product.Currency.UseCents), "max", _feesMax.GetFormatedValue(_saving.Product.Currency.UseCents), _saving.Product.Currency.Code); switch (_bookingDirection) { case OSavingsOperation.Credit: { Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "Deposit.Text"); Name = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "Deposit.Text"); btnSave.Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "Deposit.Text"); tbxSavingCode.Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "Deposit.Text"); plTransfer.Visible = false; pnlSavingPending.Visible = true; rbxDebit.Visible = false; rbxCredit.Visible = false; cbBookings.Visible = false; break; } case OSavingsOperation.Debit: { Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "Withdrawal.Text"); Name = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "Withdrawal.Text"); btnSave.Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "Withdrawal.Text"); tbxSavingCode.Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "Withdrawal.Text"); plTransfer.Visible = false; pnlSavingPending.Visible = true; //cbSavingsMethod.Visible = true; rbxDebit.Visible = false; rbxCredit.Visible = false; cbBookings.Visible = false; lblPaymentMethod.Visible = true; break; } case OSavingsOperation.Transfer: { Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "Transfer.Text"); Name = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "Transfer.Text"); btnSave.Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "Transfer.Text"); tbxSavingCode.Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "Transfer.Text"); plTransfer.Visible = true; tbTargetAccount.Visible = true; btnSearchContract.Visible = true; pnlSavingPending.Visible = false; lbTargetSavings.Visible = true; lblClientName.Visible = true; rbxDebit.Visible = false; rbxCredit.Visible = false; cbBookings.Visible = false; cbSavingsMethod.Visible = false; break; } case OSavingsOperation.SpecialOperation: { Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "SpecialOperation.Text"); Name = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "SpecialOperation.Text"); btnSave.Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "ComfirmOperation.Text"); tbxSavingCode.Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "SpecialOperation.Text"); lblPaymentMethod.Text = MultiLanguageStrings.GetString(Ressource.FrmAddSavingEvent, "StandardBooking.Text"); plTransfer.Visible = true; pnlSavingPending.Visible = true; cbxPending.Visible = false; cbSavingsMethod.Visible = false; lblAmountFeesMinMax.Visible = false; lbAmountMinMax.Visible = false; rbxDebit.Visible = true; rbxCredit.Visible = true; btnSearchContract.Visible = false; tbTargetAccount.Visible = false; lblClientName.Visible = false; updAmountFees.Visible = false; lblSavingCurrencyFees.Visible = false; lblFees.Visible = false; lblTotalAmount.Visible = false; nudTotalAmount.Visible = false; lblTotalSavingCurrency.Visible = false; lbAmountMinMaxCurrencyPivot.Visible = false; cbBookings.Items.Clear(); foreach (Booking booking in ServicesProvider.GetInstance().GetStandardBookingServices().SelectAllStandardBookings()) { cbBookings.Items.Add(booking); } cbBookings.Visible = true; _feesMin = 0; _feesMax = 0; _rateFees = 0; break; } } dtpDate.Value = TimeProvider.Now; _pendingSavingsMode = ServicesProvider.GetInstance().GetGeneralSettings().PendingSavingsMode.ToUpper(); var paymentMethods = ServicesProvider.GetInstance().GetPaymentMethodServices().GetAllPaymentMethods(); foreach (var method in paymentMethods) { cbSavingsMethod.Items.Add(method); } cbSavingsMethod.SelectedItem = paymentMethods[0]; //cbSavingsMethod.DataBind(typeof(OPaymentMethods), Ressource.SavingsOperationForm, false); // cbSavingsMethod.DataBind(typeof(OSavingsMethods), Ressource.FrmAddSavingEvent, false); switch (_bookingDirection) { case OSavingsOperation.Credit: { //switch (cbSavingsMethod.SelectedValue.ToString()) //{ // case "Cheque": // _flatFees = ((SavingBookContract)_saving).ChequeDepositFees; // break; // default: _flatFees = ((SavingBookContract)_saving).DepositFees; // break; //} break; } case OSavingsOperation.Debit: { if (((SavingBookContract)_saving).FlatWithdrawFees.HasValue) { _flatFees = ((SavingBookContract)_saving).FlatWithdrawFees; } else { _rateFees = ((SavingBookContract)_saving).RateWithdrawFees; } if (((SavingBookContract)_saving).FlatAMFees.HasValue) { _flatAMFees = ((SavingBookContract)_saving).FlatAMFees; } else { _rateAMFees = ((SavingBookContract)_saving).RateAMFees; } break; } case OSavingsOperation.Transfer: { if (((SavingBookContract)_saving).FlatTransferFees.HasValue) { _flatFees = ((SavingBookContract)_saving).FlatTransferFees; } else { _rateFees = ((SavingBookContract)_saving).RateTransferFees; } break; } } updAmountFees.Minimum = _feesMin.Value; updAmountFees.Maximum = _feesMax.Value; decimal value = _flatFees.HasValue ? _flatFees.Value : ((decimal)(_rateFees)) * 100; updAmountFees.Value = value <updAmountFees.Minimum || value> updAmountFees.Maximum ? updAmountFees.Minimum : value; }
private static void SavePerson(FromModel.Client client) { Person _tempPerson = new Person(); _tempPerson.FirstName = String.IsNullOrEmpty(client.first_name) ? client.full_name : client.first_name; _tempPerson.LastName = String.IsNullOrEmpty(client.surname) ? client.full_name : client.surname; _tempPerson.FirstName = String.IsNullOrEmpty(_tempPerson.FirstName) ? " " : _tempPerson.FirstName; _tempPerson.LastName = String.IsNullOrEmpty(_tempPerson.LastName) ? " " : _tempPerson.LastName; //_tempPerson.FullName = client.full_name; _tempPerson.DateOfBirth = DateTime.Now.AddDays(-20); _tempPerson.Activity = economicActivity; _tempPerson.Sex = client.gender == 1 ? OGender.Male : OGender.Female; _tempPerson.RelationshipOfficerId = user.Id; _tempPerson.RelationshipOfficer = user; _tempPerson.ImagePath = " "; _tempPerson.Image2Path = " "; _tempPerson.Image3Path = " "; _tempPerson.ParticularsIDNumber = client.cid_no.ToString();// "0000000000"; _tempPerson.ParticularsIssueDate = DateTime.Now; _tempPerson.ParticularsExpiryDate = DateTime.Now.AddDays(2); _tempPerson.ZipCode = ""; _tempPerson.HomeType = ""; _tempPerson.Email = ""; _tempPerson.District = district; _tempPerson.City = city.Name; _tempPerson.Address = ""; _tempPerson.HomePhone = ""; _tempPerson.PersonalPhone = ""; _tempPerson.CreationDate = DateTime.Now; _tempPerson.SMSDelivery = false; _tempPerson.EmailDelivery = true; _tempPerson.SecondaryZipCode = ""; _tempPerson.SecondaryHomeType = ""; _tempPerson.SecondaryEmail = ""; _tempPerson.SecondaryDistrict = district; _tempPerson.SecondaryCity = city.Name; _tempPerson.SecondaryAddress = ""; _tempPerson.SecondaryHomePhone = ""; _tempPerson.SecondaryPersonalPhone = ""; _tempPerson.Branch = branch; _tempPerson.CreatedBy = User.CurrentUser; bool save = 0 == _tempPerson.Id; if (_tempPerson.FirstName != null) { _tempPerson.FirstName = _tempPerson.FirstName.Trim(); } if (_tempPerson.LastName != null) { _tempPerson.LastName = _tempPerson.LastName.Trim(); } if (_tempPerson.FatherName != null) { _tempPerson.FatherName = _tempPerson.FatherName.Trim(); } if (_tempPerson.IdentificationData != null) { _tempPerson.IdentificationData = _tempPerson.IdentificationData.Trim(); } _tempPerson.Nationality = province.Name; _tempPerson.IsNew = false; _tempPerson.IsUpdated = true; string result = ServicesProvider .GetInstance() .GetClientServices() .SavePerson(ref _tempPerson, (tx, id) => { //foreach (var extension in Extensions) extension.Save(_tempPerson, tx); }); EventProcessorServices es = ServicesProvider.GetInstance().GetEventProcessorServices(); es.LogClientSaveUpdateEvent(_tempPerson, save); if (result != string.Empty) { Console.WriteLine(result); } }
public DecksService(ServicesProvider servicesProvider) { this.servicesProvider = servicesProvider; }
static void Main(string[] args) { CsvFileDescription fileDescription = new CsvFileDescription { SeparatorChar = ',', FirstLineHasColumnNames = true }; CsvContext cc = new CsvContext(); var dir = Directory.GetCurrentDirectory(); string sourceFilePath = dir + "/client_table.csv"; Console.WriteLine("***********************************************************"); Console.WriteLine("***********************************************************"); Console.WriteLine("****************OpenCBS DATABASE MIGRATOR******************"); Console.WriteLine("***********************************************************"); Console.WriteLine("***********************************************************"); Console.WriteLine(" "); Console.WriteLine("** Ensure that a csv file named \"client_table.csv\" **"); Console.WriteLine("** exists in the bin directory of the migrator before **"); Console.WriteLine("** proceeding. **"); Console.WriteLine("****** Press 'enter' to continue ********"); Console.WriteLine(" "); Console.WriteLine("***********************************************************"); Console.WriteLine("***********************************************************"); Console.ReadKey(); try { ApplicationSettingsServices generalSettingsService = ServicesProvider.GetInstance().GetApplicationSettingsServices(); generalSettingsService.FillGeneralDatabaseParameter(); SelectDefaultUser(); SelectDefaultBranch(); SelectDefaultEconomicActivity(); SelectDefaultLocation(); List <FromModel.Client> clients = cc.Read <FromModel.Client>(sourceFilePath, fileDescription).ToList(); Console.WriteLine(""); Console.WriteLine("***********************************************************"); Console.WriteLine(String.Format("Migrating {0} clients data", clients.Count)); Console.WriteLine("***********************************************************"); Console.WriteLine(""); var _clientService = ServicesProvider.GetInstance().GetClientServices(); int count = 0; MigrationResult result = null; foreach (FromModel.Client client in clients) { result = new MigrationResult(); result.full_name = client.full_name; result.surname = client.surname; result.first_name = client.first_name; try { if (!String.IsNullOrEmpty(client.first_name) || !String.IsNullOrEmpty(client.surname) || !String.IsNullOrEmpty(client.full_name)) { #region Individual migration if (client.c_type == ClientType.INDIVIDUAL || client.c_type == ClientType.DIRECTORS || client.c_type == ClientType.CHILDREN || client.c_type == ClientType.JOINT || client.c_type == ClientType.STAFF || client.c_type == ClientType.CASHIER) { result.type = "INDIVIDUAL"; var _query = client.full_name; int onlyActive = 2; //inactive and active int _numbersTotalPage, _numberOfRecords; var results = ServicesProvider.GetInstance().GetClientServices().FindTiers(out _numbersTotalPage, out _numberOfRecords, _query, onlyActive, 1, 1, 1, 1); if (results.Count > 0) { exist.Add(client); result.migrated = "no"; result.failure_reason = "duplicate"; dump.Add(result); continue; } ++count; Console.WriteLine(count + "). Migrating \"INDIVIDUAL\" " + client.full_name); SavePerson(client); result.migrated = "yes"; result.failure_reason = ""; dump.Add(result); migrated.Add(client); } #endregion #region Corporate migration else if (client.c_type == ClientType.GOVT || client.c_type == ClientType.SOLE_PROPRIETORSHIP || client.c_type == ClientType.FINANCIAL_INSTITUTION || client.c_type == ClientType.EDUCATIONAL_INSTITUTION || client.c_type == ClientType.COMPANY) { result.type = "CORPORATE"; var _query = client.full_name; int onlyActive = 2; //inactive and active int _numbersTotalPage, _numberOfRecords; var results = ServicesProvider.GetInstance().GetClientServices(). FindTiersCorporates(onlyActive, 1, out _numbersTotalPage, out _numberOfRecords, _query); if (results.Count > 0) { exist.Add(client); result.migrated = "no"; result.failure_reason = "duplicate"; dump.Add(result); continue; } ++count; Console.WriteLine(count + "). Migrating \"CORPORATE\" " + client.full_name); SaveCorporate(client); result.migrated = "yes"; result.failure_reason = ""; dump.Add(result); migrated.Add(client); } #endregion #region Group migration else if (client.c_type == ClientType.GROUP || client.c_type == ClientType.CHURCH_MINISTRIES) { result.type = "GROUP"; /*var _query = ""; * int onlyActive = 2; //inactive and active * int _numbersTotalPage, _numberOfRecords; * * var results = ServicesProvider.GetInstance().GetClientServices().FindTiers(out _numbersTotalPage, out _numberOfRecords, * _query, onlyActive, 1, 1, 1, 1); * * if (results.Count > 0) * { * exist.Add(client); * continue; * } */ //++count; Console.WriteLine(count + "). Migrating \"GROUP\" " + client.full_name); error.Add(client); result.migrated = "no"; result.failure_reason = "Requires group members"; dump.Add(result); //SaveGroup(client); } #endregion } } catch (CustomFieldsAreNotFilledCorrectlyException exc) { Console.WriteLine(CustomExceptionHandler.ShowExceptionText(exc)); error.Add(client); result.migrated = "no"; result.failure_reason = exc.Message; dump.Add(result); } catch (Exception exc) { Console.WriteLine(CustomExceptionHandler.ShowExceptionText(exc)); error.Add(client); result.migrated = "no"; result.failure_reason = exc.Message; dump.Add(result); } finally { //dump.Add(result); } } string resultDir = dir + "/result"; if (!Directory.Exists(resultDir)) { Directory.CreateDirectory(resultDir); } string resultFilePath = resultDir + "/migration.csv"; string errorFilePath = resultDir + "/error.csv"; string successfulFilePath = resultDir + "/successful.csv"; string duplicatesFilePath = resultDir + "/duplicates.csv"; cc.Write(dump, resultFilePath, fileDescription); cc.Write(error, errorFilePath, fileDescription); cc.Write(migrated, successfulFilePath, fileDescription); cc.Write(exist, duplicatesFilePath, fileDescription); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("***********************************************************"); //Console.WriteLine(String.Format("Migrated {0} clients data", migrated.Count)); Console.WriteLine("Results:"); Console.WriteLine("Total: " + clients.Count); Console.WriteLine("Successful: " + migrated.Count); Console.WriteLine("Failed: " + error.Count); Console.WriteLine("Duplicates: " + exist.Count); Console.WriteLine("Migration result saved to " + resultDir); Console.WriteLine("***********************************************************"); Console.ReadLine(); } catch (Exception exc) { Console.WriteLine("Exception: " + exc); Console.ReadLine(); } }
private void LoadBranches() { olvBranches.Items.Clear(); olvBranches.SetObjects(ServicesProvider.GetInstance().GetBranchService().FindAllNonDeleted()); CheckSelected(); }
private void ProcessImage(string fileName) { if (personUserControl != null) { if (photoSubId == 0) { person.ImagePath = fileName; Bitmap bitmap = new Bitmap(fileName); Bitmap resized = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 600); UserPicture.Height = resized.Height; UserPicture.Width = resized.Width; UserPicture.Image = resized; Bitmap thumbnail = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 128); personUserControl.pictureBox.Image = thumbnail; personUserControl.pictureBox.SizeMode = PictureBoxSizeMode.Zoom; UserPicture.Image = resized; } else if (photoSubId == 1) { person.Image2Path = fileName; Bitmap bitmap = new Bitmap(fileName); Bitmap resized = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 600); UserPicture.Height = resized.Height; UserPicture.Width = resized.Width; UserPicture.Image = resized; Bitmap thumbnail = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 128); personUserControl.pictureBox2.Image = thumbnail; personUserControl.pictureBox2.SizeMode = PictureBoxSizeMode.Zoom; UserPicture.Image = resized; } else if (photoSubId == 2) { person.Image3Path = fileName; Bitmap bitmap = new Bitmap(fileName); Bitmap resized = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 600); UserPicture.Height = resized.Height; UserPicture.Width = resized.Width; UserPicture.Image = resized; Bitmap thumbnail = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 128); personUserControl.pbSignature.Image = thumbnail; personUserControl.pbSignature.SizeMode = PictureBoxSizeMode.Zoom; UserPicture.Image = resized; } } else if (villageForm != null) { if (photoSubId == 0) { village.ImagePath = fileName; Bitmap bitmap = new Bitmap(fileName); Bitmap resized = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 600); UserPicture.Height = resized.Height; UserPicture.Width = resized.Width; UserPicture.Image = resized; Bitmap thumbnail = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 128); villageForm.pictureBox1.Image = thumbnail; villageForm.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; UserPicture.Image = resized; } else if (photoSubId == 1) { village.Image2Path = fileName; Bitmap bitmap = new Bitmap(fileName); Bitmap resized = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 600); UserPicture.Height = resized.Height; UserPicture.Width = resized.Width; UserPicture.Image = resized; Bitmap thumbnail = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 128); villageForm.pictureBox2.Image = thumbnail; villageForm.pictureBox2.SizeMode = PictureBoxSizeMode.Zoom; UserPicture.Image = resized; } } else if (groupUserControl != null) { if (photoSubId == 0) { group.ImagePath = fileName; Bitmap bitmap = new Bitmap(fileName); Bitmap resized = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 600); UserPicture.Height = resized.Height; UserPicture.Width = resized.Width; UserPicture.Image = resized; Bitmap thumbnail = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 128); groupUserControl.pictureBox1.Image = thumbnail; groupUserControl.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; UserPicture.Image = resized; } else if (photoSubId == 1) { group.Image2Path = fileName; Bitmap bitmap = new Bitmap(fileName); Bitmap resized = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 600); UserPicture.Height = resized.Height; UserPicture.Width = resized.Width; UserPicture.Image = resized; Bitmap thumbnail = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 128); groupUserControl.pictureBox2.Image = thumbnail; groupUserControl.pictureBox2.SizeMode = PictureBoxSizeMode.Zoom; UserPicture.Image = resized; } } else if (corporateUserControl != null) { if (photoSubId == 0) { corporate.ImagePath = fileName; Bitmap bitmap = new Bitmap(fileName); Bitmap resized = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 600); UserPicture.Height = resized.Height; UserPicture.Width = resized.Width; UserPicture.Image = resized; Bitmap thumbnail = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 128); corporateUserControl.pictureBox1.Image = thumbnail; corporateUserControl.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; UserPicture.Image = resized; } else if (photoSubId == 1) { corporate.Image2Path = fileName; Bitmap bitmap = new Bitmap(fileName); Bitmap resized = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 600); UserPicture.Height = resized.Height; UserPicture.Width = resized.Width; UserPicture.Image = resized; Bitmap thumbnail = ServicesProvider.GetInstance().GetPicturesServices().Resize(bitmap, 128); corporateUserControl.pictureBox2.Image = thumbnail; corporateUserControl.pictureBox2.SizeMode = PictureBoxSizeMode.Zoom; UserPicture.Image = resized; } } }
private void ShowPicture() { if (personUserControl != null) { if (person.Id == 0) { UserPicture.Image = null; } if (photoSubId == 0 && !string.IsNullOrEmpty(person.ImagePath) && !person.ImagePath.Contains("/dashboard/cbs/services/attachments")) { Bitmap tempImage = new Bitmap(person.ImagePath); image = ServicesProvider.GetInstance().GetPicturesServices().Resize(tempImage, 600); } else if (photoSubId == 1 && !string.IsNullOrEmpty(person.Image2Path) && !person.Image2Path.Contains("/dashboard/cbs/services/attachments")) { Bitmap tempImage = new Bitmap(person.Image2Path); image = ServicesProvider.GetInstance().GetPicturesServices().Resize(tempImage, 600); } else if (photoSubId == 2 && !string.IsNullOrEmpty(person.Image3Path) && !person.Image3Path.Contains("/dashboard/cbs/services/attachments")) { Bitmap tempImage = new Bitmap(person.Image3Path); image = ServicesProvider.GetInstance().GetPicturesServices().Resize(tempImage, 600); } else { image = ServicesProvider.GetInstance().GetPicturesServices().GetPicture("PERSON", person.Id, false, photoSubId); } } else if (villageForm != null) { if (village.Id == 0) { UserPicture.Image = null; } if (photoSubId == 0) { if (!string.IsNullOrEmpty(village.ImagePath)) { Bitmap tempImage = new Bitmap(village.ImagePath); image = ServicesProvider.GetInstance().GetPicturesServices().Resize(tempImage, 600); } else { image = ServicesProvider.GetInstance().GetPicturesServices().GetPicture("VILLAGE", village.Id, false, photoSubId); } } else if (photoSubId == 1) { if (!string.IsNullOrEmpty(village.Image2Path)) { Bitmap tempImage = new Bitmap(village.Image2Path); image = ServicesProvider.GetInstance().GetPicturesServices().Resize(tempImage, 600); } else { image = ServicesProvider.GetInstance().GetPicturesServices().GetPicture("VILLAGE", village.Id, false, photoSubId); } } } else if (groupUserControl != null) { if (photoSubId == 0) { if (!string.IsNullOrEmpty(group.ImagePath)) { Bitmap tempImage = new Bitmap(group.ImagePath); image = ServicesProvider.GetInstance().GetPicturesServices().Resize(tempImage, 600); } else { image = ServicesProvider.GetInstance().GetPicturesServices().GetPicture("GROUP", group.Id, false, photoSubId); } } else if (photoSubId == 1) { if (!string.IsNullOrEmpty(group.Image2Path)) { Bitmap tempImage = new Bitmap(group.Image2Path); image = ServicesProvider.GetInstance().GetPicturesServices().Resize(tempImage, 600); } else { image = ServicesProvider.GetInstance().GetPicturesServices().GetPicture("GROUP", group.Id, false, photoSubId); } } } else if (corporateUserControl != null) { if (photoSubId == 0) { if (!string.IsNullOrEmpty(corporate.ImagePath)) { Bitmap tempImage = new Bitmap(corporate.ImagePath); image = ServicesProvider.GetInstance().GetPicturesServices().Resize(tempImage, 600); } else { image = ServicesProvider.GetInstance().GetPicturesServices().GetPicture("CORPORATE", corporate.Id, false, photoSubId); } } else if (photoSubId == 1) { if (!string.IsNullOrEmpty(corporate.Image2Path)) { Bitmap tempImage = new Bitmap(corporate.Image2Path); image = ServicesProvider.GetInstance().GetPicturesServices().Resize(tempImage, 600); } else { image = ServicesProvider.GetInstance().GetPicturesServices().GetPicture("CORPORATE", corporate.Id, false, photoSubId); } } } if (image != null) { UserPicture.Image = image; UserPicture.Height = image.Height; UserPicture.Width = image.Width; deletePhotoButton.Enabled = true; } }
private void ButtonSaveClick(object sender, EventArgs e) { List <SavingEvent> savingEvents = new List <SavingEvent>(); if (!CheckDateChange()) { return; } _loan.Comments = tbComment.Text; try { DistributeEntryFees(); // If disbursement goes to savings if (cmbPaymentMethod.Text == OPaymentMethods.Savings.ToString()) { if (_loan.CompulsorySavings == null) { throw new OpenCbsSavingException(OpenCbsSavingExceptionEnum.NoCompulsorySavings); } if (_loan.CompulsorySavings.Status == OSavingsStatus.Active) { _loan = ServicesProvider.GetInstance().GetContractServices().Disburse(_loan, _newStartDate, _alignInstallmentsDatesOnRealDisbursmentDate, _disableFees, (PaymentMethod) cmbPaymentMethod. SelectedItem); savingEvents = ServicesProvider.GetInstance().GetAccountServices().LoanDisbursement(_loan.CompulsorySavings, _loan, _newStartDate, "Disbursement of the loan: " + _loan.Code, User.CurrentUser, checkBoxFees.Checked); //slycode MessagingService messagingService = new MessagingService(Person); try { foreach (SavingEvent savingEvent in savingEvents) { messagingService.SendNotification(savingEvent, _loan.CompulsorySavings, "LoanDisburstment"); } } catch (Exception exc) { new frmShowError(CustomExceptionHandler.ShowExceptionText(exc)).ShowDialog(); } } else { throw new OpenCbsSavingException(OpenCbsSavingExceptionEnum.CompulsorySavingsContractIsNotActive); } } else { _loan = ServicesProvider.GetInstance().GetContractServices().Disburse(_loan, _newStartDate, _alignInstallmentsDatesOnRealDisbursmentDate, _disableFees, (PaymentMethod) cmbPaymentMethod.SelectedItem); } } catch (Exception ex) { _loan.Disbursed = false; new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } finally { Close(); } }
private void BSaveClick(object sender, EventArgs e) { nudAmount_ValueChanged(sender, e); bool pending = cbxPending.Visible && cbxPending.Checked; OSavingsMethods savingsMethod = (OSavingsMethods)Enum.Parse(typeof(OSavingsMethods), cbSavingsMethod.SelectedValue.ToString()); try { _date = new DateTime(dtpDate.Value.Year, dtpDate.Value.Month, dtpDate.Value.Day, TimeProvider.Now.Hour, TimeProvider.Now.Minute, TimeProvider.Now.Second); SavingServices savingServices = ServicesProvider.GetInstance().GetSavingServices(); if (_date.Date < TimeProvider.Today.Date) { savingServices.PerformBackDateOperations(_date); } else if (_date.Date > TimeProvider.Today.Date) { savingServices.PerformFutureDateOperations(_date); } if (_saving.HasPendingEvents()) { if (!savingServices.AllowOperationsDuringPendingDeposit()) { return; } } if ((_flatFees.HasValue && updAmountFees.Value != _flatFees) || (_rateFees.HasValue && updAmountFees.Value != (decimal)(_rateFees * 100))) { if (!savingServices.AllowSettingSavingsOperationsFeesManually()) { return; } } switch (_bookingDirection) { case OSavingsOperation.Credit: { if (_saving is SavingBookContract) { if (savingsMethod == OSavingsMethods.Cheque) { ((SavingBookContract)_saving).ChequeDepositFees = updAmountFees.Value; } else { ((SavingBookContract)_saving).DepositFees = updAmountFees.Value; } } savingServices.Deposit(_saving, _date, _amount, _description, User.CurrentUser, pending, savingsMethod, null, Teller.CurrentTeller); break; } case OSavingsOperation.Debit: { if (_saving is SavingBookContract) { if (_flatFees.HasValue) { ((SavingBookContract)_saving).FlatWithdrawFees = updAmountFees.Value; } else { ((SavingBookContract)_saving).RateWithdrawFees = (double)(updAmountFees.Value / 100); } } savingServices.Withdraw(_saving, _date, _amount, _description, User.CurrentUser, Teller.CurrentTeller); break; } case OSavingsOperation.Transfer: { if (_saving is SavingBookContract) { if (_flatFees.HasValue) { ((SavingBookContract)_saving).FlatTransferFees = updAmountFees.Value; } else { ((SavingBookContract)_saving).RateTransferFees = (double)(updAmountFees.Value / 100); } } decimal fee = nudTotalAmount.Value - nudAmount.Value; savingServices.Transfer(_saving, _savingTarget, _date, _amount, fee, _description, User.CurrentUser, false); break; } case OSavingsOperation.SpecialOperation: { if (cbBookings.SelectedItem != null) { Booking booking = (Booking)cbBookings.SelectedItem; booking.Branch = _saving.Branch; savingServices.SpecialOperation(_saving, _date, _amount, _description, User.CurrentUser, savingsMethod, rbxCredit.Checked, booking); break; } throw new OpenCbsSavingException(OpenCbsSavingExceptionEnum.TransactionInvalid); } } Close(); } catch (Exception ex) { new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } }
private void btnSave_Click(object sender, EventArgs e) { bool isError = false; try { if (_notEnoughMoney) { if (!MessageBox.Show(MultiLanguageStrings.GetString(Ressource.VillageForm, "MoneyNotEnoughForAll.Text"), "!", MessageBoxButtons.YesNo).Equals(DialogResult.Yes)) { return; } } //Guarantors and Collaterals Check var isGuarantorAndCollateralAmountSufficient = true; var message = ""; var failedItems = new List <ListViewItem>(); foreach (ListViewItem item in lvMembers.Items) { if (!item.Checked || item == _itemTotal) { continue; } var loan = item.Tag as Loan; if (loan == null) { continue; } var result = ServicesProvider.GetInstance().GetContractServices().CheckIfGuarantorsAndCollateralsAmountIsSufficient(loan); if (result.Key) { continue; } isGuarantorAndCollateralAmountSufficient = false; message = result.Value; failedItems.Add(item); } if (!isGuarantorAndCollateralAmountSufficient) { _isFormStillNeeded = true; foreach (var item in failedItems) { item.BackColor = Color.Red; } Fail(message); return; } else { _isFormStillNeeded = false; } _doc1 = ""; _doc2 = ""; foreach (ListViewItem item in lvMembers.Items) { if (!item.Checked || item == _itemTotal) { continue; } var loan = item.Tag as Loan; var date = Convert.ToDateTime(item.SubItems[IdxDDate].Text); VillageMember activeMember = null; int index = 0; foreach (VillageMember member in _village.NonDisbursedMembers) { int tIndex = member.ActiveLoans.IndexOf(loan); if (tIndex > -1) { activeMember = member; index = tIndex; } } if (loan != null) { loan.CompulsorySavings = ServicesProvider.GetInstance().GetSavingServices().GetSavingForLoan(loan.Id, true); if (loan.Product.UseCompulsorySavings) { if (loan.CompulsorySavings == null) { string text = string.Format("The loan with the code {0} requires a compulsory savings account to be disbursed!", loan.Code); MessageBox.Show(text, @"No compulsory savings", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } decimal totalAmountPercentage = 0; decimal savingsBalance = loan.CompulsorySavings.GetBalance().Value; foreach (Loan assosiatedLoan in loan.CompulsorySavings.Loans) { if (assosiatedLoan.ContractStatus != OContractStatus.Closed && assosiatedLoan.ContractStatus != OContractStatus.Abandoned && assosiatedLoan.ContractStatus != OContractStatus.Postponed && assosiatedLoan.CompulsorySavingsPercentage != null) { totalAmountPercentage += (assosiatedLoan.Amount.Value * ((decimal)assosiatedLoan.CompulsorySavingsPercentage / 100)); } } if (totalAmountPercentage > savingsBalance) { MessageBox.Show(String.Format( "The balance on savings account {2} of {0} is not enough to cover total loans amount percentage of {1}.\nClient name: {3}", ServicesHelper.ConvertDecimalToString(savingsBalance), ServicesHelper.ConvertDecimalToString(totalAmountPercentage), loan.CompulsorySavings.Code, item.SubItems[0].Text), @"Insufficient savings balance", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } } date = DateTime.Parse(item.SubItems[2].Text); loan.StartDate = date; if (loan.AlignDisbursementDate.Date != DateTime.Parse(item.SubItems[3].Text).Date) { loan.FirstInstallmentDate = DateTime.Parse(item.SubItems[3].Text).Date; loan.AlignDisbursementDate = loan.CalculateAlignDisbursementDate(DateTime.Parse(item.SubItems[3].Text).Date); if (!loan.ScheduleChangedManually) { loan.InstallmentList = ServicesProvider.GetInstance().GetContractServices().SimulateScheduleCreation(loan); loan.CalculateStartDates(); } } loan.CloseDate = loan.InstallmentList[loan.NbOfInstallments - 1].ExpectedDate; if (item.SubItems[IdxPaymentMethod].Tag != null && item.SubItems[IdxPaymentMethod].Tag.ToString() == OPaymentMethods.Savings.ToString()) { if (loan.Product.UseCompulsorySavings && loan.CompulsorySavings != null) { if (loan.CompulsorySavings.Status == OSavingsStatus.Active) { ServicesProvider.GetInstance().GetSavingServices().LoanDisbursement(loan.CompulsorySavings, loan, loan.AlignDisbursementDate, "Disbursement of the loan: " + loan.Code, User.CurrentUser, false); } else { throw new OpenCbsSavingException(OpenCbsSavingExceptionEnum.CompulsorySavingsContractIsNotActive); } } else { 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; } } loan.Comments = item.SubItems[IdxComment].Text; _doc1 = item.SubItems[IdxDoc1].Text == "" ? "" : item.SubItems[IdxDoc1].Text; _doc2 = item.SubItems[IdxDoc2].Text == "" ? "" : item.SubItems[IdxDoc2].Text; date += DateTime.Now.TimeOfDay; PaymentMethod method = ServicesProvider.GetInstance().GetPaymentMethodServices().GetPaymentMethodByName(item.SubItems[IdxPaymentMethod].Text); activeMember.ActiveLoans[index] = ServicesProvider.GetInstance().GetContractServices().Disburse(loan, date, true, false, method, _doc1, _doc2); } } catch (Exception ex) { isError = true; new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } if (!isError) { Close(); } }
public void CheckRegEx() { ApplicationSettings.GetInstance("").UpdateParameter(OGeneralSettings.ID_PATTERN, @"[0-9]{2}[A-Z]{2}"); Assert.IsFalse(ServicesProvider.GetInstance().GetRegExCheckerServices().CheckID("11111")); Assert.IsTrue(ServicesProvider.GetInstance().GetRegExCheckerServices().CheckID("22DD")); }
private void InitializeControls() { lvMembers.Items.Clear(); _fLServices.EmptyTemporaryFLAmountsStorage(); ApplicationSettings dataParam = ApplicationSettings.GetInstance(string.Empty); int decimalPlaces = dataParam.InterestRateDecimalPlaces; foreach (VillageMember member in _village.NonDisbursedMembers) { foreach (Loan loan in member.ActiveLoans) { if (loan.ContractStatus == OContractStatus.Active || loan.ContractStatus == OContractStatus.Refused || loan.ContractStatus == OContractStatus.Abandoned ) { continue; } _hasMember = true; Person person = member.Tiers as Person; ListViewItem item = new ListViewItem(person.Name) { Tag = loan }; item.UseItemStyleForSubItems = true; item.SubItems.Add(person.IdentificationData); ListViewItem.ListViewSubItem subitem; if (loan.StartDate == null) { subitem = new ListViewItem.ListViewSubItem { Text = TimeProvider.Today.ToString(ApplicationSettings.GetInstance("").SHORT_DATE_FORMAT), Tag = TimeProvider.Today } } ; else { subitem = new ListViewItem.ListViewSubItem { Text = loan.StartDate.ToString(ApplicationSettings.GetInstance("").SHORT_DATE_FORMAT), Tag = loan.StartDate.ToString(ApplicationSettings.GetInstance("").SHORT_DATE_FORMAT) } }; item.SubItems.Add(subitem); item.SubItems.Add(loan.FirstInstallmentDate.ToString(ApplicationSettings.GetInstance("").SHORT_DATE_FORMAT)); item.SubItems.Add(loan.Amount.GetFormatedValue(loan.UseCents)); item.SubItems.Add(loan.Product.Currency.Code); item.SubItems.Add(Math.Round(loan.InterestRate * 100, decimalPlaces).ToString()); item.SubItems.Add(loan.GracePeriod.ToString()); item.SubItems.Add(loan.NbOfInstallments.ToString()); item.SubItems.Add(loan.LoanOfficer.Name); item.SubItems.Add(loan.FundingLine.Name); _accumulatedAmount = _fLServices.CheckIfAmountIsEnough(loan.FundingLine, loan.Amount.Value); if (_accumulatedAmount <= 0) { item.BackColor = Color.Red; } item.SubItems.Add(_accumulatedAmount.ToString()); cbPaymentMethods.Items.Clear(); List <PaymentMethod> methods = ServicesProvider.GetInstance().GetPaymentMethodServices().GetAllPaymentMethods(); item.SubItems.Add(methods[0].Name); item.SubItems.Add(loan.Comments); item.SubItems.Add(""); item.SubItems.Add(""); lvMembers.Items.Add(item); item.SubItems[IdxAmount].Tag = loan.Amount.GetFormatedValue(loan.UseCents); item.SubItems[IdxCurrency].Tag = loan.Product.Currency; } } if (_hasMember) { OCurrency zero = 0m; _itemTotal.Text = GetString("total"); _itemTotal.SubItems.Add(""); _itemTotal.SubItems.Add(""); _itemTotal.SubItems.Add(""); _itemTotal.SubItems.Add(zero.GetFormatedValue(true)); _itemTotal.SubItems.Add(""); lvMembers.Items.Add(_itemTotal); } lvMembers.SubItemClicked += lvMembers_SubItemClicked; lvMembers.DoubleClickActivation = true; dtDisbursement.Format = DateTimePickerFormat.Custom; dtpRepayment.Format = DateTimePickerFormat.Custom; dtDisbursement.CustomFormat = ApplicationSettings.GetInstance("").SHORT_DATE_FORMAT; dtpRepayment.CustomFormat = ApplicationSettings.GetInstance("").SHORT_DATE_FORMAT; }
private void BSaveClick(object sender, EventArgs e) { nudAmount_ValueChanged(sender, e); bool pending = cbxPending.Visible && cbxPending.Checked; bool?local = null; local = rbxLocal.Visible && rbxLocal.Checked; try { _date = new DateTime(dtpDate.Value.Year, dtpDate.Value.Month, dtpDate.Value.Day, TimeProvider.Now.Hour, TimeProvider.Now.Minute, TimeProvider.Now.Second); AccountServices savingServices = ServicesProvider.GetInstance().GetAccountServices(); if (_saving.Events.Find(ev => ev.Code == OSavingEvents.SavingClosure && ev.Date.Date >= _date.Date && ev is SavingClosureEvent) != null) { savingServices.CanPostAfterClosureEvent(); } List <SavingEvent> savingEvents = new List <SavingEvent>(); if (_date.Date < TimeProvider.Today.Date) { savingServices.PerformBackDateOperations(_date); } else if (_date.Date > TimeProvider.Today.Date) { savingServices.PerformFutureDateOperations(_date); } if (_saving.HasPendingEvents()) { if (!savingServices.AllowOperationsDuringPendingDeposit()) { return; } } if ((_flatFees.HasValue && updAmountFees.Value != _flatFees) || (_rateFees.HasValue && updAmountFees.Value != (decimal)(_rateFees * 100))) { if (!savingServices.AllowSettingSavingsOperationsFeesManually()) { return; } } switch (_bookingDirection) { case OSavingsOperation.Credit: { OSavingsMethods savingsMethod = (OSavingsMethods) Enum.Parse(typeof(OSavingsMethods), "Cash"); var paymentMethod = (PaymentMethod)cbSavingsMethod.SelectedItem; if (_saving is SavingBookContract) { if (savingsMethod == OSavingsMethods.Cheque) { ((SavingBookContract)_saving).ChequeDepositFees = updAmountFees.Value; } else { ((SavingBookContract)_saving).DepositFees = updAmountFees.Value; } //modified OCurrency dutyStampFeeMin = Convert.ToDecimal(ApplicationSettings.GetInstance("").GetSpecificParameter(OGeneralSettings.STAMP_DUTY_VALID_ABOVE)); if (_amount < dutyStampFeeMin) { ((SavingBookContract)_saving).DutyStampFees = 0; } } savingEvents = savingServices.Deposit(_saving, _date, _amount, _description, _referenceNumber, User.CurrentUser, pending, local, savingsMethod, paymentMethod, null, Teller.CurrentTeller); break; } case OSavingsOperation.Debit: { var paymentMethod = (PaymentMethod)cbSavingsMethod.SelectedItem; if (_saving is SavingBookContract) { if (_flatFees.HasValue) { ((SavingBookContract)_saving).FlatWithdrawFees = updAmountFees.Value; } else { ((SavingBookContract)_saving).RateWithdrawFees = (double)(updAmountFees.Value / 100); } OCurrency _feesMin, _feesMax; decimal value = _flatAMFees.HasValue ? _flatAMFees.Value : ((decimal)(_rateAMFees)) * 100; if (((SavingsBookProduct)_saving.Product).FlatAMFees.HasValue || ((SavingsBookProduct)_saving.Product).FlatAMFeesMin.HasValue) { if (((SavingsBookProduct)_saving).FlatAMFees.HasValue) { _feesMin = ((SavingsBookProduct)_saving.Product).FlatAMFees; _feesMax = ((SavingsBookProduct)_saving.Product).FlatAMFees; } else { _feesMin = ((SavingsBookProduct)_saving.Product).FlatAMFeesMin; _feesMax = ((SavingsBookProduct)_saving.Product).FlatAMFeesMax; } OCurrency amFee = value <_feesMin || value> _feesMax ? _feesMin : value; ((SavingBookContract)_saving).FlatAMFees = amFee; } else { if (((SavingsBookProduct)_saving.Product).RateAMFees.HasValue) { _feesMin = (decimal)((SavingsBookProduct)_saving.Product).RateAMFees * 100; _feesMax = (decimal)((SavingsBookProduct)_saving.Product).RateAMFees * 100; } else { _feesMin = (decimal)((SavingsBookProduct)_saving.Product).RateAMFeesMin * 100; _feesMax = (decimal)((SavingsBookProduct)_saving.Product).RateAMFeesMax * 100; } var amFee = value <_feesMin || value> _feesMax ? _feesMin : value; ((SavingBookContract)_saving).RateAMFees = (double)(amFee.Value / 100); } } savingEvents = savingServices.Withdraw(_saving, _date, _amount, _description, _referenceNumber, User.CurrentUser, Teller.CurrentTeller, paymentMethod); break; } case OSavingsOperation.Transfer: { if (_saving is SavingBookContract) { if (_flatFees.HasValue) { ((SavingBookContract)_saving).FlatTransferFees = updAmountFees.Value; } else { ((SavingBookContract)_saving).RateTransferFees = (double)(updAmountFees.Value / 100); } } decimal fee = nudTotalAmount.Value - nudAmount.Value; savingEvents = savingServices.Transfer(_saving, _savingTarget, _date, _amount, fee, _description, _referenceNumber, User.CurrentUser, false); break; } case OSavingsOperation.SpecialOperation: { OSavingsMethods savingsMethod = (OSavingsMethods) Enum.Parse(typeof(OSavingsMethods), ((PaymentMethod)cbSavingsMethod.SelectedItem).Name); if (cbBookings.SelectedItem != null) { Booking booking = (Booking)cbBookings.SelectedItem; booking.Branch = _saving.Branch; savingServices.SpecialOperation(_saving, _date, _amount, _description, User.CurrentUser, savingsMethod, rbxCredit.Checked, booking); break; } throw new OpenCbsSavingException(OpenCbsSavingExceptionEnum.TransactionInvalid); } } try { //slycode MessagingService messagingService = new MessagingService(Person); foreach (SavingEvent savingEvent in savingEvents) { if (!(savingEvent is SavingInstrumentFeeEvent || savingEvent is SavingSearchFeeEvent //|| savingEvent is SavingDutyStampFeeEvent || savingEvent is SavingAMFeeEvent)) { messagingService.SendNotification(savingEvent, _saving, _bookingDirection.Description()); } } } catch (Exception exc) { new frmShowError(CustomExceptionHandler.ShowExceptionText(exc)).ShowDialog(); } Close(); } catch (Exception ex) { new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } }
private void EditDomain() { try { if (buttonEdit.Text.Equals(GetString("buttonEdit"))) { _selectedNode = tvEconomicActivity.SelectedNode; _economicActivity = (EconomicActivity)_selectedNode.Tag; if (_economicActivity != null) { _economicActivity.Parent = (EconomicActivity)_selectedNode.Parent.Tag; textBoxName.Text = _economicActivity.Name; _isSame = textBoxName.Text; buttonExit.Enabled = false; buttonAdd.Enabled = false; buttonDelete.Enabled = false; tvEconomicActivity.Enabled = false; buttonEdit.Text = GetString("buttonSave"); } } else { if (ServicesProvider.GetInstance().GetEconomicActivityServices().NodeEditable(_selectedNode.Tag)) { if (_selectedNode.Level == 1) { _economicActivity.Parent = new EconomicActivity(); // no parent } if (_isLoanPurpose) { if (_isSame != textBoxName.Text) { if (ServicesProvider.GetInstance().GetEconomicActivityServices().ChangeDomainOfApplicationName(_economicActivity, textBoxName.Text, _isLoanPurpose)) { tvEconomicActivity.BeginUpdate(); _selectedNode.Tag = _economicActivity; _selectedNode.Text = textBoxName.Text; tvEconomicActivity.EndUpdate(); } } } else { if (_isSame != textBoxName.Text) { if (ServicesProvider.GetInstance().GetEconomicActivityServices().ChangeDomainOfApplicationName(_economicActivity, textBoxName.Text)) { tvEconomicActivity.BeginUpdate(); _selectedNode.Tag = _economicActivity; _selectedNode.Text = textBoxName.Text; tvEconomicActivity.EndUpdate(); } } } } buttonExit.Enabled = true; buttonAdd.Enabled = true; buttonDelete.Enabled = true; tvEconomicActivity.Enabled = true; textBoxName.Text = string.Empty; buttonEdit.Text = GetString("buttonEdit"); } } catch (Exception ex) { new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } SelectRootNode(); tvEconomicActivity.Sort(); }
private void LoadContracts() { int loans = 0; lvContracts.Items.Clear(); PaymentMethod paymentMethod = ServicesProvider.GetInstance().GetPaymentMethodServices().GetPaymentMethodById(1); foreach (VillageMember member in _village.Members) { foreach (Loan loan in member.ActiveLoans) { if (null == loan || loan.ContractStatus != OContractStatus.Active) { continue; } if (loan.NsgID != _village.Id) { continue; } var result = new KeyValuePair <Loan, RepaymentEvent>(); Installment installment = loan.GetFirstUnpaidInstallment(); if (null == installment) { continue; } loans++; Person person = member.Tiers as Person; ListViewItem item = new ListViewItem(person.Name) { Tag = loan }; item.SubItems.Add(loan.Code); OCurrency principalHasToPay = result.Value == null ? installment.PrincipalHasToPay : (result.Value).Principal; ListViewItem.ListViewSubItem subitem = new ListViewItem.ListViewSubItem { Text = principalHasToPay.GetFormatedValue( loan.UseCents), Tag = principalHasToPay }; item.SubItems.Add(subitem); OCurrency interestHasToPay = result.Value == null ? installment.InterestHasToPay : (result.Value).Interests; subitem = new ListViewItem.ListViewSubItem { Text = interestHasToPay.GetFormatedValue(loan.UseCents), Tag = interestHasToPay }; item.SubItems.Add(subitem); subitem = new ListViewItem.ListViewSubItem(); OCurrency penalties = loan.CalculateDuePenaltiesForInstallment(installment.Number, TimeProvider.Today); subitem.Text = penalties.GetFormatedValue(loan.UseCents); subitem.Tag = penalties; item.SubItems.Add(subitem); subitem = new ListViewItem.ListViewSubItem(); OCurrency total = principalHasToPay + interestHasToPay + penalties; subitem.Text = total.GetFormatedValue(loan.UseCents); subitem.Tag = total; item.SubItems.Add(subitem); subitem = new ListViewItem.ListViewSubItem(); OCurrency olb = ServicesProvider.GetInstance().GetGeneralSettings().IsOlbBeforeRepayment ? installment.OLB : installment.OLBAfterRepayment; subitem.Text = olb.GetFormatedValue(loan.UseCents); subitem.Tag = olb; item.SubItems.Add(subitem); OCurrency dueInterest = 0; foreach (Installment installmentItem in loan.InstallmentList) { if (!installmentItem.IsRepaid) { dueInterest += installmentItem.InterestsRepayment - installmentItem.PaidInterests; } } subitem = new ListViewItem.ListViewSubItem { Text = dueInterest.GetFormatedValue(loan.UseCents), Tag = dueInterest }; item.SubItems.Add(subitem); subitem = new ListViewItem.ListViewSubItem { Text = loan.Product.Currency.Code, Tag = loan.Product.Currency }; item.SubItems.Add(subitem); cbItem.SelectedIndex = 0; subitem = new ListViewItem.ListViewSubItem { Text = cbItem.SelectedItem.ToString(), Tag = cbItem.SelectedItem }; item.SubItems.Add(subitem); subitem = new ListViewItem.ListViewSubItem(); item.SubItems.Add(subitem); lvContracts.Items.Add(item); } } if (0 == loans) { btnOK.Enabled = false; return; } _itemTotal.SubItems.Add(""); _itemTotal.SubItems.Add("0"); _itemTotal.SubItems.Add("0"); _itemTotal.SubItems.Add("0"); _itemTotal.SubItems.Add("0"); _itemTotal.SubItems.Add(""); _itemTotal.SubItems.Add(""); _itemTotal.SubItems.Add(""); _itemTotal.SubItems.Add(""); lvContracts.Items.Add(_itemTotal); }
static void Main(string[] args) { QueuedSMSServices _queuedSMSService = ServiceProvider.GetQueuedSMSServices(); UserServices _userService = ServiceProvider.GetUserServices(); ClientServices _clientService = ServiceProvider.GetClientServices(); SavingServices _savingService = ServiceProvider.GetSavingServices(); PaymentMethodServices _paymentMethodService = ServiceProvider.GetPaymentMethodServices(); var generalSettingsService = ServicesProvider.GetInstance().GetApplicationSettingsServices(); generalSettingsService.FillGeneralDatabaseParameter(); Console.WriteLine("Executing sms charges job"); var queuedsms = _queuedSMSService.GetUncharged(); Console.WriteLine(""); Console.WriteLine("-------------------------------------"); Console.WriteLine("Charging SMS"); Console.WriteLine("Uncharged sms count: " + queuedsms.Count); decimal smsCharge = Convert.ToDecimal(ApplicationSettings.GetInstance("").GetSpecificParameter(OGeneralSettings.SMS_CHARGE)); var adminUser = _userService.Find(1); var paymentMethod = _paymentMethodService.GetPaymentMethodByName("Cash"); foreach (QueuedSMS qe in queuedsms) { try { if (qe.ContractId.HasValue && qe.Charged.HasValue && !qe.Charged.Value) { SavingBookContract _saving = _savingService.GetSaving(qe.ContractId.Value); //Get all sms for same saving book contract var smsGroup = _queuedSMSService.FindByContractId(_saving.Id); string description = ""; string formatedAccountNumber = "******" + _saving.Code.Substring(_saving.Code.Length - 4); OCurrency SMSCharges = smsGroup.Count * smsCharge; if (smsGroup.Count > 0) { string desc = "SMS charges of {0:.00} for {1:dd.MM.yyyy} - {2:dd.MM.yyyy} : {3}"; object[] items = new object[] { SMSCharges.GetFormatedValue(true), smsGroup.First().CreatedOnUtc, smsGroup.Last().CreatedOnUtc, formatedAccountNumber }; description = string.Format(desc, items); } if (smsGroup.Count == 0) { string desc = "SMS charges of {0:.00} for {1:dd.MM.yyyy} : {3}"; object[] items = new object[] { SMSCharges.GetFormatedValue(true), smsGroup.First().CreatedOnUtc, formatedAccountNumber }; description = string.Format(desc, items); smsGroup.First().Charged = true; } _savingService.Withdraw(_saving, DateTime.Now, SMSCharges, true, description, "", adminUser, Teller.CurrentTeller, paymentMethod); qe.Charged = true; foreach (var sms in smsGroup) { sms.Charged = true; queuedsms.Where(s => s.Id == sms.Id).First().Charged = true; _queuedSMSService.Update(sms); } //Send sms charge notification Person person = _clientService.FindPersonById(qe.RecipientId.Value); if (person != null) { if (person.SMSDelivery.HasValue && person.SMSDelivery.Value) { string mfbName = Convert.ToString(ServicesProvider.GetInstance().GetGeneralSettings().GetSpecificParameter(OGeneralSettings.MFI_NAME)); //var message = messageTemplate.Body; var messageReplaced = mfbName + " " + description;// Tokenizer.Replace(message, tokens, false); var sms = new QueuedSMS() { From = Convert.ToString(ServicesProvider.GetInstance().GetGeneralSettings().GetSpecificParameter(OGeneralSettings.SMS_FROM_NUMBER)), Recipient = person.PersonalPhone, RecipientId = person.Id, ContractId = _saving != null ? _saving.Id : 0, Charged = true, Message = messageReplaced, SentTries = 0, CreatedOnUtc = DateTime.UtcNow, }; _queuedSMSService.Add(sms); } } } } catch (Exception exc) { Console.WriteLine(string.Format("Error charging sms: {0}", exc.Message), exc); } finally { } } }
private void SaveCorporate(object sender, EventArgs e) { try { _corporate.CreationDate = TimeProvider.Now; _corporate.RegistrationDate = dateTimePickerDateOfCreate.Value; _corporate.AgrementSolidarity = false; RecoverDatasFromUserControlsAddress(); _corporate.Name = textBoxLastNameCorporate.Text; _corporate.Sigle = textBoxSigle.Text; _corporate.SmallName = textBoxSmallNameCorporate.Text; _corporate.Branch = (Branch)cbBranch.SelectedItem; if (_corporate.Name != null) { _corporate.Name = _corporate.Name.Trim(); } _corporate.Sigle = _corporate.Sigle.Trim(); _corporate.SmallName = _corporate.SmallName.Trim(); EventProcessorServices es = ServicesProvider.GetInstance().GetEventProcessorServices(); if (_corporate.Id == 0) { _corporate.Id = ServicesProvider .GetInstance() .GetClientServices() .SaveCorporate(_corporate, _fundingLine, tx => { foreach (var extension in Extensions) { extension.Save(_corporate, tx); } }); buttonSave.Text = MultiLanguageStrings.GetString(Ressource.CorporateUserControl, "buttonUpdate.Text"); es.LogClientSaveUpdateEvent(_corporate, true); } else { ServicesProvider. GetInstance() .GetClientServices() .SaveCorporate(Corporate, null, tx => Extensions.ForEach(c => c.Save(Corporate, tx))); es.LogClientSaveUpdateEvent(_corporate, false); } if (SaveCorporateFundingLine != null) { SaveCorporateFundingLine(this, e); } _saved = true; } catch (Exception ex) { new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } finally { _create = false; if (CloseCorporate != null) { CloseCorporate(this, null); } } if (ButtonSaveClick != null) { ButtonSaveClick(this, e); } }
public void ConfigureServices(IServiceCollection services) { var servicesProvider = new ServicesProvider(); servicesProvider.Populate(services); }
private void btnSave_Click(object sender, EventArgs e) { if (!_nsgForm.Save()) { return; } bool isError = false; ISavingsContract saving = null; try { foreach (ListViewItem item in lvMembers.Items) { if (item == _itemTotal) { continue; } if (!item.Checked) { continue; } var member = item.Tag as VillageMember; IClient client = member.Tiers; OCurrency initialAmount = (OCurrency)item.SubItems[idxInitialAmount].Tag; double interestRate = (double)item.SubItems[idxInterestRate].Tag; OCurrency entryFees = (OCurrency)item.SubItems[idxEntryFees].Tag; if (_product is SavingsBookProduct) { SavingsBookProduct sbp = (SavingsBookProduct)_product; decimal withdrawFees = (decimal)item.SubItems[idxWithdrawFees].Tag; decimal transferFees = (decimal)item.SubItems[idxTransferFees].Tag; decimal ibtFees = Convert.ToDecimal(item.SubItems[idxIbtFees].Tag); decimal depositFees = (decimal)item.SubItems[idxDepositFees].Tag; decimal chequeDepositFees = (decimal)item.SubItems[idxChequeDepositFees].Tag; decimal closeFees = (decimal)item.SubItems[idxCloseFees].Tag; decimal managementFees = (decimal)item.SubItems[idxManagementFees].Tag; decimal overdraftFees = (decimal)item.SubItems[idxOverdraftFees].Tag; decimal agioFees = (decimal)item.SubItems[idxAgioFees].Tag; decimal reopenFees = (decimal)item.SubItems[idxReopenFees].Tag; saving = new SavingBookContract(ServicesProvider.GetInstance().GetGeneralSettings(), User.CurrentUser, TimeProvider.Today, sbp, client) { InterestRate = interestRate / 100 }; SavingBookContract s = (SavingBookContract)saving; if (sbp.WithdrawFeesType == OSavingsFeesType.Flat) { s.FlatWithdrawFees = withdrawFees; } else { s.RateWithdrawFees = (double)withdrawFees / 100; } if (sbp.TransferFeesType == OSavingsFeesType.Flat) { s.FlatTransferFees = transferFees; } else { s.RateTransferFees = (double)transferFees / 100; } if (sbp.InterBranchTransferFee.IsFlat) { s.FlatInterBranchTransferFee = ibtFees; } else { s.RateInterBranchTransferFee = Convert.ToDouble(ibtFees); } s.DepositFees = depositFees; s.ChequeDepositFees = chequeDepositFees; s.CloseFees = closeFees; s.ManagementFees = managementFees; s.OverdraftFees = overdraftFees; s.AgioFees = (double)agioFees / 100; s.ReopenFees = reopenFees; } saving.SavingsOfficer = _village.LoanOfficer; saving.InitialAmount = initialAmount; saving.EntryFees = entryFees; saving.NsgID = _village.Id; saving.Id = ServicesProvider.GetInstance().GetSavingServices().SaveContract(saving, (Client)member.Tiers); saving = ServicesProvider.GetInstance().GetSavingServices().GetSaving(saving.Id); ServicesProvider.GetInstance().GetSavingServices().FirstDeposit(saving, initialAmount, TimeProvider.Now, entryFees, User.CurrentUser, Teller.CurrentTeller); ServicesProvider.GetInstance().GetSavingServices().UpdateInitialData(saving.Id, initialAmount, entryFees); saving = ServicesProvider.GetInstance().GetSavingServices().GetSaving(saving.Id); ((Client)member.Tiers).AddSaving(saving); } } catch (Exception ex) { isError = true; new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } finally { InitializeControls(); } if (!isError) { DialogResult = DialogResult.OK; Close(); } }
private void lvMembers_ItemChecked(object sender, ItemCheckedEventArgs e) { ListViewItem item = e.Item; item.Font = new Font("Arial", 9F, item.Checked ? FontStyle.Bold : FontStyle.Regular); foreach (ListViewItem.ListViewSubItem subitem in item.SubItems) { subitem.Font = item.Font; } if (item.Checked && item != _itemTotal) { if (string.IsNullOrEmpty(item.SubItems[IdxAmount].Text)) // Amount { if (_product.CycleId == null) { if (_product.Amount.HasValue) { item.SubItems[IdxAmount].Text = _product.Amount.GetFormatedValue(_product.Currency.UseCents); item.SubItems[IdxAmount].Tag = _product.Amount; } else { item.SubItems[IdxAmount].Text = _product.AmountMin.GetFormatedValue(_product.Currency.UseCents); item.SubItems[IdxAmount].Tag = _product.AmountMin; } } else { item.SubItems[IdxAmount].Text = ((VillageMember)item.Tag).Product.AmountMin.GetFormatedValue(_product.Currency.UseCents); } } if (string.IsNullOrEmpty(item.SubItems[IdxCurrency].Text)) // Currency { if (_product.CycleId == null) { if (_product.Amount.HasValue) { item.SubItems[IdxCurrency].Text = _product.Currency.Code; item.SubItems[IdxCurrency].Tag = _product.Currency.Code; } else { item.SubItems[IdxCurrency].Text = _product.Currency.Code; item.SubItems[IdxCurrency].Tag = _product.Currency.Code; } } else { item.SubItems[IdxCurrency].Text = ((VillageMember)item.Tag).Product.Currency.Code; } } if (string.IsNullOrEmpty(item.SubItems[IdxInterest].Text)) // Interest { if (_product.CycleId == null) { if (_product.InterestRate.HasValue) { item.SubItems[IdxInterest].Text = Math.Round(_product.InterestRate.Value * 100, decimalPlaces).ToString(); item.SubItems[IdxInterest].Tag = _product.InterestRate; } else { item.SubItems[IdxInterest].Text = Math.Round(_product.InterestRateMin.Value * 100, decimalPlaces).ToString(); item.SubItems[IdxInterest].Tag = _product.InterestRateMin; } } else { item.SubItems[IdxInterest].Text = Math.Round(((VillageMember)item.Tag).Product.InterestRateMin.Value * 100, decimalPlaces).ToString(); } } if (string.IsNullOrEmpty(item.SubItems[IdxGracePeriod].Text)) // Grace period { if (_product.GracePeriod.HasValue) { item.SubItems[IdxGracePeriod].Text = _product.GracePeriod.ToString(); item.SubItems[IdxGracePeriod].Tag = _product.GracePeriod; } else { item.SubItems[IdxGracePeriod].Text = _product.GracePeriodMin.ToString(); item.SubItems[IdxGracePeriod].Tag = _product.GracePeriodMin; } } if (string.IsNullOrEmpty(item.SubItems[IdxInstallments].Text)) // Installments { if (_product.CycleId == null) { if (_product.NbOfInstallments.HasValue) { item.SubItems[IdxInstallments].Text = _product.NbOfInstallments.ToString(); item.SubItems[IdxInstallments].Tag = _product.NbOfInstallments; } else { item.SubItems[IdxInstallments].Text = _product.NbOfInstallmentsMin.ToString(); item.SubItems[IdxInstallments].Tag = _product.NbOfInstallmentsMin; } } else { item.SubItems[IdxInstallments].Text = ((VillageMember)item.Tag).Product.NbOfInstallmentsMin.ToString(); } } if (string.IsNullOrEmpty(item.SubItems[IdxLoanOfficer].Text)) // Loan officer { item.SubItems[IdxLoanOfficer].Text = _village.LoanOfficer.ToString(); item.SubItems[IdxLoanOfficer].Tag = _village.LoanOfficer; } if (string.IsNullOrEmpty(item.SubItems[IdxCreationDate].Text)) // Credit Committee date { item.SubItems[IdxCreationDate].Text = TimeProvider.Today.ToShortDateString(); item.SubItems[IdxCreationDate].Tag = TimeProvider.Today.ToShortDateString(); } if (string.IsNullOrEmpty(item.SubItems[IdxFundingLine].Text)) // Funding line { FundingLine fl; string flName; if (_product.FundingLine != null) { flName = _product.FundingLine.Name; fl = _product.FundingLine; } else if (cbFundingLine.Items.Count > 0) { flName = ((FundingLine)cbFundingLine.Items[0]).Name; fl = (FundingLine)cbFundingLine.Items[0]; } else { flName = string.Empty; fl = null; } item.SubItems[IdxFundingLine].Text = flName; item.SubItems[IdxFundingLine].Tag = fl; _accumulatedAmount = _fLServices.CheckIfAmountIsEnough(fl, decimal.Parse(item.SubItems[2].Text)); item.SubItems[IdxRemainingFlMoney].Text = _accumulatedAmount.ToString(); if (_accumulatedAmount <= 0) { item.BackColor = Color.Red; } else { item.BackColor = Color.Transparent; } } if (_product.UseCompulsorySavings && string.IsNullOrEmpty(item.SubItems[IdxCompulsorySavings].Text)) { //item.SubItems[IdxCompulsorySavings]. = _village. //item.SubItems[IdxCompulsorySavings].Tag = _village.LoanOfficer; cbCompulsorySavings.Items.Clear(); List <ISavingsContract> savings = ServicesProvider.GetInstance().GetSavingServices().GetSavingsByClientId(((VillageMember)e.Item.Tag).Tiers.Id); savings = savings.Where(item2 => item2 is SavingBookContract).ToList(); // Only savings book if (savings.Count > 0) { foreach (SavingBookContract saving in savings) { cbCompulsorySavings.Items.Add(saving); } item.SubItems[IdxCompulsorySavings].Text = savings[0].Code; item.SubItems[IdxCompulsorySavings].Tag = savings[0]; } } if (_product.UseCompulsorySavings && string.IsNullOrEmpty(item.SubItems[IdxCompulsoryPercentage].Text)) { if (_product.CompulsoryAmount.HasValue) { item.SubItems[IdxCompulsoryPercentage].Text = _product.CompulsoryAmount.ToString(); item.SubItems[IdxCompulsoryPercentage].Tag = _product.CompulsoryAmount; } else { item.SubItems[IdxCompulsoryPercentage].Text = _product.CompulsoryAmountMin.ToString(); item.SubItems[IdxCompulsoryPercentage].Tag = _product.CompulsoryAmountMin; } } /*if (string.IsNullOrEmpty(item.SubItems[IdxPaymentMethod].Text)) * { * cbPaymentMethods.Items.Clear(); * List<PaymentMethod> methods = ServicesProvider.GetInstance().GetPaymentMethodServices().GetAllPaymentMethods(); * * if (methods.Count > 0) * { * foreach (PaymentMethod method in methods) * cbPaymentMethods.Items.Add(method.Name); * * item.SubItems[IdxPaymentMethod].Text = methods[0].Name; * item.SubItems[IdxPaymentMethod].Tag = methods[0].Method; * } * }*/ } else { for (int i = 2; i < item.SubItems.Count; i++) { item.SubItems[i].Text = ""; } } if (item == _itemTotal) { foreach (ListViewItem i in item.ListView.Items) { i.Checked = item.Checked; } } UpdateTotal(); }
private void OnEditSaving(EditSavingMessage message) { var client = ServicesProvider.GetInstance().GetClientServices().FindTiersBySavingsId(message.Id); InitializeSavingContractForm(client, message.Id); }
private void lvMembers_SubItemClicked(object sender, SubItemEventArgs e) { if (e.Item.Checked && e.Item != _itemTotal) { switch (e.SubItem) { case IdxAmount: // Amount if (_product.CycleId != null) { lvMembers.StartEditing(tbAmount, e.Item, e.SubItem); } if (!_product.Amount.HasValue) { lvMembers.StartEditing(tbAmount, e.Item, e.SubItem); } break; case IdxInterest: // Interest if (_product.CycleId != null) { lvMembers.StartEditing(tbInterest, e.Item, e.SubItem); } else if (!_product.InterestRate.HasValue) { lvMembers.StartEditing(tbInterest, e.Item, e.SubItem); } break; case IdxGracePeriod: // Grace period if (!_product.GracePeriod.HasValue) { lvMembers.StartEditing(udGracePeriod, e.Item, e.SubItem); } break; case IdxInstallments: // Installments if (_product.CycleId != null) { udInstallments.Minimum = ((VillageMember)e.Item.Tag).Product.NbOfInstallmentsMin.Value; udInstallments.Maximum = ((VillageMember)e.Item.Tag).Product.NbOfInstallmentsMax.Value; lvMembers.StartEditing(udInstallments, e.Item, e.SubItem); } else if (!_product.NbOfInstallments.HasValue) { lvMembers.StartEditing(udInstallments, e.Item, e.SubItem); } break; case IdxLoanOfficer: lvMembers.StartEditing(cbLoanOfficer, e.Item, e.SubItem); break; case IdxCreationDate: lvMembers.StartEditing(dtCreationDate, e.Item, e.SubItem); break; case IdxFundingLine: lvMembers.StartEditing(cbFundingLine, e.Item, e.SubItem); break; case IdxCompulsorySavings: if (_product.UseCompulsorySavings) { cbCompulsorySavings.Items.Clear(); List <ISavingsContract> savings = ServicesProvider.GetInstance().GetSavingServices(). GetSavingsByClientId(((VillageMember)e.Item.Tag).Tiers.Id); savings = savings.Where(item2 => item2 is SavingBookContract && item2.Status != OSavingsStatus.Closed).ToList(); // Only savings book foreach (SavingBookContract saving in savings) { cbCompulsorySavings.Items.Add(saving); } lvMembers.StartEditing(cbCompulsorySavings, e.Item, e.SubItem); } break; case IdxCompulsoryPercentage: if (_product.UseCompulsorySavings && !_product.CompulsoryAmount.HasValue) { lvMembers.StartEditing(udCompulsoryPercentage, e.Item, e.SubItem); } break; /* * case IdxPaymentMethod: * cbPaymentMethods.Items.Clear(); * List<PaymentMethod> methods = ServicesProvider.GetInstance().GetPaymentMethodServices().GetAllPaymentMethods(); * * foreach (PaymentMethod method in methods) * cbPaymentMethods.Items.Add(method.Name); * * lvMembers.StartEditing(cbPaymentMethods, e.Item, e.SubItem); * break; */ default: break; } } }
public static ServicesProvider GetServiceProvider() { if (_theUniqueInstance == null) return _theUniqueInstance = new ServicesProvider(); return _theUniqueInstance; }
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(); } }
private void InitializeControls() { lvMembers.Items.Clear(); Color dfc = Color.Gray; Color fc = Color.Black; Color bc = Color.White; _fLServices.EmptyTemporaryFLAmountsStorage(); dtCreationDate.Format = DateTimePickerFormat.Custom; dtCreationDate.CustomFormat = ApplicationSettings.GetInstance("").SHORT_DATE_FORMAT; ApplicationSettings generalParameters = ApplicationSettings.GetInstance(""); decimalPlaces = generalParameters.InterestRateDecimalPlaces; ProductServices productServices = ServicesProvider.GetInstance().GetProductServices(); List <Loan> listLoan; foreach (VillageMember member in _village.Members) { listLoan = member.ActiveLoans; if (listLoan.Count != 0 && !generalParameters.IsAllowMultipleLoans) { continue; } _hasMember = true; Person person = (Person)member.Tiers; if (_product.CycleId != null) { productServices.SetVillageMemberCycleParams(member, _product.Id, person.LoanCycle); } else { member.Product = _product; } ListViewItem item = new ListViewItem(person.Name) { Tag = member }; if (_product.CycleId != null) { item.SubItems.Add(person.IdentificationData); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", member.Product.Amount.HasValue ? dfc : fc, bc, item.Font)); item.SubItems.Add(member.Product.Currency.Code); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", member.Product.InterestRate.HasValue ? dfc : fc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", member.Product.GracePeriod.HasValue ? dfc : fc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", member.Product.NbOfInstallments.HasValue ? dfc : fc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", dfc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", dfc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", dfc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", dfc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", true ? dfc : fc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", dfc, bc, item.Font)); item.SubItems.Add(""); item.SubItems.Add(""); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", member.Product.Amount.HasValue ? dfc : fc, bc, item.Font)); if (_product.UseCompulsorySavings) { item.SubItems.Add(""); item.SubItems.Add( new ListViewItem.ListViewSubItem(item, "", member.Product.CompulsoryAmount.HasValue ? dfc : fc, bc, item.Font)); } lvMembers.Items.Add(item); item.SubItems[IdxAmount].Tag = member.Product.AmountMin; item.SubItems[IdxInterest].Tag = member.Product.InterestRateMin; item.SubItems[IdxInstallments].Tag = member.Product.NbOfInstallmentsMin; item.SubItems[IdxCurrency].Tag = member.Product.Currency; } else { item.SubItems.Add(person.IdentificationData); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", _product.Amount.HasValue ? dfc : fc, bc, item.Font)); item.SubItems.Add(_product.Currency.Code); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", _product.InterestRate.HasValue ? dfc : fc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", _product.GracePeriod.HasValue ? dfc : fc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", _product.NbOfInstallments.HasValue ? dfc : fc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", dfc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", dfc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", dfc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", dfc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", true ? dfc : fc, bc, item.Font)); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", dfc, bc, item.Font)); item.SubItems.Add(""); item.SubItems.Add(""); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", _product.Amount.HasValue ? dfc : fc, bc, item.Font)); if (_product.UseCompulsorySavings) { item.SubItems.Add(""); item.SubItems.Add(new ListViewItem.ListViewSubItem(item, "", _product.CompulsoryAmount.HasValue ? dfc : fc, bc, item.Font)); } lvMembers.Items.Add(item); item.SubItems[IdxCurrency].Tag = member.Product.Currency; } } if (_hasMember) { OCurrency zero = 0m; _itemTotal.Text = GetString("Total"); _itemTotal.SubItems.Add(""); _itemTotal.SubItems.Add(zero.GetFormatedValue(true)); _itemTotal.SubItems.Add(""); lvMembers.Items.Add(_itemTotal); } lvMembers.SubItemClicked += lvMembers_SubItemClicked; lvMembers.SubItemEndEditing += lvMembers_SubItemEndEditing; lvMembers.DoubleClickActivation = true; if (!_product.GracePeriod.HasValue) { udGracePeriod.Minimum = _product.GracePeriodMin ?? 0; udGracePeriod.Maximum = _product.GracePeriodMax ?? 0; } if (_product.CycleId == null) { if (!_product.NbOfInstallments.HasValue) { udInstallments.Minimum = _product.NbOfInstallmentsMin ?? 0; udInstallments.Maximum = _product.NbOfInstallmentsMax ?? 0; } } List <User> users = ServicesProvider.GetInstance().GetUserServices().FindAll(false); foreach (User user in users) { cbLoanOfficer.Items.Add(user); } List <FundingLine> lines = ServicesProvider.GetInstance().GetFundingLinesServices().SelectFundingLines(); foreach (FundingLine line in lines) { cbFundingLine.Items.Add(line); } // Compulsory savings if (_product.UseCompulsorySavings) { if (!_product.CompulsoryAmount.HasValue) { udCompulsoryPercentage.Minimum = _product.CompulsoryAmountMin ?? 0; udCompulsoryPercentage.Maximum = _product.CompulsoryAmountMax ?? 0; } } }
void ImportMwsDeck(GameInfoItem gameItem, DeckItem deck, string text, CodesMapService mappingManager, Dictionary<string, string> discardedLines) { ServicesProvider engServicesProvider = servicesProvider; if(engServicesProvider.GameLanguageCode != "eng") { engServicesProvider = new ServicesProvider("eng", "eng"); engServicesProvider.LoadGame(gameItem); } discardedLines.Clear(); foreach(string line in text.Split(new string[] {Environment.NewLine}, StringSplitOptions.None). Select(e => e.Trim()).Where(e => e.Length > 0 && !e.StartsWith("//"))) { string[] lineParts = line.Split(' '); if(lineParts.Length < 3) continue; try { var cardList = deck.MainCards; int partIndex = 0; if(lineParts[0] == "SB:") { partIndex++; cardList = deck.SideboardCards; } int amount; if(int.TryParse(lineParts[partIndex++], out amount)) { string mwsSetCode = string.Empty; try { mwsSetCode = lineParts[partIndex++].Replace("[", string.Empty).Replace("]", string.Empty); } catch { throw new Exception("Cannot read set code on this line: " + line); } string cardName = string.Empty; try { cardName = string.Concat( lineParts.Skip(partIndex).Where(e => e != "(1)" && e != "(2)" && e != "(3)" && e != "(4)").Select( e => string.Concat(e, " ")).ToArray()).TrimEnd(); cardName = cardName.Split(new string[] { "--" }, StringSplitOptions.None).First(); } catch { throw new Exception("Cannot read card name on this line: " + line); } string internalSetCode = mappingManager.GetCode(mwsSetCode); if(string.IsNullOrEmpty(internalSetCode)) throw new Exception("Set code unknown: " + mwsSetCode); CardSearchParams p = new CardSearchParams(); p.Sets.Add(internalSetCode); p.Name = cardName; p.Language = "ENG"; p.NameExact = true; CardItem cardItem = engServicesProvider.CardsService.SelectCards(p).FirstOrDefault(); if(cardItem == null) throw new Exception("Card name unknown: " + cardName); for(int i = 0; i < amount; i++) cardList.Add(cardItem.Clone()); } else { throw new Exception("Cannot read card amount on this line: " + line); } } catch(Exception ex) { discardedLines.Add(line, ex.Message); } } }