public async Task <IActionResult> AssinarChamado(int id) { //recupera usuario logado e busca no banco de dados var userName = User.Identity.Name; var user = await _context.Users.FirstOrDefaultAsync(x => x.UserName == userName); var usuario = await _context.Funcionario.FirstOrDefaultAsync(x => x.PessoaId == user.Id); var chamado = await _context.Chamados.FirstOrDefaultAsync(x => x.idChamado == id); chamado.status = "Andamento"; chamado.FuncionarioId = usuario.IdFuncionario; _context.Chamados.Update(chamado); _context.SaveChanges(); //registra log da alteração logsController logs = new logsController(_context); var log = new logs(); log.IdUsuario = usuario.IdFuncionario; log.Tipo = TipoLogEnum.AssinarChamado; log.chamdosId = chamado.idChamado; logs.SalvarLog(log); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Create([Bind("idChamado,DH_Abertura,DH_Fechamento,descricao,categoriasId,comentariosId,logsId,gruposId,prioridadesId,Arquivo")] chamados chamados) { if (ModelState.IsValid) { //Se o chamdo for aberto pelo proprio usuario pega o id pelo usuario logado if (chamados.UsuarioId == 0) { //recupera usuario logado e busca no banco de dados var userName = User.Identity.Name; var user = await _context.Users.FirstOrDefaultAsync(x => x.UserName == userName); var usuario = await _context.Usuario.FirstOrDefaultAsync(x => x.PessoaId == user.Id); chamados.UsuarioId = usuario.IdUsuario; } chamados.status = "Aberto"; chamados.DH_Abertura = DateTime.Now; _context.Add(chamados); await _context.SaveChangesAsync(); if (chamados.Arquivo != null) { var retorno = Upload(chamados.Arquivo); var arquivo = new Arquivos(); arquivo.Arquivo = string.Format(@"{0}\{1}{2}", retorno.CaminhoDBArquivo, retorno.NomeArquivo, retorno.ExtensaoArquivo); arquivo.NomeArquivo = chamados.Arquivo.FileName; arquivo.DH_Cadastro = DateTime.Now; arquivo.chamdosId = chamados.idChamado; //salva _context.Arquivos.Add(arquivo); await _context.SaveChangesAsync(); } //registra log da alteração logsController logs = new logsController(_context); var log = new logs(); log.IdUsuario = chamados.UsuarioId; log.Tipo = TipoLogEnum.Criacao; log.chamdosId = chamados.idChamado; logs.SalvarLog(log); return(RedirectToAction(nameof(Index))); } // ViewBag.categoriasId = new SelectList(_context.Categoria.ToList(), "idCategoria", "categoria", chamados.categoriasId); //ViewData["categoriasId"] = new SelectList(_context.Categoria, "idCategoria", "idCategoria", chamados.categoriasId); //ViewData["comentariosId"] = new SelectList(_context.Comentarios, "idComentario", "idComentario", chamados.comentariosId); //ViewBag.gruposId = new SelectList(_context.grupos.ToList(), "idGrupo", "grupo", chamados.gruposId); //ViewData["gruposId"] = new SelectList(_context.grupos, "idGrupo", "idGrupo", chamados.gruposId); //ViewData["logsId"] = new SelectList(_context.Logs, "idLog", "idLog", chamados.logsId); //ViewData["prioridadesId"] = new SelectList(_context.Prioridades, "idPrioridade", "idPrioridade", chamados.prioridadesId); return(await Index()); }