public async Task <IActionResult> Edit(int id, [Bind("idChamado,DH_Abertura,DH_Fechamento,descricao,categoriasId,comentariosId,logsId,gruposId,prioridadesId")] chamados chamados) { if (id != chamados.idChamado) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(chamados); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!chamadosExists(chamados.idChamado)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["categoriasId"] = new SelectList(_context.Categoria, "idCategoria", "idCategoria", chamados.categoriasId); ViewData["comentariosId"] = new SelectList(_context.Comentarios, "idComentario", "idComentario", chamados.comentarios); ViewData["gruposId"] = new SelectList(_context.grupos, "idGrupo", "idGrupo", chamados.gruposId); ViewData["logsId"] = new SelectList(_context.Logs, "idLog", "idLog", chamados.logs); ViewData["prioridadesId"] = new SelectList(_context.Prioridades, "idPrioridade", "idPrioridade", chamados.prioridadesId); return(View(chamados)); }
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()); }
// GET: chamados public async Task <IActionResult> Index() { var chamadosAbertos = _context.Chamados.Where(x => x.DH_Fechamento == DateTime.MinValue); var model = new chamados(); model.ListaChamados = chamadosAbertos; return(View(model)); }
public async Task <IActionResult> ChamadosFechados() { var chamados = _context.Chamados.Where(x => x.DH_Fechamento != DateTime.MinValue).AsQueryable(); var model = new chamados(); model.ListaChamados = chamados; return(View(model)); }
public async Task <IActionResult> MeusChamadosTecnico() { var userId = _userManager.GetUserId(User); var funcionario = _context.Funcionario.FirstOrDefault(x => x.PessoaId == Int32.Parse(userId)); var chamados = _context.Chamados.Where(x => x.FuncionarioId == funcionario.IdFuncionario).AsQueryable(); var model = new chamados(); model.ListaChamados = chamados; return(View(model)); }
public async Task <IActionResult> AlterarGrupo(chamados chamado) { //validar isso direito, essa validação ta mal feita pra caraca if (chamado.idChamado == 0) { return(null); } var chamadoBanco = _context.Chamados.FirstOrDefault(x => x.idChamado == chamado.idChamado); var grupo = _context.grupos.FirstOrDefault(x => x.idGrupo == chamado.gruposId); chamadoBanco.gruposId = grupo.idGrupo; _context.Chamados.Update(chamadoBanco); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); }