using Admin.Classes.Commands.ImportProcessingRule; using Admin.Interfaces.Commands; using Admin.Interfaces.ModelBuilders; using Admin.Models.ImportProcessingRule; using log4net; using System; using Unity; namespace Admin.Controllers { public class ImportProcessingRuleControllerDependencies : BaseControllerDependencies, IImportProcessingRuleControllerDependencies { public ImportProcessingRuleControllerDependencies( ILog log , IModelBuilder detailsViewModelBuilder , IModelBuilder editViewModelBuilder , IModelBuilder listViewModelBuilder , [Dependency("Create")] IModelCommand createCommand , [Dependency("Edit")] IModelCommand editCommand , IModelCommand changeStatusCommand) : base(log) { DetailsViewModelBuilder = detailsViewModelBuilder ?? throw new ArgumentNullException("detailsViewModelBuilder"); EditViewModelBuilder = editViewModelBuilder ?? throw new ArgumentNullException("editViewModelBuilder"); ListViewModelBuilder = listViewModelBuilder ?? throw new ArgumentNullException("listViewModelBuilder"); CreateCommand = createCommand ?? throw new ArgumentNullException("createCommand"); EditCommand = editCommand ?? throw new ArgumentNullException("editCommand"); ChangeStatusCommand = changeStatusCommand ?? throw new ArgumentNullException("changeStatusCommand"); } #region ModelBuiders public IModelBuilder DetailsViewModelBuilder { get; private set; } public IModelBuilder EditViewModelBuilder { get; private set; } public IModelBuilder ListViewModelBuilder { get; private set; } #endregion #region ModelCommands public IModelCommand CreateCommand { get; private set; } public IModelCommand EditCommand { get; private set; } public IModelCommand ChangeStatusCommand { get; private set; } #endregion } }