public async Task <int> CreateProject(ProjectCreateDTO projectCreateDto, int userId) { var project = _mapper.Map <Project>(projectCreateDto); var user = await _userService.GetUserDetailsById(userId); project.AuthorId = userId; project.CreatedAt = DateTime.Now; project.AccessModifier = projectCreateDto.Access; var userEditorSettings = (await _userService.GetUserDetailsById(userId)).EditorSettings; var newProjectEditorSetting = new EditorSettingDTO { CursorStyle = userEditorSettings.CursorStyle, FontSize = userEditorSettings.FontSize, ScrollBeyondLastLine = userEditorSettings.ScrollBeyondLastLine, RoundedSelection = userEditorSettings.RoundedSelection, TabSize = userEditorSettings.TabSize, LineHeight = userEditorSettings.LineHeight, LineNumbers = userEditorSettings.LineNumbers, ReadOnly = userEditorSettings.ReadOnly, Theme = userEditorSettings.Theme, Language = (projectCreateDto.Language.ToString()).ToLower() }; var createDTO = await _editorSettingService.CreateEditorSettings(newProjectEditorSetting); project.EditorProjectSettingsId = _mapper.Map <EditorSetting>(createDTO).Id; _context.Projects.Add(project); await _context.SaveChangesAsync(); _logger.LogInformation($"project created {project.Name}"); return(project.Id); }
public async Task <UserDTO> Update(UserDetailsDTO userDTO) { var targetUser = await GetUserByIdInternal(userDTO.Id); if (targetUser == null) { _logger.LogWarning(LoggingEvents.HaveException, $"update user not found"); throw new NotFoundException(nameof(targetUser), userDTO.Id); } if (targetUser.EditorSettings == null) { targetUser.EditorSettingsId = (await _editorSettingService.CreateEditorSettings(userDTO.EditorSettings)).Id; } _context.Users.Update(targetUser); await _context.SaveChangesAsync(); return(await GetUserById(userDTO.Id)); }