private void dgvReferral_DoubleClick(object sender, EventArgs e) { int selectedrowindex = dgvReferral.SelectedCells[0].RowIndex; DataGridViewRow selectedRow = dgvReferral.Rows[selectedrowindex]; int selectedStudent = Convert.ToInt32(selectedRow.Cells["colStudentId"].Value); var item = lstReferral.SingleOrDefault(r => r.StudentId == selectedStudent); lstReferral.Remove(item); var referralBindingList = new BindingList <tblstudent>(lstReferral); var referralBindingSource = new BindingSource(referralBindingList, null); // dgvReferral.Columns.Clear(); dgvReferral.AutoGenerateColumns = false; if (dgvReferral.DataSource == null) { dgvReferral.ColumnCount = 5; } dgvReferral.Columns[0].Name = "colStudentId"; dgvReferral.Columns[0].Visible = false; dgvReferral.Columns[0].DataPropertyName = "StudentId"; dgvReferral.Columns[1].Name = "colStudentNo"; dgvReferral.Columns[1].HeaderText = "Student No"; dgvReferral.Columns[1].DataPropertyName = "StudentNo"; dgvReferral.Columns[2].Name = "colFirstName"; dgvReferral.Columns[2].HeaderText = "First Name"; dgvReferral.Columns[2].DataPropertyName = "FirstName"; dgvReferral.Columns[3].Name = "colMiddleName"; dgvReferral.Columns[3].HeaderText = "Middle Name"; dgvReferral.Columns[3].DataPropertyName = "MiddleName"; dgvReferral.Columns[4].Name = "colLastName"; dgvReferral.Columns[4].HeaderText = "Last Name"; dgvReferral.Columns[4].DataPropertyName = "LastName"; dgvReferral.DataSource = referralBindingList; dgvReferral.ReadOnly = true; TuitionDTO referralVal = lstDiscount.Where(x => x.DiscountTypeDesc == "Referral" && referralBindingList.Count() >= Convert.ToInt32(x.DiscountParam)). OrderBy(x => x.DiscountVal).LastOrDefault(); if (referralVal != null) { computedReferralAmt = tuition * (referralVal.DiscountVal / 100); if (computedReferralAmt != 0.00 && computedReferralAmt != lastReferralAmt) // && lastReferralAmt != 0.00 ) { txtTotal.Text = (Convert.ToDouble(txtTotal.Text) + (Convert.ToDouble(String.IsNullOrEmpty(txtDiscount.Text) ? 0 : Convert.ToDouble(txtDiscount.Text)))).ToString(); //txtDiscount.Text = (Convert.ToInt32(txtDiscount.Text) - tuition * (referralVal.DiscountVal / 100)).ToString("#.##"); txtDiscount.Text = (Convert.ToInt32(txtDiscount.Text) - (lastReferralAmt - computedReferralAmt)).ToString("#.##"); referralDiscount = Convert.ToDouble(txtDiscount.Text); //trigger txtDeferred.Text = ((Convert.ToDouble(txtTotal.Text) + Convert.ToDouble(txtDeferredMisc.Text)) / divisor).ToString("#.##"); } else if (computedReferralAmt != lastReferralAmt && computedReferralAmt != 0.00) { txtTotal.Text = (Convert.ToDouble(txtTotal.Text) + (Convert.ToDouble(String.IsNullOrEmpty(txtDiscount.Text) ? 0 : Convert.ToDouble(txtDiscount.Text)))).ToString(); txtDiscount.Text = (Convert.ToInt32(txtDiscount.Text) - tuition * (referralVal.DiscountVal / 100)).ToString("#.##"); referralDiscount = Convert.ToDouble(txtDiscount.Text); //trigger txtDeferred.Text = ((Convert.ToDouble(txtTotal.Text) + Convert.ToDouble(txtDeferredMisc.Text)) / divisor).ToString("#.##"); } } else if (Convert.ToInt32(txtDiscount.Text) >= lastReferralAmt) //check if can still be subtracted. logically at this state, ref discount has been applied. { txtTotal.Text = (Convert.ToDouble(txtTotal.Text) + (Convert.ToDouble(String.IsNullOrEmpty(txtDiscount.Text) ? 0 : Convert.ToDouble(txtDiscount.Text)))).ToString(); txtDiscount.Text = (Convert.ToInt32(txtDiscount.Text) - lastReferralAmt).ToString("#.##"); //trigger txtDeferred.Text = ((Convert.ToDouble(txtTotal.Text) + Convert.ToDouble(txtDeferredMisc.Text)) / divisor).ToString("#.##"); referralDiscount = Convert.ToDouble(txtDiscount.Text); computedReferralAmt = 0.00; } lastReferralAmt = computedReferralAmt; }
public void UpdateSiblingGrid() { lstSibling.Add(_studentService.GetStudent(Global.selectedStudent)); var siblingBindingList = new BindingList <tblstudent>(lstSibling); var siblingBindingSource = new BindingSource(siblingBindingList, null); // dgvSibling.Columns.Clear(); dgvSibling.AutoGenerateColumns = false; if (dgvSibling.DataSource == null) { //declare count if datasource is null dgvSibling.ColumnCount = 6; } dgvSibling.Columns[0].Name = "colStudentId"; dgvSibling.Columns[0].Visible = false; dgvSibling.Columns[0].DataPropertyName = "StudentId"; dgvSibling.Columns[1].Name = "colStudentNo"; dgvSibling.Columns[1].HeaderText = "Student No"; dgvSibling.Columns[1].DataPropertyName = "StudentNo"; dgvSibling.Columns[2].Name = "colFirstName"; dgvSibling.Columns[2].HeaderText = "First Name"; dgvSibling.Columns[2].DataPropertyName = "FirstName"; dgvSibling.Columns[3].Name = "colMiddleName"; dgvSibling.Columns[3].HeaderText = "Middle Name"; dgvSibling.Columns[3].DataPropertyName = "MiddleName"; dgvSibling.Columns[4].Name = "colLastName"; dgvSibling.Columns[4].HeaderText = "Last Name"; dgvSibling.Columns[4].DataPropertyName = "LastName"; dgvSibling.Columns[5].Name = "colStudentId"; dgvSibling.Columns[5].Visible = false; dgvSibling.Columns[5].DataPropertyName = "StudentId"; dgvSibling.DataSource = siblingBindingList; dgvSibling.ReadOnly = true; TuitionDTO siblingVal = lstDiscount.Where(x => x.DiscountTypeDesc == "Family Assistance" && siblingBindingList.Count() >= Convert.ToInt32(x.DiscountParam)). OrderBy(x => x.DiscountVal).LastOrDefault(); if (siblingVal != null) { computedSiblingAmt = tuition * (siblingVal.DiscountVal / 100); if (computedSiblingAmt != 0.00 && computedSiblingAmt != lastReferralAmt) // && lastReferralAmt != 0.00 ) { txtDiscount.Text = (Convert.ToDouble(String.IsNullOrEmpty(txtDiscount.Text) ? 0 : Convert.ToDouble(txtDiscount.Text)) - lastSiblingAmt).ToString("#.##"); txtDiscount.Text = (Convert.ToInt32(txtDiscount.Text) + tuition * (siblingVal.DiscountVal / 100)).ToString("#.##"); siblingDiscount = Convert.ToDouble(txtDiscount.Text); txtTotal.Text = (Convert.ToDouble(txtTotal.Text) - (Convert.ToDouble(String.IsNullOrEmpty(txtDiscount.Text) ? 0 : Convert.ToDouble(txtDiscount.Text)))).ToString(); //trigger txtDeferred.Text = ((Convert.ToDouble(txtTotal.Text) + Convert.ToDouble(txtDeferredMisc.Text)) / divisor).ToString("#.##"); } else if (computedSiblingAmt != lastReferralAmt && computedSiblingAmt != 0.00) { txtDiscount.Text = (Convert.ToInt32(txtDiscount.Text) + tuition * (siblingVal.DiscountVal / 100)).ToString("#.##"); siblingDiscount = Convert.ToDouble(txtDiscount.Text); txtTotal.Text = (Convert.ToDouble(txtTotal.Text) - (Convert.ToDouble(String.IsNullOrEmpty(txtDiscount.Text) ? 0 : Convert.ToDouble(txtDiscount.Text)))).ToString(); //trigger txtDeferred.Text = ((Convert.ToDouble(txtTotal.Text) + Convert.ToDouble(txtDeferredMisc.Text)) / divisor).ToString("#.##"); } } else { //if null do nothing } lastSiblingAmt = computedSiblingAmt; }
public void UpdateReferralGrid() { lstReferral.Add(_studentService.GetStudent(Global.selectedStudent)); var referralBindingList = new BindingList <tblstudent>(lstReferral); var referralBindingSource = new BindingSource(referralBindingList, null); // dgvReferral.Columns.Clear(); dgvReferral.AutoGenerateColumns = false; if (dgvReferral.DataSource == null) { dgvReferral.ColumnCount = 6; } dgvReferral.Columns[0].Name = "colStudentId"; dgvReferral.Columns[0].Visible = false; dgvReferral.Columns[0].DataPropertyName = "StudentId"; dgvReferral.Columns[1].Name = "colStudentNo"; dgvReferral.Columns[1].HeaderText = "Student No"; dgvReferral.Columns[1].DataPropertyName = "StudentNo"; dgvReferral.Columns[2].Name = "colFirstName"; dgvReferral.Columns[2].HeaderText = "First Name"; dgvReferral.Columns[2].DataPropertyName = "FirstName"; dgvReferral.Columns[3].Name = "colMiddleName"; dgvReferral.Columns[3].HeaderText = "Middle Name"; dgvReferral.Columns[3].DataPropertyName = "MiddleName"; dgvReferral.Columns[4].Name = "colLastName"; dgvReferral.Columns[4].HeaderText = "Last Name"; dgvReferral.Columns[4].DataPropertyName = "LastName"; dgvReferral.Columns[5].Name = "colStudentId"; dgvReferral.Columns[5].Visible = false; dgvReferral.Columns[5].DataPropertyName = "StudentId"; dgvReferral.DataSource = referralBindingList; dgvReferral.ReadOnly = true; TuitionDTO referralVal = lstDiscount.Where(x => x.DiscountTypeDesc == "Referral" && referralBindingList.Count() >= Convert.ToInt32(x.DiscountParam)). OrderBy(x => x.DiscountVal).LastOrDefault(); if (referralVal != null) { computedReferralAmt = tuition * (referralVal.DiscountVal / 100); if (computedReferralAmt != 0.00 && computedReferralAmt != lastReferralAmt) //if moving on the next discount condition, //remove discount applied then apply new discount { // txtDiscount.Text = (Convert.ToDouble(String.IsNullOrEmpty(txtDiscount.Text) ? 0 : Convert.ToDouble(txtDiscount.Text)) - lastReferralAmt).ToString("#.##"); txtDiscount.Text = (Convert.ToInt32(txtDiscount.Text) + tuition * (referralVal.DiscountVal / 100)).ToString("#.##"); referralDiscount = Convert.ToDouble(txtDiscount.Text); txtTotal.Text = (Convert.ToDouble(txtTotal.Text) - (Convert.ToDouble(String.IsNullOrEmpty(txtDiscount.Text) ? 0 : Convert.ToDouble(txtDiscount.Text)))).ToString(); //trigger txtDeferred.Text = ((Convert.ToDouble(txtTotal.Text) + Convert.ToDouble(txtDeferredMisc.Text)) / divisor).ToString("#.##"); } else if (computedReferralAmt != lastReferralAmt && computedReferralAmt != 0.00) { txtDiscount.Text = (Convert.ToInt32(txtDiscount.Text) + tuition * (referralVal.DiscountVal / 100)).ToString("#.##"); referralDiscount = Convert.ToDouble(txtDiscount.Text); txtTotal.Text = (Convert.ToDouble(txtTotal.Text) - (Convert.ToDouble(String.IsNullOrEmpty(txtDiscount.Text) ? 0 : Convert.ToDouble(txtDiscount.Text)))).ToString(); //trigger txtDeferred.Text = ((Convert.ToDouble(txtTotal.Text) + Convert.ToDouble(txtDeferredMisc.Text)) / divisor).ToString("#.##"); } } else { //if null do nothing } lastReferralAmt = computedReferralAmt; }
private void FrmPaymentMaintenance_Load(object sender, EventArgs e) { cbTransferee.Enabled = false; //eager load discounts lstDiscount = _assessmentService.GetDiscount(); var lstScholarshipRegular = lstDiscount.Where(x => x.DiscountTypeId == 6).ToList(); var lstScholarshipTransferee = lstDiscount.Where(x => x.DiscountTypeId == 5).ToList(); var lstEarlyBird = lstDiscount.Where(x => x.DiscountTypeId == 3).ToList(); //siblingDiscountType = lstSibling[0].DiscountTypeId; //referralDiscountType = lstReferral[0].DiscountTypeId; // combobox mode of payment PaymentsDTO payments = _paymentService.GetPaymentById(Global.selectedId); cmbModeOfPayment.DataSource = _paymentService.GetModeOfPayment(); cmbModeOfPayment.ValueMember = "ModeOfPaymentId"; cmbModeOfPayment.DisplayMember = "ModeOfPaymentDesc"; cmbModeOfPayment.SelectedIndex = 0; lblTransactionDate.Text = DateTime.Now.ToShortDateString(); //combobox payment term (first/second/third/fourth grading) //load the payments grid List <PaymentsDTO> lstPayments = _paymentService.GetPaymentsByStudentId(Global.selectedStudent); AssessmentDTO assessmentDTO = _assessmentService.GetAssessmentsDTO(Global.selectedStudent); var studPaymentBindingList = new BindingList <PaymentsDTO>(lstPayments); var studPaymentBindingSource = new BindingSource(studPaymentBindingList, null); //################### singit the textboxex ###################### var lstAssessment = _assessmentService.GetAssessment(Global.selectedStudent); txtMiscAmountDue.Text = lstAssessment.DeferredMisc.ToString(); txtTuitionAmountDue.Text = lstAssessment.PaymentPerDue.ToString(); txtTotalAmount.Text = (Convert.ToDouble(txtMiscAmountDue.Text) + Convert.ToDouble(txtMiscAmountDue.Text)).ToString("#.##"); //determine due dates lstDueDates = _dueDatesService.GetDueDates(lstAssessment.PaymentTerm); //get high and low for dates dateLow = lstDueDates.Where(x => x.DueDate <= DateTime.Now). OrderBy(x => x.DueDate).LastOrDefault().DueDate; dateHigh = lstDueDates.Where(x => x.DueDate >= DateTime.Now). OrderBy(x => x.DueDate).LastOrDefault().DueDate; if (lstPayments.Count >= 1) { // cbTransferee.Checked = assessmentDTO.isTransferree; //this is not downpayment } else //if no payment given yet, { cbDownpayment.Checked = true; penalizedFee = DateTime.Now > lstDueDates[0].DueDate ? Convert.ToDouble(txtTuitionAmountDue.Text) + ((Convert.ToDouble(txtTuitionAmountDue.Text) / 100) * 3.5) : 0; txtPenalty.Text = ((Convert.ToDouble(txtTuitionAmountDue.Text) / 100) * 3.5).ToString("#.##"); cbTransferee.Checked = false; } //payment term annual or downpayment and not late for anything (no penalty) if ((lstAssessment.PaymentTerm == 1 || cbDownpayment.Checked == true) && penalizedFee == 0) { //early bird discount TuitionDTO earlyBirdVal = lstDiscount.Where(x => x.DiscountTypeId == 3 && Convert.ToDateTime(x.DiscountParam) >= DateTime.Now). OrderBy(x => x.DiscountVal).LastOrDefault(); txtEarlyBird.Text = (Convert.ToDouble(earlyBirdVal.DiscountVal) * (lstAssessment.OriginalAmount) / 100).ToString("#.##"); lblEarlyBird.Visible = true; lblEarlyBird.Text = "Early Bird for " + Convert.ToDateTime(earlyBirdVal.DiscountParam).ToShortDateString() + " ," + (earlyBirdVal.DiscountVal) + "%"; txtTotalAmount.Text = (Convert.ToDouble(txtPenalty.Text) + Convert.ToDouble(txtTotalAmount.Text) - Convert.ToDouble(txtEarlyBird.Text)).ToString("#.##"); } else { lblEarlyBird.Visible = false; txtTotalAmount.Text = (Convert.ToDouble(txtPenalty.Text) + Convert.ToDouble(txtTotalAmount.Text) + Convert.ToDouble(txtMiscAmountDue.Text)).ToString("#.##"); } //txtTotalAmountBal.Text = (lstAssessment.FullAmount - (Convert.ToDouble(txtAmount.Text))).ToString("#.##"); txtTotalRemainingBal.Text = (lstAssessment.FullAmount).ToString("#.##"); PaymentsDTO lastPayment = lstPayments.LastOrDefault(); //txtRemainingMiscBal.Text =Convert.ToDouble(txtMiscAmountDue.Text) - lastPayment. //####################/till here ####################### pbStudent.Image = Image.FromFile(lstAssessment.path); dgvStudentPayments.AutoGenerateColumns = false; dgvStudentPayments.ColumnCount = 6; dgvStudentPayments.Columns[0].Name = "colAmount"; dgvStudentPayments.Columns[0].HeaderText = "Amount"; dgvStudentPayments.Columns[0].DataPropertyName = "Amount"; //dgvStudentPayments.Columns[1].Name = "colBank"; //dgvStudentPayments.Columns[1].HeaderText = "Bank"; //dgvStudentPayments.Columns[1].DataPropertyName = "BankName"; dgvStudentPayments.Columns[1].Name = "colModeOfPayment"; dgvStudentPayments.Columns[1].HeaderText = "Mode Of Payment"; dgvStudentPayments.Columns[1].DataPropertyName = "ModeOfPayment"; dgvStudentPayments.Columns[2].Name = "colTransactionDate"; dgvStudentPayments.Columns[2].HeaderText = "Transaction Date"; dgvStudentPayments.Columns[2].DataPropertyName = "TransactionDate"; dgvStudentPayments.Columns[3].Name = "colRemaniningBalance"; dgvStudentPayments.Columns[3].HeaderText = "Remaining Balance"; dgvStudentPayments.Columns[3].DataPropertyName = "Balance"; dgvStudentPayments.Columns[4].Name = "colOriginalBalance"; dgvStudentPayments.Columns[4].HeaderText = "Original Balance"; dgvStudentPayments.Columns[4].DataPropertyName = "OriginalBalance"; dgvStudentPayments.DataSource = studPaymentBindingSource; //fill the textboxes txtStudentName.Text = assessmentDTO.FirstName + " " + assessmentDTO.MiddleName.ToString() + " " + assessmentDTO.LastName.ToString(); txtStudentNo.Text = assessmentDTO.StudentNo; //txtBalance.Text = lstPayments[lstPayments.Count - 1].Balance.ToString(); //load payment term //cmbPaymentTerm.DataSource = _paymentService.GetDateParameters(); //cmbPaymentTerm.ValueMember = "DateParameterId"; //cmbPaymentTerm.DisplayMember = "DatesDescription"; //cmbPaymentTerm.SelectedIndex = -1; }