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)); }
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.")); }
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!")); }