public async Task <IActionResult> Preferencias([FromBody] PreferenciaVM model) { model.Id = _user.GetUserId(); await _clienteAppService.AtualizaPreferenciasAsync(model); return(Response()); }
public async Task AtualizaPreferenciasAsync(PreferenciaVM model) { //var preferencia = _mapper.Map<Preferencia>(model); //_clienteRepository.Update(preferencia); //var count = _clienteRepository.SaveChangesAsync(); var preferencia = await _clienteRepository.GetPreferenciaAsync(model.Id); //if (preferencia == null) //{ // preferencia = new Preferencia() {PrefereGeneros = new List<PreferenciaGenero>() }; // //_clienteRepository.db //} preferencia.Distancia = model.Distancia; preferencia.IdadeMinima = model.IdadeMinima; preferencia.IdadeMaxima = model.IdadeMaxima; preferencia.PrecoMaximo = model.PrecoMaximo; preferencia.PrecoMinimo = model.PrecoMinimo; if (model.Mulher && !preferencia.PrefereGeneros.Any(q => q.Genero == EnumGenero.Mulher)) { preferencia.PrefereGeneros.Add(new PreferenciaGenero() { Genero = EnumGenero.Mulher, PreferenciaId = preferencia.Id }); } if (!model.Mulher && preferencia.PrefereGeneros.Any(q => q.Genero == EnumGenero.Mulher)) { var r = preferencia.PrefereGeneros.Single(q => q.Genero == EnumGenero.Mulher); preferencia.PrefereGeneros.Remove(r); } if (model.Homem && !preferencia.PrefereGeneros.Any(q => q.Genero == EnumGenero.Homem)) { preferencia.PrefereGeneros.Add(new PreferenciaGenero() { Genero = EnumGenero.Homem, PreferenciaId = preferencia.Id }); } if (!model.Homem && preferencia.PrefereGeneros.Any(q => q.Genero == EnumGenero.Homem)) { var r = preferencia.PrefereGeneros.Single(q => q.Genero == EnumGenero.Homem); preferencia.PrefereGeneros.Remove(r); } if (model.Casal && !preferencia.PrefereGeneros.Any(q => q.Genero == EnumGenero.Casal)) { preferencia.PrefereGeneros.Add(new PreferenciaGenero() { Genero = EnumGenero.Casal, PreferenciaId = preferencia.Id }); } if (!model.Casal && preferencia.PrefereGeneros.Any(q => q.Genero == EnumGenero.Casal)) { var r = preferencia.PrefereGeneros.Single(q => q.Genero == EnumGenero.Casal); preferencia.PrefereGeneros.Remove(r); } if (model.Trans && !preferencia.PrefereGeneros.Any(q => q.Genero == EnumGenero.Trans)) { preferencia.PrefereGeneros.Add(new PreferenciaGenero() { Genero = EnumGenero.Trans, PreferenciaId = preferencia.Id }); } if (!model.Trans && preferencia.PrefereGeneros.Any(q => q.Genero == EnumGenero.Trans)) { var r = preferencia.PrefereGeneros.Single(q => q.Genero == EnumGenero.Trans); preferencia.PrefereGeneros.Remove(r); } await _clienteRepository.SaveChangesAsync(); }