Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
 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)));
 }