public async Task <Guid> InsertAsync(WorkExperience workExperience)
        {
            var entity = new WorkExperienceEntity
            {
                CompanyName = workExperience.CompanyName,
                Description = workExperience.Description,
                StartWork   = workExperience.StartWork?.ToUnixTimeMilliseconds(),
                FinishWork  = workExperience.FinishWork?.ToUnixTimeMilliseconds(),
                ProfileId   = workExperience.ProfileId
            };

            await context.WorkExperience.InsertOneAsync(entity);

            return(entity.Id);
        }
        private static WorkExperience ToDomain(WorkExperienceEntity entity)
        {
            DateTimeOffset?startWork  = null;
            DateTimeOffset?finishWork = null;

            if (entity.StartWork.HasValue)
            {
                startWork = DateTimeOffset.FromUnixTimeMilliseconds(entity.StartWork.Value);
            }

            if (entity.FinishWork.HasValue)
            {
                finishWork = DateTimeOffset.FromUnixTimeMilliseconds(entity.FinishWork.Value);
            }

            return(new WorkExperience(
                       entity.Id,
                       entity.CompanyName,
                       entity.Description,
                       startWork,
                       finishWork,
                       entity.ProfileId));
        }