public OffhireApplicationService( IOffhireFactory offhireFactory, IOffhireRepository offhireRepository, IUnitOfWorkScope unitOfWorkScope, IOffhireDomainService offhireDomainService, IEntityConfigurator<Offhire> offhireConfigurator, IVesselInCompanyDomainService vesselDomianService, IVoyageDomainService voyageDomianService, ICompanyDomainService companyDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService, ITankDomainService tankDomainService, IActivityLocationDomainService activityLocationDomainService, IOffhireManagementSystemDomainService offhireManagementSystemDomainService) { this.offhireFactory = offhireFactory; this.offhireRepository = offhireRepository; this.unitOfWorkScope = unitOfWorkScope; this.offhireDomainService = offhireDomainService; this.vesselDomianService = vesselDomianService; this.companyDomainService = companyDomainService; this.currencyDomainService = currencyDomainService; this.goodDomainService = goodDomainService; this.goodUnitDomainService = goodUnitDomainService; this.tankDomainService = tankDomainService; this.activityLocationDomainService = activityLocationDomainService; this.offhireManagementSystemDomainService = offhireManagementSystemDomainService; this.voyageDomianService = voyageDomianService; this.offhireDomainService.SetConfigurator(offhireConfigurator); }
public OffhireFactory( IEntityConfigurator<Offhire> offhireConfigurator, IWorkflowRepository workflowRepository, IOffhireDomainService offhireDomainService, IVesselInCompanyDomainService vesselDomainService, ICompanyDomainService companyDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService, IOffhireManagementSystemDomainService offhireManagementSystemDomainService, IVoyageDomainService voyageDomainService, IActivityLocationDomainService activityLocationDomainService) { this.offhireConfigurator = offhireConfigurator; this.workflowRepository = workflowRepository; this.offhireDomainService = offhireDomainService; this.vesselDomainService = vesselDomainService; this.companyDomainService = companyDomainService; this.tankDomainService = tankDomainService; this.currencyDomainService = currencyDomainService; this.goodDomainService = goodDomainService; this.goodUnitDomainService = goodUnitDomainService; this.offhireManagementSystemDomainService = offhireManagementSystemDomainService; this.voyageDomainService = voyageDomainService; this.activityLocationDomainService = activityLocationDomainService; }
public ApprovableOffhireDomainService( IOffhireDomainService offhireDomainService, IFinanceNotifier eventNotifier, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.offhireDomainService = offhireDomainService; this.eventNotifier = eventNotifier; this.tankDomainService = tankDomainService; this.currencyDomainService = currencyDomainService; this.goodDomainService = goodDomainService; this.goodUnitDomainService = goodUnitDomainService; }
public ApprovableScrapDomainService( IVesselInCompanyDomainService vesselDomainService, IInventoryOperationNotifier inventoryOperationNotifier, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.vesselDomainService = vesselDomainService; this.inventoryOperationNotifier = inventoryOperationNotifier; this.tankDomainService = tankDomainService; this.currencyDomainService = currencyDomainService; this.goodDomainService = goodDomainService; this.goodUnitDomainService = goodUnitDomainService; }
public OffhireManagementSystemDomainService( IRepository<ActivityLocation> activityLocationRepository, //IActivityLocationDomainService activityLocationDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService, ITankDomainService tankDomainService, IVesselInCompanyDomainService vesselDomainService, IRepository<Good> goodRepository, IRepository<GoodUnit> companyGoodUnitRepository) { //this.activityLocationDomainService = activityLocationDomainService; this.activityLocationRepository = activityLocationRepository; this.goodDomainService = goodDomainService; this.goodUnitDomainService = goodUnitDomainService; this.tankDomainService = tankDomainService; this.vesselDomainService = vesselDomainService; this.goodRepository = goodRepository; this.companyGoodUnitRepository = companyGoodUnitRepository; }
internal OffhireDetail(decimal quantity, decimal feeInVoucherCurrency, decimal feeInMainCurrency, Good good, GoodUnit unit, Tank tank, Offhire offhire, IOffhireDomainService offhireDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) : this() { this.validateOffhire(offhire, offhireDomainService); this.validateValues(quantity, feeInVoucherCurrency, feeInMainCurrency, good, unit, tank, offhire, offhireDomainService, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); this.Quantity = quantity; this.FeeInVoucherCurrency = feeInVoucherCurrency; this.FeeInMainCurrency = feeInMainCurrency; this.Good = good; this.Unit = unit; this.Tank = tank; this.Offhire = offhire; }
internal ScrapDetail(double rob, double price, Currency currency, Good good, GoodUnit unit, Tank tank, Scrap scrap, IScrapDomainService scrapDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) : this() { this.validateScrap(scrap, scrapDomainService); this.validateValues(rob, price, currency, good, unit, tank, scrap, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); this.ROB = rob; this.Price = price; this.Currency = currency; this.Good = good; this.Unit = unit; this.Tank = tank; this.Scrap = scrap; }
public ScrapFactory( IEntityConfigurator<Scrap> scrapConfigurator, IWorkflowRepository workflowRepository, IScrapDomainService scrapDomainService, IVesselInCompanyDomainService vesselDomainService, ICompanyDomainService companyDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.scrapConfigurator = scrapConfigurator; this.workflowRepository = workflowRepository; this.vesselDomainService = vesselDomainService; this.companyDomainService = companyDomainService; this.tankDomainService = tankDomainService; this.currencyDomainService = currencyDomainService; this.goodDomainService = goodDomainService; this.goodUnitDomainService = goodUnitDomainService; this.scrapDomainService = scrapDomainService; }
public ScrapApplicationService( IScrapFactory scrapFactory, IScrapRepository scrapRepository, IUnitOfWorkScope unitOfWorkScope, IScrapDomainService scrapDomainService, IVesselInCompanyDomainService vesselDomianService, ICompanyDomainService companyDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService, ITankDomainService tankDomainService) { this.scrapFactory = scrapFactory; this.scrapRepository = scrapRepository; this.unitOfWorkScope = unitOfWorkScope; this.scrapDomainService = scrapDomainService; this.vesselDomianService = vesselDomianService; this.companyDomainService = companyDomainService; this.currencyDomainService = currencyDomainService; this.goodDomainService = goodDomainService; this.goodUnitDomainService = goodUnitDomainService; this.tankDomainService = tankDomainService; }
//================================================================================ public void Validate(ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.validateValues(this.ROB, this.Price, this.Currency, this.Good, this.Unit, this.Tank, this.Scrap, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); }
public GoodUnitConvertorDomainService(IGoodDomainService goodDomainService,IGoodUnitDomainService goodUnitDomainService) { _goodDomainService = goodDomainService; this.goodUnitDomainService = goodUnitDomainService; }
//================================================================================ internal void Update(decimal feeInVoucherCurrency, decimal feeInMainCurrency, IOffhireDomainService offhireDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.validateValues(this.Quantity, feeInVoucherCurrency, feeInMainCurrency, this.Good, this.Unit, this.Tank, this.Offhire, offhireDomainService, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); this.FeeInVoucherCurrency = feeInVoucherCurrency; this.FeeInMainCurrency = feeInMainCurrency; }
//================================================================================ private void validateDetails(ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.ScrapDetails.ForEach(sd => sd.Validate(tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService)); }
//================================================================================ private void validateApproveAction(IVesselInCompanyDomainService vesselDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.validateVesselOwnedState(this.VesselInCompany, vesselDomainService); this.validateBeingSubmitRejectedIfIsInScrappedState(this.VesselInCompany, vesselDomainService); this.validateDetailsExistance(); this.validateDetails(tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); }
//================================================================================ private void validateApproveAction( IOffhireDomainService offhireDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.validateDetailsExistance(); this.validateDetails(offhireDomainService, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); }
//================================================================================ private void validateUnit(GoodUnit unit, IGoodUnitDomainService goodUnitDomainService) { if (unit == null) throw new BusinessRuleException("", "Unit must be selected."); if (goodUnitDomainService.Get(unit.Id) == null) throw new ObjectNotFound("Unit", unit.Id); }
//================================================================================ public void Submit(SubmittedState submittedState, IVesselInCompanyDomainService vesselDomainService, IInventoryOperationNotifier eventNotifier, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.validateToBeOpenOrSubmitRejected(); this.validateApproveAction(vesselDomainService, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); //Perform Submit operations. //foreach (var scrapDetail in this.ScrapDetails) //{ // scrapDetail.InventoryOperations.AddRange(eventNotifier.NotifySubmittingScrapDetail(scrapDetail)); //} if (this.isOpen.IsSatisfiedBy(this)) vesselDomainService.ScrapVessel(this.VesselInCompanyId); var invResult = eventNotifier.NotifySubmittingScrap(this); this.InventoryOperations.AddRange(invResult); this.setState(submittedState); }
//================================================================================ private void validateValues(decimal quantity, decimal feeInVoucherCurrency, decimal feeInMainCurrency, Good good, GoodUnit unit, Tank tank, Offhire offhire, IOffhireDomainService offhireDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.validateTank(tank, offhire, tankDomainService); this.validateGood(good, goodDomainService); this.validateGoodInTank(tank, good, offhire); this.validateGoodToBeUniqueInDetails(good, offhire); this.validateQuantity(quantity); this.validateFeeInMainCurrency(feeInMainCurrency); this.validateUnit(unit, goodUnitDomainService); this.validateGoodUnitInCompany(offhire.Introducer, good, unit); this.validateFeeInVoucherCurrency(feeInVoucherCurrency, offhire, good, offhireDomainService, currencyDomainService); }
//================================================================================ public void Submit(SubmittedState submittedState, IOffhireDomainService offhireDomainService, IFinanceNotifier eventNotifier, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.validateToBeOpenOrSubmitRejected(); this.validateApproveAction(offhireDomainService, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); //Perform Submit operations. eventNotifier.NotifySubmittingOffhire(this); this.setState(submittedState); }
//================================================================================ public OffhireDetail UpdateDetail( long offhireDetailId, decimal feeInVoucherCurrency, decimal feeInMainCurrency, IOffhireDomainService offhireDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { OffhireDetail offhireDetailToUpdate = this.findDetail(offhireDetailId); offhireDetailToUpdate.Update(feeInVoucherCurrency, feeInMainCurrency, offhireDomainService, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); return offhireDetailToUpdate; }
//================================================================================ private void validateDetails(IOffhireDomainService offhireDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.OffhireDetails.ForEach(sd => sd.Validate(offhireDomainService, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService)); }
//================================================================================ internal void Update(double rob, double price, Currency currency, Good good, GoodUnit unit, Tank tank, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.validateValues(rob, price, currency, good, unit, tank, this.Scrap, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); this.ROB = rob; this.Price = price; this.Currency = currency; this.Unit = unit; if (!this.isScrapSubmitRejected.IsSatisfiedBy(this.Scrap)) { this.Good = good; this.Tank = tank; } }
//================================================================================ public ScrapDetail UpdateDetail(long scrapDetailId, double rob, double price, Currency currency, Good good, GoodUnit unit, Tank tank, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { var scrapDetailToUpdate = this.findDetail(scrapDetailId); scrapDetailToUpdate.Update(rob, price, currency, good, unit, tank, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); return scrapDetailToUpdate; }
//================================================================================ public void Validate(IOffhireDomainService offhireDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.validateValues(this.Quantity, this.FeeInVoucherCurrency, this.FeeInMainCurrency, this.Good, this.Unit, this.Tank, this.Offhire, offhireDomainService, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); }
//================================================================================ public void ValidateMiddleApprove(IVesselInCompanyDomainService vesselDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.validateToBeOpen(); this.validateApproveAction(vesselDomainService, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); }
//================================================================================ private void validateValues(double rob, double price, Currency currency, Good good, GoodUnit unit, Tank tank, Scrap scrap, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.validateTank(tank, scrap, tankDomainService); this.validateGood(good, goodDomainService); this.validateGoodInTank(tank, good, scrap); this.validateGoodToBeUniqueInDetails(good, scrap); this.validateROB(rob); this.validatePrice(price); this.validateCurrency(currency, currencyDomainService); this.validateUnit(unit, goodUnitDomainService); this.validateGoodUnitInCompany(scrap.VesselInCompany.Company, good, unit); }
//================================================================================ public void ValidateMiddleApprove(IOffhireDomainService offhireDomainService, ITankDomainService tankDomainService, ICurrencyDomainService currencyDomainService, IGoodDomainService goodDomainService, IGoodUnitDomainService goodUnitDomainService) { this.validateToBeOpen(); this.validateApproveAction(offhireDomainService, tankDomainService, currencyDomainService, goodDomainService, goodUnitDomainService); }