public async Task HandleAsync(DeleteActivityRecord command) { var activityRecord = await _activityRecordsRepository.GetByIdAsync(command.Id); await _activityRecordsDeleter.DeleteAsync(activityRecord); await _lifeLogContext.SaveChangesAsync(); }
public async Task ChangeOrderAsync(Guid activityRecordId, ActivityRecordOrder newOrder) { var activityRecord = await _activityRecordsRepository.GetByIdAsync(activityRecordId); var oldOrder = activityRecord.Order; // VS bug? if (oldOrder == newOrder) { return; } var allDayRecordActivityRecords = await _activityRecordsRepository.BrowseAsync(new BrowseQuery(activityRecord.DayRecordId)); List <ActivityRecord> activityRecordsToChange = new List <ActivityRecord>(); if (newOrder < oldOrder) { activityRecordsToChange = allDayRecordActivityRecords.Where(dayRecord => dayRecord.Order >= newOrder && dayRecord.Order < oldOrder).ToList(); activityRecordsToChange.ForEach(activityRecord => activityRecord.SetNewOrder(activityRecord.Order.Greater())); } if (newOrder > oldOrder) { var maxOrder = allDayRecordActivityRecords.Max(activityRecord => activityRecord.Order); if (oldOrder == maxOrder) { return; } activityRecordsToChange = allDayRecordActivityRecords.Where(dayRecord => dayRecord.Order > oldOrder && dayRecord.Order <= newOrder).ToList(); activityRecordsToChange.ForEach(activityRecord => activityRecord.SetNewOrder(activityRecord.Order.Smaller())); } activityRecord.SetNewOrder(newOrder); }