public async Task SwitchColumns(int prevPosition, ColumnViewDTO column) { int currentPosition = column.SortBy; if (currentPosition < prevPosition) { var result = await _columnRepository .GetAllWithSkip(column.BoardId, currentPosition); for (int i = 0; i < result.Count; i++) { if (result[i].SortBy < prevPosition) { result[i].SortBy++; await _columnRepository.Update(result[i]); } } } else { var result = await _columnRepository .GetAllWithSkip(column.BoardId, currentPosition); result = result.Take(currentPosition - prevPosition).ToList(); for (int i = 0; i < result.Count; i++) { result[i].SortBy--; await _columnRepository.Update(result[i]); } } }
public async Task <ActionResult <ColumnViewDTO> > MoveColumn([FromBody] ColumnViewDTO column) { Guid userId = GetUserId(); var moveResult = await _columnService.Move(column, userId); return(Ok(moveResult)); }
public async Task <ColumnViewDTO> Create(ColumnViewDTO column, Guid userId) { var validationResult = _columnViewValidator.Validate(column); if (!validationResult.IsValid) { throw new Exception(validationResult.ToString()); } else { var newColumn = _mapper.Map <ColumnViewDTO, Column>(column); var createResult = await _columnRepository.Create(newColumn); var history = await _historyService.CreateHistoryObject( UserActions.CreateColumn, userId, column.Title, null, null, column.BoardId ); var mapperResult = _mapper.Map <Column, ColumnViewDTO>(createResult); return(mapperResult); } }
public async Task <ActionResult <ColumnViewDTO> > CreateNewColumn([FromBody] ColumnViewDTO column) { Guid userId = GetUserId(); var createResult = await _columnService.Create(column, userId); return(Ok(createResult)); }
public async Task <ColumnViewDTO> Move(ColumnViewDTO movedColumn, Guid userId) { var validationResult = _columnViewValidator.Validate(movedColumn); if (!validationResult.IsValid) { throw new Exception(validationResult.ToString()); } else { Column updatedColumn = await _columnRepository.GetOne(movedColumn.Id); await _columnsSortService.SwitchColumns(updatedColumn.SortBy, movedColumn); updatedColumn.SortBy = movedColumn.SortBy; updatedColumn.UpdatedDate = DateTime.Now; var updateResult = await _columnRepository.Update(updatedColumn); var history = await _historyService.CreateHistoryObject( UserActions.MoveColumn, userId, movedColumn.Title, null, null, movedColumn.BoardId ); var mapperResult = _mapper.Map <Column, ColumnViewDTO>(updateResult); return(mapperResult); } }