//public InvoiceFacadeService() //{ // try // { // ServiceLocator.Current.GetInstance<IInvoiceDomainService>(); // ServiceLocator.Current.GetInstance<IInvoiceApplicationService>(); // ServiceLocator.Current.GetInstance<IInvoiceToDtoMapper>(); // ServiceLocator.Current.GetInstance<IInvoiceItemToDtoMapper>(); // ServiceLocator.Current.GetInstance<IInvoiceRepository>(); // ServiceLocator.Current.GetInstance<IGoodUnitConvertorDomainService>(); // ServiceLocator.Current.GetInstance<IMainUnitVlaueTomainUnitVlaueDtoMapper>(); // ServiceLocator.Current.GetInstance<IUnitOfWorkScope>(); // ServiceLocator.Current.GetInstance<IInvoiceItemDomainService>(); // ServiceLocator.Current.GetInstance<IEffectiveFactorMapper>(); // ServiceLocator.Current.GetInstance<IInvoiceAdditionalPriceDomainService>(); // } // catch (Exception ex) // { // throw; // } //} public InvoiceFacadeService(IInvoiceDomainService invoiceDomainService, IInvoiceApplicationService invoiceAppService, IInvoiceToDtoMapper invoiceDtoMapper, IInvoiceItemToDtoMapper itemToDtoMapper, IInvoiceRepository invoiceRepository, IGoodUnitConvertorDomainService goodUnitConvertorDomainService, IMainUnitVlaueTomainUnitVlaueDtoMapper mainUnitVlaueTomainUnitVlaueDtoMapper, IInvoiceItemDomainService invoiceItemDomainService, IEffectiveFactorMapper effectiveFactorMapper, IInvoiceAdditionalPriceDomainService invoiceAdditionalPriceDomainService, IBalanceDomainService balanceDomainService ) { this.invoiceDomainService = invoiceDomainService; this.invoiceRepository = invoiceRepository; this.goodUnitConvertorDomainService = goodUnitConvertorDomainService; this.mainUnitVlaueTomainUnitVlaueDtoMapper = mainUnitVlaueTomainUnitVlaueDtoMapper; this.invoiceItemDomainService = invoiceItemDomainService; this.effectiveFactorMapper = effectiveFactorMapper; this.invoiceAdditionalPriceDomainService = invoiceAdditionalPriceDomainService; this.balanceDomainService = balanceDomainService; this.invoiceAppService = invoiceAppService; this.invoiceDtoMapper = invoiceDtoMapper; this.itemToDtoMapper = itemToDtoMapper; }
public Invoice(InvoiceTypes invoiceType, string invoiceNumber, Company owner, DateTime invoiceDate, DivisionMethods divisionMethod, AccountingTypes accountType, Invoice invoiceRefrence, List<Order> orderRefrences, Currency currency, bool isCreditor, Company transporter, Company supplier, string description, List<InvoiceItem> list, List<InvoiceAdditionalPrice> invoiceAdditionalPriceList, IEntityConfigurator<Invoice> invoiceConfigurator, IInvoiceDomainService invoiceDomainService, IInvoiceItemDomainService invoiceItemDomainService, IGoodUnitConvertorDomainService goodUnitConvertorDomainService, IInvoiceAdditionalPriceDomainService invoiceAdditionalPriceDomainService, IBalanceDomainService balanceDomainService) : this() { // TODO: Complete member initialization InvoiceType = invoiceType; InvoiceNumber = invoiceNumber; Owner = owner; InvoiceDate = invoiceDate; DivisionMethod = divisionMethod; AccountingType = accountType; InvoiceRefrence = invoiceRefrence; OrderRefrences = orderRefrences; Currency = currency; IsCreditor = isCreditor; Transporter = transporter; Supplier = supplier; TransporterId = Transporter == null ? (long?)null : Transporter.Id; SupplierId = Supplier == null ? (long?)null : Supplier.Id; InvoiceRefrenceId = InvoiceRefrence == null ? (long?)null : InvoiceRefrence.Id; Description = description; UpdateInvoiceItems(list, null, balanceDomainService); UpdateInvoiceAdditionalPrice(invoiceAdditionalPriceList, null); this.invoiceConfigurator = invoiceConfigurator; this.invoiceAdditionalPriceDomainService = invoiceAdditionalPriceDomainService; invoiceConfigurator.Configure(this); invoiceBaseType.ValidateType(this); checkInvoiceNumberToBeUnique(invoiceDomainService); CheckInvoiceHaveInvoiceItem(); invoiceBaseType.CheckInvoiceItemValidateQuantityAndRefrence(this, invoiceItemDomainService, goodUnitConvertorDomainService); invoiceAdditionalPriceDomainService.CalculateAdditionalPrice(this); }
public InvoiceFactory( IEntityConfigurator<Invoice> invoiceConfigurator, IWorkflowRepository workflowRepository, IInvoiceDomainService invoiceDomainService, IInvoiceItemDomainService invoiceItemDomainService, IGoodUnitConvertorDomainService goodUnitConvertorDomainService, IInvoiceAdditionalPriceDomainService invoiceAdditionalPriceDomainService, IBalanceDomainService balanceDomainService) { this.invoiceConfigurator = invoiceConfigurator; this.workflowRepository = workflowRepository; this.invoiceDomainService = invoiceDomainService; this.invoiceItemDomainService = invoiceItemDomainService; this.goodUnitConvertorDomainService = goodUnitConvertorDomainService; this.invoiceAdditionalPriceDomainService = invoiceAdditionalPriceDomainService; this.balanceDomainService = balanceDomainService; }
public InvoiceApplicationService(IInvoiceRepository invoiceRepository, IUnitOfWorkScope unitOfWorkScope, // IGoodPartyAssignmentDomainService goodPartyAssignmentDomainService, //IUserRepository userRepository, IVesselInCompanyDomainService vesselDomainService, IGoodDomainService goodDomainService, IInvoiceFactory invoiceFactory, ICompanyDomainService companyDomainService, IInvoiceDomainService invoiceDomainService, IInvoiceItemDomainService invoiceItemDomainService, IEffectiveFactorDomainService effectiveFactorDomainService, ICompanyRepository companyRepository //,IApprovableDomainService approvableDomainService , IOrderRepository orderRepository, IGoodRepository goodRepository, ICurrencyDomainService currencyDomainService, IInvoiceAdditionalPriceDomainService invoiceAdditionalPriceDomainService, IGoodUnitConvertorDomainService goodUnitConvertorDomainService, IBalanceDomainService balanceDomainService, IEntityConfigurator<Invoice> invoiceConfigurator) { this.invoiceRepository = invoiceRepository; this.vesselDomainService = vesselDomainService; this.goodDomainService = goodDomainService; this.invoiceFactory = invoiceFactory; this.unitOfWorkScope = unitOfWorkScope; this.companyDomainService = companyDomainService; this.invoiceDomainService = invoiceDomainService; this.invoiceItemDomainService = invoiceItemDomainService; this.effectiveFactorDomainService = effectiveFactorDomainService; this.companyRepository = companyRepository; this.orderRepository = orderRepository; this.goodRepository = goodRepository; this.currencyDomainService = currencyDomainService; this.invoiceAdditionalPriceDomainService = invoiceAdditionalPriceDomainService; this.goodUnitConvertorDomainService = goodUnitConvertorDomainService; this.balanceDomainService = balanceDomainService; this.invoiceConfigurator = invoiceConfigurator; // _approvableDomainService = approvableDomainService; // _goodPartyAssignmentDomainService = goodPartyAssignmentDomainService; }
private void UpdateInvoiceAdditionalPrice(List<InvoiceAdditionalPrice> additionalPrice, IInvoiceAdditionalPriceDomainService invoiceAdditionalPriceDomainService) { if (AdditionalPrices != null) { var list = this.AdditionalPrices.ToList(); foreach (var item in list) { invoiceAdditionalPriceDomainService.DeleteInvoiceAdditionalPriceItem(item); } } if (additionalPrice.GroupBy(c => c.EffectiveFactorId).Count() != additionalPrice.Count) throw new BusinessRuleException("", "duplicate Additional Price Item Exception"); AdditionalPrices = additionalPrice; }
public void Update(string invoiceNumber, DateTime invoiceDate, DivisionMethods divisionMethod, Invoice invoiceRefrence, List<Order> orderRefrences, Currency currency, bool isCreditor, Company transporter, Company supplier, string description, List<InvoiceItem> invoiceItems, List<InvoiceAdditionalPrice> invoiceAdditionalPriceList, IInvoiceDomainService invoiceDomainService, IInvoiceItemDomainService invoiceItemDomainService, IGoodUnitConvertorDomainService goodUnitConvertorDomainService, IInvoiceAdditionalPriceDomainService invoiceAdditionalPriceDomainService, IBalanceDomainService balanceDomainService) { InvoiceNumber = invoiceNumber; InvoiceDate = invoiceDate; DivisionMethod = divisionMethod; InvoiceRefrence = invoiceRefrence; OrderRefrences = orderRefrences; Currency = currency; Transporter = transporter; Supplier = supplier; Description = description; IsCreditor = isCreditor; UpdateInvoiceItems(invoiceItems, invoiceItemDomainService, balanceDomainService); UpdateInvoiceAdditionalPrice(invoiceAdditionalPriceList, invoiceAdditionalPriceDomainService); TransporterId = Transporter == null ? (long?)null : Transporter.Id; SupplierId = Supplier == null ? (long?)null : Supplier.Id; InvoiceRefrenceId = InvoiceRefrence == null ? (long?)null : InvoiceRefrence.Id; // this.invoiceConfigurator = invoiceConfigurator; // invoiceConfigurator.Configure(this); checkInvoiceNumberToBeUnique(invoiceDomainService); CheckInvoiceHaveInvoiceItem(); invoiceBaseType.CheckInvoiceItemValidateQuantityAndRefrence(this, invoiceItemDomainService, goodUnitConvertorDomainService); invoiceBaseType.ValidateType(this); invoiceAdditionalPriceDomainService.CalculateAdditionalPrice(this); ApproveWorkFlows = new List<InvoiceWorkflowLog>(); }