public int CadastrarAtendimento(A29Atendimento atendimento)
        {
            try
            {
                _atendimentoRepositorio.Add(atendimento);
                _atendimentoRepositorio.Save();

                return(atendimento.A29AtendimentoId);
            }
            catch (Exception ex)
            {
                atendimento.Mensagens = new List <Common.Mensagem>();
                atendimento.Mensagens.Add(Util.AdicionarMensagem(TipoMensagem.Erro, ex.Message));
                return(0);
            }
        }
        public void CadastrarAtendimentoTest()
        {
            List <string> includes = new List <string>();

            includes.Add("A3InformacaoCadastro");
            includes.Add("RelUsuarioPerfil");
            var            usuario     = _usuarioRepositorio.FindAll(c => c.RelUsuarioPerfil.FirstOrDefault(c => c.A1UsuarioId == 2).A6PerfilId == 4, includes).FirstOrDefault();
            A29Atendimento atendimento = new A29Atendimento();

            atendimento.A29Data = DateTime.Now;
            atendimento.A3InformacaoCadastroId = usuario.A3InformacaoCadastro.ToList()[0].A3InformacaoCadastroId;

            var numeroAtendimento = new A29AtendimentoBusiness(_atendimentoRepositorio, null, null, null, _profissionalRepositorio, _usuarioInternoRepositorio).CadastrarAtendimento(atendimento);

            Assert.True(numeroAtendimento > 0);
        }
        public A29Atendimento BuscarAtendimento(int codigoAtendimento)
        {
            A29Atendimento atendimento = null;

            try
            {
                List <string> includes = new List <string>();
                includes.Add("A3InformacaoCadastro");
                includes.Add("RelAtendimentoProntuario");
                atendimento = _atendimentoRepositorio.Find(c => c.A29AtendimentoId == codigoAtendimento, includes);
                if (atendimento != null)
                {
                    atendimento.A3InformacaoCadastro.A1Usuario = _usuarioRepositorio.Get(atendimento.A3InformacaoCadastro.A1UsuarioId);
                    if (atendimento.RelAtendimentoProntuario.Count > 0)
                    {
                        int idProntuario = atendimento.RelAtendimentoProntuario.ToList()[0].A9ProntuarioId;
                        if (idProntuario > 0)
                        {
                            atendimento.RelAtendimentoProntuario.ToList()[0].A9Prontuario = new A9ProntuarioBusiness(_prontuarioRepositorio, _registroEvolucaoEnfermagemRepositorio, null, _profissionalRepositorio, _usuarioInternoRepositorio).BuscarProntuarioPorCodigo(idProntuario);
                        }
                    }
                    return(atendimento);
                }
                else
                {
                    atendimento           = new A29Atendimento();
                    atendimento.Mensagens = new List <Mensagem>();
                    atendimento.Mensagens.Add(Util.AdicionarMensagem(TipoMensagem.Atencao, Common.MensagensSistema.MsgsSistema.MsgAtendimentoNaoEncontrado));
                    return(atendimento);
                }
            }
            catch (Exception ex)
            {
                atendimento           = new A29Atendimento();
                atendimento.Mensagens = new List <Mensagem>();
                atendimento.Mensagens.Add(Util.AdicionarMensagem(TipoMensagem.Erro, ex.Message));
                return(atendimento);
            }
        }
