コード例 #1
0
        public async Task <IActionResult> Preferencias([FromBody] PreferenciaVM model)
        {
            model.Id = _user.GetUserId();
            await _clienteAppService.AtualizaPreferenciasAsync(model);

            return(Response());
        }
コード例 #2
0
        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();
        }