public IActionResult Update(long id, [FromBody] NetPromoterScore item) { if (item == null || item.Id != id) { return(BadRequest()); } var record = _context.NetPromoterScores.FirstOrDefault(t => t.Id == id); if (record == null) { return(NotFound()); } record.BrandId = item.BrandId; record.ConsumerProfileId = item.ConsumerProfileId; record.Respondent = item.Respondent; record.Year = item.Year; record.Month = item.Month; record.RecomendationQuestion = item.RecomendationQuestion; record.NumberOfPositiveResponds = item.NumberOfPositiveResponds; record.NumberOfNegativeResponds = item.NumberOfNegativeResponds; record.NumberOfNeutralResponds = item.NumberOfNeutralResponds; _context.NetPromoterScores.Update(record); _context.SaveChanges(); return(new NoContentResult()); }
public async Task <Result <Contract> > Handle(Contract request, CancellationToken cancellationToken) { var userId = ObjectId.Parse(request.UserId); var user = await GetUser(userId, cancellationToken); if (user == null) { return(Result.Fail <Contract>("Usuário não encontrado")); } var npsBase = await _db.NetPromoterScoresCollection .AsQueryable() .Where(x => x.UserId == userId) .FirstOrDefaultAsync(); if (npsBase != null) { return(Result.Fail <Contract>("Você ja avaliou o sistema")); } var nps = NetPromoterScore.Create(userId, request.Grade, user.Name, user.Email, user.TracksInfo, user.ModulesInfo, user.EventsInfo); if (nps.IsFailure) { return(Result.Fail <Contract>("Ocorreu um erro na criação da avaliação")); } await _db.NetPromoterScoresCollection.InsertOneAsync(nps.Data); return(Result.Ok(request)); }
public IActionResult Post([FromBody] NetPromoterScore item) { if (item == null) { return(BadRequest()); } item.Id = _context.NetPromoterScores.Count() + 1; _context.NetPromoterScores.Add(item); _context.SaveChanges(); return(CreatedAtRoute("GetBrand", new { id = item.Id }, item)); }