public async Task <Unit> Handle(SaveProfileCommand request, CancellationToken cancellationToken) { var profiles = await _profilesRepository.GetProfiles(); var profile = profiles.FirstOrDefault(p => p.Id == request.Profile.Id); if (profile == null) { profile = request.Profile; profile.Id = Guid.NewGuid(); profiles.Add(profile); } else { Console.WriteLine("Mapping"); profile.Map(request.Profile); } profiles.UpdateIsSelected(profile); Console.WriteLine("Save profiles"); await _profilesRepository.SaveProfiles(profiles); return(Unit.Value); }
public async Task <Unit> Handle(SelectProfileCommand request, CancellationToken cancellationToken) { var profiles = await _profilesRepository.GetProfiles(); var profile = profiles.FirstOrDefault(p => p.Id == request.ProfileId); if (profile == null) { return(Unit.Value); } profile.IsSelected = true; profiles.UpdateIsSelected(profile); await _profilesRepository.SaveProfiles(profiles); return(Unit.Value); }
public async Task <Unit> Handle(DeleteProfileCommand request, CancellationToken cancellationToken) { var profiles = await _profilesRepository.GetProfiles(); if (request.ProfileId == Guid.Empty) { // Not supported. return(Unit.Value); } var profile = profiles.FirstOrDefault(p => p.Id == request.ProfileId); if (profile == null) { return(Unit.Value); } profiles.Remove(profile); profiles.UpdateIsSelected(); await _profilesRepository.SaveProfiles(profiles); return(Unit.Value); }