public JsonResult EditarChamado(ChamadoModelEdicao model)
        {
            try
            {
                Funcionario f = (Funcionario)Session["funcionariologado"];

                ChamadoDal d = new ChamadoDal();

                Chamado chamado = d.FindById(model.IdChamado);

                if (chamado.Situacao == "Aberto")
                {
                    chamado.Solucao        = model.Solucao;
                    chamado.Situacao       = "Fechado";
                    chamado.DataFechamento = DateTime.Now;
                    chamado.Funcionario    = f;

                    d.SaveOrUpdate(chamado);

                    return(Json("Chamado Atualizado."));
                }
                else
                {
                    return(Json("Esse chamado já foi fechado."));
                }
            }
            catch (Exception e)
            {
                return(Json(e.Message));
            }
        }
        public JsonResult EditarChamado(ChamadoModelEdicao model)
        {
            try
            {
                Cliente c = (Cliente)Session["clientelogado"];

                ChamadoDal d = new ChamadoDal();

                Chamado chamado = d.FindById(model.IdChamado);

                if (chamado.Situacao.Equals("Aberto"))
                {
                    chamado.Assunto   = model.Assunto;
                    chamado.Descricao = model.Descricao;

                    d.SaveOrUpdate(chamado);

                    return(Json("Chamado Atualizado."));
                }
                else
                {
                    return(Json("Chamado não pode ser alterado, o mesmo já se encontra fechado."));
                }
            }
            catch (Exception e)
            {
                return(Json(e.Message));
            }
        }
        public JsonResult AbrirChamado(ChamadoModelCadastro model)
        {
            try
            {
                Cliente c = (Cliente)Session["clientelogado"];

                Chamado ch = new Chamado();
                ch.DataAbertura = DateTime.Now;
                ch.Assunto      = model.Assunto;
                ch.Descricao    = model.Descricao;
                ch.Situacao     = "Aberto";
                ch.Cliente      = c;

                ChamadoDal d = new ChamadoDal();
                d.SaveOrUpdate(ch);

                return(Json("Chamado cadastrado com sucesso."));
            }
            catch (Exception e)
            {
                return(Json(e.Message));
            }
        }
        public JsonResult AbrirChamado(ChamadoModelCadastro model)
        {
            try
            {
                Cliente c = (Cliente)Session["clientelogado"];

                Chamado ch = new Chamado();
                ch.DataAbertura = DateTime.Now;
                ch.Assunto = model.Assunto;
                ch.Descricao = model.Descricao;
                ch.Situacao = "Aberto";
                ch.Cliente = c;

                ChamadoDal d = new ChamadoDal();
                d.SaveOrUpdate(ch);

                return Json("Chamado cadastrado com sucesso.");

            }
            catch (Exception e)
            {
                return Json(e.Message);
            }
        }
        public JsonResult EditarChamado(ChamadoModelEdicao model)
        {
            try
            {
                Funcionario f = (Funcionario)Session["funcionariologado"];

                ChamadoDal d = new ChamadoDal();

                Chamado chamado = d.FindById(model.IdChamado);

                if (chamado.Situacao == "Aberto")
                {
                    chamado.Solucao = model.Solucao;
                    chamado.Situacao = "Fechado";
                    chamado.DataFechamento = DateTime.Now;
                    chamado.Funcionario = f;

                    d.SaveOrUpdate(chamado);

                    return Json("Chamado Atualizado.");
                }
                else
                {
                    return Json("Esse chamado já foi fechado.");
                }

            }
            catch (Exception e)
            {
                return Json(e.Message);
            }
        }
        public JsonResult EditarChamado(ChamadoModelEdicao model)
        {
            try
            {
                Cliente c = (Cliente)Session["clientelogado"];

                ChamadoDal d = new ChamadoDal();

                Chamado chamado = d.FindById(model.IdChamado);

                if (chamado.Situacao.Equals("Aberto"))
                {
                    chamado.Assunto = model.Assunto;
                    chamado.Descricao = model.Descricao;

                    d.SaveOrUpdate(chamado);

                    return Json("Chamado Atualizado.");
                }
                else
                {
                    return Json("Chamado não pode ser alterado, o mesmo já se encontra fechado.");
                }

            }
            catch (Exception e)
            {
                return Json(e.Message);
            }
        }