public async Task <string> CreateAsync(TeacherDto teacher)
        {
            var result = teachersRepository.Add(teacher.To <Teacher>());

            await teachersRepository.SaveChangesAsync();

            return(result.Id);
        }
        public async Task <string> UpdateAsync(TeacherDto teacher)
        {
            ThrowHelper.ThrowIfNull(teacher, nameof(teacher));
            ThrowHelper.ThrowIfNullEmptyOrWhitespace(teacher.Id, nameof(teacher.Id));

            var entityForUpdate = teacher.To <Teacher>();

            teachersRepository.Update(entityForUpdate);

            await teachersRepository.SaveChangesAsync();

            return(entityForUpdate.Id);
        }