All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.brihaspathee.zeus.helper.interfaces.EnrollmentSpanHelper Maven / Gradle / Ivy

The newest version!
package com.brihaspathee.zeus.helper.interfaces;

import com.brihaspathee.zeus.domain.entity.Account;
import com.brihaspathee.zeus.domain.entity.EnrollmentSpan;
import com.brihaspathee.zeus.dto.account.AccountDto;
import com.brihaspathee.zeus.dto.account.EnrollmentSpanDto;
import com.brihaspathee.zeus.dto.account.PremiumPaymentDto;
import com.brihaspathee.zeus.service.TransactionProcessingContext;

import java.time.LocalDate;
import java.util.List;

/**
 * Created in Intellij IDEA
 * User: Balaji Varadharajan
 * Date: 29, April 2024
 * Time: 5:14 PM
 * Project: Zeus
 * Package Name: com.brihaspathee.zeus.helper.interfaces
 * To change this template use File | Settings | File and Code Template
 */
public interface EnrollmentSpanHelper {

//    /**
//     * Create enrollment spans
//     * @param account - The account with which the enrollment span is associated
//     * @param enrollmentSpanDtos - The enrollment spans that needs to be created
//     */
//    void createEnrollmentSpan(Account account,
//                              List enrollmentSpanDtos);

    /**
     * Update the enrollment span
     * @param context
     * @param account
     * @param enrollmentSpanDtos
     */
    void updateEnrollmentSpan(TransactionProcessingContext context,
                              Account account,
                              List enrollmentSpanDtos);

//    /**
//     * Update the enrollment span status and paid through date
//     * @param enrollmentSpan
//     * @param effectuationDate
//     * @param paidThruDate
//     * @param status
//     */
//    void updateEnrollmentSpan(EnrollmentSpan enrollmentSpan,
//                              LocalDate effectuationDate,
//                              LocalDate paidThruDate,
//                              String status);

    /**
     * Create enrollment span dto from enrollment span entity and set it in the account dto
     * @param accountDto
     * @param enrollmentSpans
     */
    void setEnrollmentSpan(AccountDto accountDto, List enrollmentSpans);

    /**
     * Create the premium payment received for an enrollment span
     * @param premiumPaymentDto
     */
    void createPremiumPayment(PremiumPaymentDto premiumPaymentDto);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy