public async Task <IActionResult> atualizarAvaliacaoMedia(int idDogW)
        {
            // Usuario usuario = await _context.Usuario.Include(sd => sd.ServicoDogWalker)
            // .FirstOrDefaultAsync(id => id.Id == PegarIdUsuarioToken());

            //Pega o número de avaliações
            int avaliacoes = await _context.UsuarioAvaliacao
                             .Where(dog => dog.UsuarioId == idDogW)
                             .CountAsync();

            //Soma todas as notas
            Decimal somaAvaliacoes = await _context.UsuarioAvaliacao.Where(usu => usu.UsuarioId == 6)
                                     .SumAsync(nota => nota.Avaliacao.Nota);

            //Faz o cáluclo da média
            Decimal media = somaAvaliacoes / avaliacoes;

            //Busca as informações do serviço do dog walker
            InformacoesServicoDogWalker infoServDogW = await _context.ServicoDogWalker
                                                       .FirstOrDefaultAsync(dogw => dogw.DogWalkerId == idDogW);

            //atribuui a média ao dog walker
            infoServDogW.AvaliacaoMedia = media;

            //atualiza
            _context.ServicoDogWalker.Update(infoServDogW);
            await _context.SaveChangesAsync();

            return(Ok(infoServDogW));
        }
예제 #2
0
        public async Task <IActionResult> atualizarServicoDogWalker(InformacoesServicoDogWalker novoServDogW)
        {
            Usuario dogWalker = await _context.Usuario.FirstOrDefaultAsync(i => i.Id == PegarIdUsuarioToken());

            if (dogWalker.TipoConta == TipoConta.Proprietario)
            {
                return(BadRequest("Um proprietário não tem permissão para realizar esta ação."));
            }

            InformacoesServicoDogWalker infoServDogW = await _context.ServicoDogWalker
                                                       .FirstOrDefaultAsync(dogW => dogW.DogWalkerId == dogWalker.Id);

            infoServDogW.Sobre        = novoServDogW.Sobre;
            infoServDogW.ValorServico = novoServDogW.ValorServico;
            infoServDogW.AceitaCartao = novoServDogW.AceitaCartao;
            infoServDogW.Preferencias = novoServDogW.Preferencias;

            _context.ServicoDogWalker.Update(infoServDogW);
            await _context.SaveChangesAsync();

            return(Ok("Informações de Serviço do Dog Walker atualizadas."));
        }
예제 #3
0
        public async Task <IActionResult> adcInformacaoServicoDogW(InformacoesServicoDogWalker novoInformacaoServDogW)
        {
            //Busca o usuário
            Usuario dogW = await _context.Usuario.FirstOrDefaultAsync(dogW => dogW.Id == PegarIdUsuarioToken());

            //Verifica se o usuário é um proprietário. Se for, resultará em uma BadRequest
            if (dogW.TipoConta == TipoConta.Proprietario)
            {
                return(BadRequest("As informações de servico não podem ser inseridas para um Proprietario"));
            }

            //Associa o Dog Walker às informações
            novoInformacaoServDogW.DogWalker   = dogW;
            novoInformacaoServDogW.DogWalkerId = dogW.Id;

            await _context.ServicoDogWalker.AddAsync(novoInformacaoServDogW);

            await _context.SaveChangesAsync();


            return(Ok("Informações de serviço do Dog Walker inseridas!"));
        }