Ejemplo n.º 1
0
        //===================================================================================
        /// <summary>
        /// This validation is part of validateVoyageValue
        /// </summary>
        private bool isVoyageDurationAndVesselValid(long? voyageId, IVoyageDomainService voyageDomainService)
        {
            if (voyageId.HasValue)
            {
                var givenVoyage = voyageDomainService.Get(voyageId.Value);

                if (!(givenVoyage.VesselInCompany.Id == this.VesselInCompanyId &&
                    (givenVoyage.StartDate <= EventDate &&
                        EventDate <= givenVoyage.EndDate))
                    )
                {
                    return false;
                }
            }

            return true;
        }
Ejemplo n.º 2
0
        //===================================================================================
        //private void validateVoyageExistance(long? voyageId)
        //{
        //    if (FuelReportType == FuelReportTypes.EndOfVoyage &&
        //        !voyageId.HasValue)
        //        throw new BusinessRuleException("BR_FR35", "Voyage is mandatory for EOV Fuel Report.");
        //}
        //===================================================================================
        /// <summary>
        /// BR_FR36
        /// </summary>
        private void validateVoyageEndDateForEndOfVoyageReportType(
            long? voyageId,
            IVoyageDomainService voyageDomainService)
        {
            if (FuelReportType == FuelReportTypes.EndOfVoyage &&
                voyageId.HasValue)
            {
                var givenVoyage = voyageDomainService.Get(voyageId.Value);

                if (!givenVoyage.EndDate.HasValue)
                    throw new BusinessRuleException("", "Voyage has not ended or its EndDate is not reported yet.");

                if (!(
                        givenVoyage.VesselInCompany.Id == this.VesselInCompanyId && //This is already checked in BR_FR2, but implemented due to Analysis indication.
                        (//Compare found voyage End Date with current fuel Report Date with the resolution of hour.
                        //TODO: value
                            EventDate.Date == givenVoyage.EndDate.Value.Date &&
                            EventDate.Hour == givenVoyage.EndDate.Value.Hour
                        )
                    )
                )
                {
                    throw new BusinessRuleException("BR_FR36", "Given Voyage is not match with Fuel Report Date and Vessel.");
                }
            }
        }
Ejemplo n.º 3
0
 //================================================================================
 private void validateVoyageExistance(Voyage voyage, IVoyageDomainService voyageDomainService)
 {
     if (voyage == null || voyageDomainService.Get(voyage.Id) == null)
         throw new BusinessRuleException("", "The voyage not found.");
 }