Exemplo n.º 1
0
        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)));
        }
Exemplo n.º 2
0
        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());
        }