/// <summary> /// Initializes a new instance of the <see cref="ContractService" /> class. /// </summary> /// <param name="repository">Contracts repository.</param> /// <param name="mapper">Automapper instance.</param> /// <param name="uriService">The uri service.</param> /// <param name="logger">The logger.</param> /// <param name="auditService">The audit service used for auditing.</param> /// <param name="semaphoreOnEntity">The semaphore to use for locking.</param> /// <param name="documentService">The document management Contract Service.</param> /// <param name="contractValidator">The contract validator.</param> /// <param name="mediator">The mediator.</param> /// <param name="contractDocumentService">The blob container used to communicate with azure storage.</param> public ContractService( IContractRepository repository, IMapper mapper, IUriService uriService, ILoggerAdapter <ContractService> logger, IAuditService auditService, ISemaphoreOnEntity <string> semaphoreOnEntity, IDocumentManagementContractService documentService, IContractValidationService contractValidator, IMediator mediator, IContractDocumentService contractDocumentService) { _repository = repository; _mapper = mapper; _uriService = uriService; _logger = logger; _auditService = auditService; _semaphoreOnEntity = semaphoreOnEntity; _documentService = documentService; _contractValidator = contractValidator; _mediator = mediator; _contractDocumentService = contractDocumentService; }