using Admin.Classes.ViewModelBuilders.AccountHolder; using Admin.Interfaces.Commands; using Admin.Interfaces.ModelBuilders; using Admin.Models.AccountHolder; using log4net; using System; using Unity; namespace Admin.Controllers { public class AccountHolderControllerDependencies : BaseControllerDependencies, IAccountHolderControllerDependencies { public AccountHolderControllerDependencies(ILog log , IModelBuilder listViewModelBuilder , IModelBuilder detailsViewModelBuilder , IModelBuilder editViewModelBuilder , [Dependency("Lookup")] IModelCommand lookupAccountHolderCommand , [Dependency("Create")] IModelCommand createCommand , [Dependency("Edit")] IModelCommand editCommand ) : base(log) { ListViewModelBuilder = listViewModelBuilder ?? throw new ArgumentNullException("listViewModelBuilder"); DetailsViewModelBuilder = detailsViewModelBuilder ?? throw new ArgumentNullException("detailsViewModelBuilder"); EditViewModelBuilder = editViewModelBuilder ?? throw new ArgumentNullException("editViewModelBuilder"); LookupAccountHolderCommand = lookupAccountHolderCommand ?? throw new ArgumentNullException("lookupAccountHolderCommand"); CreateCommand = createCommand ?? throw new ArgumentNullException("createCommand"); EditCommand = editCommand ?? throw new ArgumentNullException("editCommand"); } public IModelBuilder ListViewModelBuilder { get; private set; } public IModelBuilder DetailsViewModelBuilder { get; set; } public IModelBuilder EditViewModelBuilder { get; set; } public IModelCommand LookupAccountHolderCommand { get; private set; } public IModelCommand CreateCommand { get; private set; } public IModelCommand EditCommand { get; private set; } } }