public async Task <EditorSettingDTO> UpdateEditorSetting(EditorSettingDTO editorSettingstUpdateDTO) { var editorSettingstUpdate = _mapper.Map <EditorSetting>(editorSettingstUpdateDTO); var targetEditorSetting = await _context.EditorSettings.SingleOrDefaultAsync(p => p.Id == editorSettingstUpdate.Id); if (targetEditorSetting == null) { _logger.LogWarning(LoggingEvents.HaveException, $"update project not found"); throw new NotFoundException(nameof(targetEditorSetting), editorSettingstUpdate.Id); } targetEditorSetting.FontSize = editorSettingstUpdateDTO.FontSize; targetEditorSetting.ScrollBeyondLastLine = editorSettingstUpdate.ScrollBeyondLastLine; targetEditorSetting.CursorStyle = editorSettingstUpdateDTO.CursorStyle; targetEditorSetting.LineHeight = editorSettingstUpdateDTO.LineHeight; targetEditorSetting.LineNumbers = editorSettingstUpdateDTO.LineNumbers; targetEditorSetting.RoundedSelection = editorSettingstUpdateDTO.RoundedSelection; targetEditorSetting.TabSize = editorSettingstUpdateDTO.TabSize; targetEditorSetting.Theme = editorSettingstUpdateDTO.Theme; targetEditorSetting.ReadOnly = editorSettingstUpdateDTO.ReadOnly; _context.EditorSettings.Update(targetEditorSetting); await _context.SaveChangesAsync(); return(await GetEditorSettingById(targetEditorSetting.Id)); }
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 <EditorSettingDTO> UpdateAllProject(EditorSettingDTO editorSettingstUpdateDTO, int userId) { var projects = await _context.Projects .Where(pr => pr.AuthorId == userId) .Include(x => x.Author) .Include(x => x.EditorProjectSettings) .ToListAsync(); var author = await _context.Users .FirstOrDefaultAsync(item => item.Id == userId); foreach (var project in projects) { var editorSettings = await _context.EditorSettings .FirstOrDefaultAsync(item => item.Id == project.EditorProjectSettingsId); if (editorSettings == null) { var neweditorSettings = new EditorSetting { CursorStyle = editorSettingstUpdateDTO.CursorStyle, FontSize = editorSettingstUpdateDTO.FontSize, LineHeight = editorSettingstUpdateDTO.LineHeight, LineNumbers = editorSettingstUpdateDTO.LineNumbers, RoundedSelection = editorSettingstUpdateDTO.RoundedSelection, ScrollBeyondLastLine = editorSettingstUpdateDTO.ScrollBeyondLastLine, TabSize = editorSettingstUpdateDTO.TabSize, Theme = editorSettingstUpdateDTO.Theme, ReadOnly = editorSettingstUpdateDTO.ReadOnly }; editorSettings = neweditorSettings; await _context.EditorSettings.AddAsync(editorSettings); await _context.SaveChangesAsync(); project.EditorProjectSettingsId = editorSettings.Id; _context.Projects.Update(project); await _context.SaveChangesAsync(); } else if (!HaveTheSameEditorSettings(editorSettingstUpdateDTO, editorSettings)) { editorSettingstUpdateDTO.Id = editorSettings.Id; await UpdateEditorSetting(editorSettingstUpdateDTO); } } var userEditorSettings = await _context.EditorSettings .FirstOrDefaultAsync(item => item.Id == author.EditorSettingsId); editorSettingstUpdateDTO.Id = userEditorSettings.Id; await UpdateEditorSetting(editorSettingstUpdateDTO); await _context.SaveChangesAsync(); return(editorSettingstUpdateDTO); }
public async Task <EditorSettingDTO> CreateEditorSettings(EditorSettingDTO editorSettinsCreateDto) { var editorSettins = _mapper.Map <EditorSetting>(editorSettinsCreateDto); await _context.EditorSettings.AddAsync(editorSettins); await _context.SaveChangesAsync(); editorSettinsCreateDto = _mapper.Map <EditorSettingDTO>(editorSettins); return(editorSettinsCreateDto); }
private bool HaveTheSameEditorSettings(EditorSettingDTO first, EditorSetting second) { if (first.LineHeight != second.LineHeight || first.LineNumbers != second.LineNumbers || first.RoundedSelection != second.RoundedSelection || first.ScrollBeyondLastLine != second.ScrollBeyondLastLine || first.TabSize != second.TabSize || first.Theme != second.Theme) { return(false); } return(true); }
public async Task <ActionResult <EditorSettingDTO> > UpdateAllUserProject(EditorSettingDTO editorSettingDTO, int userId) { return(Ok(await _editorSetiingsService.UpdateAllProject(editorSettingDTO, userId))); }
public async Task <ActionResult <EditorSettingDTO> > Update(EditorSettingDTO editorSettingDTO) { return(Ok(await _editorSetiingsService.UpdateEditorSetting(editorSettingDTO))); }