Calculate Commission

PHOTO EMBED

Fri Apr 11 2025 04:09:34 GMT+0000 (Coordinated Universal Time)

Saved by @Pooja

void Transactions.Calculate_Commission(int ids)
{
	transactiondet = Transactions[ID == input.ids];
	if(transactiondet.Validation_Check_Status == "Valid")
	{
		ratecard = RATE_CARD[Partner_Entity_Name.Partner_Entity_Name == transactiondet.Partner_Entity_Name];
		if(ratecard.count() == 0)
		{
			transactiondet.Commission_Comments="Invalid record, commission cannot be calculated.";
			//transactiondet.Commission_Comments="Partner Entity Name is not matching with the rate card.";
		}
		else
		{
			ratecard1 = RATE_CARD[Partner_Entity_Name.Partner_Entity_Name == transactiondet.Partner_Entity_Name && University_Name.University_Name == transactiondet.University_Name];
			if(ratecard1.count() == 0)
			{
				transactiondet.Commission_Comments="Invalid record, commission cannot be calculated.";
				//transactiondet.Commission_Comments="University name is not matching with the rate card.";
			}
			else
			{
				ratecard2 = RATE_CARD[Partner_Entity_Name.Partner_Entity_Name == transactiondet.Partner_Entity_Name && University_Name.University_Name == transactiondet.University_Name && Programs.Programs == transactiondet.Program];
				if(ratecard2.count() == 0)
				{
					transactiondet.Commission_Comments="Invalid record, commission cannot be calculated.";
					//transactiondet.Commission_Comments="Program is not matching with the rate card.";
				}
				else
				{
					ratecard3 = RATE_CARD[Partner_Entity_Name.Partner_Entity_Name == transactiondet.Partner_Entity_Name && University_Name.University_Name == transactiondet.University_Name && Programs.Programs == transactiondet.Program && Elective.Elective == transactiondet.Elective];
					if(ratecard3.count() == 0)
					{
						transactiondet.Commission_Comments="Invalid record, commission cannot be calculated.";
						//transactiondet.Commission_Comments="Elective is not matching with the rate card.";
					}
					else
					{
						ratecard4 = RATE_CARD[Partner_Entity_Name.Partner_Entity_Name == transactiondet.Partner_Entity_Name && University_Name.University_Name == transactiondet.University_Name && Programs.Programs == transactiondet.Program && Elective.Elective == transactiondet.Elective && CP_Approval_Status == "Approved"];
						if(ratecard4.count() == 0)
						{
							transactiondet.Commission_Comments="Invalid record, commission cannot be calculated.";
							//transactiondet.Commission_Comments="Rate Card is not yet approved.";
						}
						else
						{
							// 							ratecard5 = RATE_CARD[Partner_Entity_Name.Partner_Entity_Name == transactiondet.Partner_Entity_Name && University_Name.University_Name == transactiondet.University_Name && Programs.Programs == transactiondet.Program && Elective.Elective == transactiondet.Elective && CP_Approval_Status == "Approved" && Documentation_Status == transactiondet.Documentation_Status1];
							// 							if(ratecard5.count() == 0)
							// 							{
							// 								transactiondet.Commission_Comments="Documentation status is not matching with the rate card."; && Documentation_Status == transactiondet.Documentation_Status1
							// 							}
							// 							else
							// 							{
							ratecard_det = RATE_CARD[Partner_Entity_Name.Partner_Entity_Name == transactiondet.Partner_Entity_Name && University_Name.University_Name == transactiondet.University_Name && Programs.Programs == transactiondet.Program && Elective.Elective == transactiondet.Elective && CP_Approval_Status == "Approved"];
							// 	info ratecard_det.count();&&Documentation_Status == transactionde
							if(ratecard_det.count() == 0)
							{
								transactiondet.Commission_Comments="Invalid record, commission cannot be calculated.";
								//transactiondet.Commission_Comments="No valid rate card details is available for this transaction.";
							}
							else
							{
								for each  recs in ratecard_det
								{
									if(transactiondet.Enrollment_Date >= recs.Effective_start_date && transactiondet.Enrollment_Date <= recs.Effective_end_date)
									{
										t1 = ifnull(transactiondet.Registration_fee,0) + ifnull(transactiondet.Exam_fee,0) + ifnull(transactiondet.Loan_subvention_charges,0);
										transactiondet.Eligible_fee=ifnull(transactiondet.Total_Fee,0) - t1;
										payout_percentage = recs.Payout;
										transactiondet.Accumulated_Commission_Amount=payout_percentage / 100 * transactiondet.Eligible_fee;
										transactiondet.Commission_Comments="Commission calculated successfully.";
										//	transactiondet.Commission_Comments="Commission Amount has been calculated.";
									}
									else
									{
										transactiondet.Commission_Comments="Invalid record, commission cannot be calculated.";
										//transactiondet.Commission_Comments="Effective start date and end date is not matched with the enrolment date.";
										// 			info "else";
									}
								}
							}
						}
					}
				}
			}
		}
	}
	// 	}
	else
	{
		transactiondet.Commission_Comments="This transaction is not valid and commission amount cannot be calculated.";
	}
}
content_copyCOPY