Example #4
0
        public async Task <IActionResult> CadastrarNovoAtendimento(string formulario)
        {
            try
            {
                int    indiceUnicoInformacaoUsuario = 0;
                string usuarioNaoExisteNoSistema    = "0";

                UsuarioExternoViewModel usuario           = JsonConvert.DeserializeObject <UsuarioExternoViewModel>(formulario);
                A29Atendimento          atendimento       = new A29Atendimento();
                A1Usuario usuarioCadastro                 = new A1Usuario();
                A29AtendimentoBusiness atendimentoNegocio = new A29AtendimentoBusiness(_atendimentoRepositorio, null, null, _usuarioRepositorio, _profissionalRepositorio, _usuarioInternoRepositorio);
                A1UsuarioBusiness      usuarioNegocio     = new A1UsuarioBusiness(_usuarioRepositorio, null, _perfilRepositorio, null);
                EmailBusiness          emailNegocio       = new EmailBusiness(_emailEnvio);

                if (usuario.UsuarioID != usuarioNaoExisteNoSistema)
                {
                    var informacaoID = usuarioNegocio.BuscarUsuarioPorCPF(usuario.NumeroCPF).A3InformacaoCadastro.ToList()[indiceUnicoInformacaoUsuario].A3InformacaoCadastroId;
                    atendimento.A3InformacaoCadastroId = informacaoID;
                    atendimento.A29Data = DateTime.Now;
                    atendimentoNegocio.CadastrarAtendimento(atendimento);
                    if (atendimento.Mensagens.Count == 0)
                    {
                        return(Json(new { NumeroAtendimento = atendimento.A29AtendimentoId, Mensagem = "" }));
                    }
                    else
                    {
                        return(Json(new { NumeroAtendimento = "0", Mensagem = atendimento.Mensagens[0].DescricaoMensagem }));
                    }
                }
                else
                {
                    usuarioCadastro.A1UsuarioNumeroCpf = usuario.NumeroCPF;
                    usuarioCadastro.A1UsuarioNome      = usuario.NomeCompleto;
                    usuarioCadastro.A1UsuarioSenha     = "123456";

                    A3InformacaoCadastro informacaoCadastro = new A3InformacaoCadastro();
                    informacaoCadastro.A3InformacaoCadastroCelular        = usuario.TelefoneCelular;
                    informacaoCadastro.A3InformacaoCadastroDataNascimento = Convert.ToDateTime(usuario.DataNascimento);
                    informacaoCadastro.A3InformacaoCadastroEmail          = usuario.Email;
                    informacaoCadastro.A3InformacaoCadastroNomeCompleto   = usuario.NomeCompleto;
                    informacaoCadastro.A3InformacaoCadastroNomeMae        = usuario.NomeMae;
                    informacaoCadastro.A3InformacaoCadastroNomePai        = usuario.NomePai;
                    informacaoCadastro.A3InformacaoCadastroNumeroCarteiraNacionalSaude = usuario.NumeroCarteiraSUS;
                    informacaoCadastro.A3InformacaoCadastroTelefone = usuario.TelefoneResidencial;

                    usuarioCadastro.A3InformacaoCadastro = new List <A3InformacaoCadastro>();
                    usuarioCadastro.A3InformacaoCadastro.Add(informacaoCadastro);

                    var loginCriado = usuarioNegocio.CriarLogin(usuarioCadastro);

                    if (loginCriado)
                    {
                        atendimento.A29Data = DateTime.Now;
                        atendimento.A3InformacaoCadastroId = usuarioCadastro.A3InformacaoCadastro.ToList()[indiceUnicoInformacaoUsuario].A3InformacaoCadastroId;
                        atendimentoNegocio.CadastrarAtendimento(atendimento);
                        if (atendimento.Mensagens.Count == 0)
                        {
                            EmailModel email = new EmailModel();
                            email.Assunto    = "Cadastro no sistema gestão de saúde";
                            email.CorpoEmail = string.Format("Foi criado um cadastro no sistema de saude. <p>Usuario: {0}</p><p>Senha: {1} </p> ", usuarioCadastro.A1UsuarioNumeroCpf, usuarioCadastro.A1UsuarioSenha);
                            email.DoEmail    = "*****@*****.**";
                            email.ParaEmail  = "*****@*****.**";
                            await emailNegocio.EnviarEmailAsync(email);

                            return(Json(new { NumeroAtendimento = atendimento.A29AtendimentoId, Mensagem = "", MensagemErro = "" }));
                        }
                        else
                        {
                            return(Json(new { NumeroAtendimento = "0", MensagemErro = "", Mensagem = atendimento.Mensagens[0].DescricaoMensagem }));
                        }
                    }
                    else
                    {
                        return(Json(new { NumeroAtendimento = "0", MensagemErro = "", Mensagem = usuarioCadastro.Mensagens[0].DescricaoMensagem }));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new { NumeroAtendimento = "0", Mensagem = "", MensagemErro = string.Format("Ocorreu um erro inesperado, contate seu administrador. Erro: {0}", ex.Message) }));
            }
        }