using Admin.Interfaces.Commands; using Admin.Interfaces.ModelBuilders; using Admin.Models.FundGroup; using log4net; using System; using System.Collections.Generic; using Unity; namespace Admin.Controllers { public class FundGroupControllerDependencies : BaseControllerDependencies, IFundGroupControllerDependencies { public FundGroupControllerDependencies(ILog log , IModelBuilder detailsViewModelBuilder , [Dependency("Create")] IModelBuilder createViewModelBuilder , [Dependency("Edit")] IModelBuilder editViewModelBuilder , IModelBuilder, int> listViewModelBuilder , [Dependency("Create")] IModelCommand createCommand , [Dependency("Edit")] IModelCommand editCommand , [Dependency("FundGroup.Command.Delete")] IModelCommand deleteCommand ) : base(log) { DetailsViewModelBuilder = detailsViewModelBuilder ?? throw new ArgumentNullException("detailsViewModelBuilder"); CreateViewModelBuilder = createViewModelBuilder ?? throw new ArgumentNullException("createViewModelBuilder"); EditViewModelBuilder = editViewModelBuilder ?? throw new ArgumentNullException("editViewModelBuilder"); ListViewModelBuilder = listViewModelBuilder ?? throw new ArgumentNullException("listViewModelBuilder"); CreateCommand = createCommand ?? throw new ArgumentNullException("createCommand"); EditCommand = editCommand ?? throw new ArgumentNullException("editCommand"); DeleteCommand = deleteCommand ?? throw new ArgumentNullException("deleteCommand"); } public IModelBuilder DetailsViewModelBuilder { get; private set; } public IModelBuilder CreateViewModelBuilder { get; private set; } public IModelBuilder EditViewModelBuilder { get; private set; } public IModelBuilder, int> ListViewModelBuilder { get; private set; } public IModelCommand CreateCommand { get; private set; } public IModelCommand EditCommand { get; private set; } public IModelCommand DeleteCommand { get; private set; } } }