private void btnAdd_Click(object sender, EventArgs e) { var nextIds = Customer.GetNextIds(); var newCustomerId = nextIds.NewCustomerId; var nextSeqNo = nextIds.NewCustomerSeqId; Customer cus = new Customer(); if (chkExistingCustomer.Checked) { cus = (Customer)cmbExistingCustomer.SelectedItem; cus.CustomerSeqNumber = nextSeqNo; cus.IsExistingCustomer = true; newCustomerId = cus.CustomerId; cus.IsActive = false; //Update Active flag of existing customer. } else { var isDuplicateName = Customer.IsDuplicateName(txtName.Text); if (isDuplicateName) { var msg = $"Customer Name [{txtName.Text}] already exist, Please verify!"; MessageBox.Show(msg); lblMessage.Text = msg; return; } cus.CustomerId = newCustomerId; cus.Name = txtName.Text; cus.PhoneNumber = txtPhone.Text; cus.CustomerSeqNumber = nextSeqNo; } cus.LoanAmount = Convert.ToInt32(txtLoan.Text); cus.Interest = Convert.ToInt32(txtInterest.Text); cus.AmountGivenDate = dateTimePicker1.Value; cus.ReturnType = (ReturnTypeEnum)cmbReturnType.SelectedItem; cus.ReturnDay = (DayOfWeek)cmbReturnDay.SelectedItem; cus.CollectionSpotId = cmbCollectionSpot.SelectedValue.ToInt32(); Customer.AddCustomer(cus); txtCustomerNo.Text = newCustomerId.ToString(); // Add First(Default) Transaction. var txn = new Transaction() { AmountReceived = 0, CustomerId = cus.CustomerId, CustomerSequenceNo = cus.CustomerSeqNumber, TransactionId = Transaction.GetNextTransactionId(), Balance = cus.LoanAmount, TxnDate = dateTimePicker1.Value }; Transaction.AddTransaction(txn); // Add Investment Investment.AddInvestment(new Investment() { Amount = cus.LoanAmount, Interest = Convert.ToInt16(txtInterest.Text), CustomerId = cus.CustomerId, CustomerSequenceNo = cus.CustomerSeqNumber }); var nthTimes = Customer.GetAllCustomer().Where(w => w.CustomerId == cus.CustomerId).Count(); lblMessage.Text = $"Customer {cus.Name} ({nthTimes}{General.GetDaySuffix(nthTimes)} times) Added Successfully."; lblNoteCount.Text = cus.CustomerSeqNumber.ToString(); }