public async Task CreateFieldValueVariant(CreateFieldValueVariantRequest request)
        {
            var field = await ProjectRepository.GetProjectField(request.ProjectId, request.ProjectFieldId);

            field.RequestMasterAccess(CurrentUserId, acl => acl.CanChangeFields);

            CreateFieldValueVariantImpl(request, field);

            await UnitOfWork.SaveChangesAsync();
        }
        private void CreateFieldValueVariantImpl(CreateFieldValueVariantRequest request, ProjectField field)
        {
            var fieldVariant = new ProjectFieldDropdownValue()
            {
                WasEverUsed    = false,
                ProjectId      = field.ProjectId,
                ProjectFieldId = field.ProjectFieldId,
                Project        = field.Project,
                ProjectField   = field,
            };

            SetFieldVariantPropsFromRequest(request, fieldVariant);

            field.DropdownValues.Add(fieldVariant);
        }