public async Task <IActionResult> Edit(int id, [Bind("ReclamacaoId,Descricao,DataReclamacao,Resposta,DataResposta,EstadoResposta,EstadoResolução,DataResolucao,ClienteId,FuncionarioId")] Reclamacoes reclamacoes) { if (id != reclamacoes.ReclamacaoId) { return(NotFound()); } if (ModelState.IsValid) { try { bd.Update(reclamacoes); await bd.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ReclamacoesExists(reclamacoes.ReclamacaoId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["ClienteId"] = new SelectList(bd.Utilizadores, "UtilizadorId", "Nome", reclamacoes.ClienteId); ViewData["FuncionarioId"] = new SelectList(bd.Utilizadores, "UtilizadorId", "Nome", reclamacoes.FuncionarioId); return(View(reclamacoes)); }
public async Task <IActionResult> Create(ReclamacoesViewModel reclamacoesViewModel, Reclamacoes reclamacao, int id) { if (ModelState.IsValid) { var cliente = bd.Utilizadores.SingleOrDefault(c => c.Email == User.Identity.Name); var contrato = bd.Contratos.SingleOrDefault(c => c.UtilizadorId == cliente.UtilizadorId); reclamacao.Cliente = cliente; reclamacao.ContratoId = contrato.ContratoId; reclamacao.FuncionarioId = contrato.FuncionarioId; reclamacao.EstadoResolução = false; reclamacao.EstadoResposta = false; reclamacao.DataReclamacao = DateTime.Now; reclamacao.Inactivo = false; reclamacao.Descricao = reclamacoesViewModel.Descricao; reclamacao.ReclamacaoId = reclamacoesViewModel.ReclamacaoId; bd.Add(reclamacao); await bd.SaveChangesAsync(); ViewBag.Mensagem = "Reclamação enviada com sucesso"; return(View("Sucesso")); } return(View(reclamacao)); }