public async Task <SDI_ApplicationDto> CreateApplication(SDI_ApplicationDto input)
        {
            CheckCreatePermission();

            var application       = ObjectMapper.Map <SDI_Application>(input);
            var resultApplication = await _sdiApplicationRepository.InsertAsync(application);

            await CurrentUnitOfWork.SaveChangesAsync();

            return(ObjectMapper.Map <SDI_ApplicationDto>(resultApplication));
        }
        public async Task <SDI_ApplicationDto> UpdateApplication(SDI_ApplicationDto input)
        {
            CheckUpdatePermission();

            var application = await _sdiApplicationRepository.GetAsync(input.Id);

            ObjectMapper.Map(input, application);

            await _sdiApplicationRepository.UpdateAsync(application);

            await CurrentUnitOfWork.SaveChangesAsync();

            return(ObjectMapper.Map <SDI_ApplicationDto>(application));
        }