public A13Profissional RetornarProfissional(string codigoCNS)
 {
     try
     {
         List <string> includes = new List <string>();
         includes.Add("RelUsuarioInternoProfissional");
         A13Profissional profissional = _profissionalRepositorio.Find(c => c.A13ProfissionalCodigoCns.Equals(codigoCNS), includes);
         if (profissional == null)
         {
             profissional = new A13Profissional();
             Mensagem msg = new Mensagem();
             msg.TipoMensagem      = TipoMensagem.Atencao;
             msg.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgProfissionalExistente;
             profissional.Mensagens.Add(msg);
         }
         else
         {
             int idUsuarioInterno = profissional.RelUsuarioInternoProfissional.ToList()[0].A2UsuarioInternoId;
             profissional.RelUsuarioInternoProfissional.ToList()[0].A2UsuarioInterno = new A2UsuarioInternoBusiness(_usuarioInternoRepositorio).BuscarUsuarioInternoPorID(idUsuarioInterno);
         }
         return(profissional);
     }
     catch (Exception ex)
     {
         A13Profissional profissional = new A13Profissional();
         Mensagem        msg          = new Mensagem();
         msg.TipoMensagem      = TipoMensagem.Erro;
         msg.DescricaoMensagem = ex.Message;
         profissional.Mensagens.Add(msg);
         return(profissional);
     }
 }
        public A13Profissional CadastrarProfissional(A13Profissional profissional)
        {
            try
            {
                var usuarioExistente = _profissionalRepositorio.Find(c => c.A13ProfissionalCodigoCns == profissional.A13ProfissionalCodigoCns);
                if (usuarioExistente == null)
                {
                    _profissionalRepositorio.Add(profissional);
                    _profissionalRepositorio.Save();
                }
                else
                {
                    Mensagem msg = new Mensagem();
                    msg.TipoMensagem      = TipoMensagem.Atencao;
                    msg.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgProfissionalExistente;

                    profissional.Mensagens = new List <Mensagem>();
                    profissional.Mensagens.Add(msg);
                }
                return(profissional);
            }

            catch (Exception ex)
            {
                Mensagem msg = new Mensagem();
                msg.TipoMensagem      = TipoMensagem.Erro;
                msg.DescricaoMensagem = ex.Message;

                profissional.Mensagens = new List <Mensagem>();
                profissional.Mensagens.Add(msg);
                return(profissional);
            }
        }
        public void CadastrarProfissionalTest()
        {
            A13Profissional profissional = new A13Profissional();

            profissional.A13ProfissionalCodigoCns = "700204985949127";
            profissional.A13ProfissionalCodigoSus = "3FA1DA58CFEF8104";
            profissional.A13ProfissionalNome      = "ROMARIO DOS SANTOS OLIVEIRA";
            profissional.A13ProfissionalData      = DateTime.Now;


            var usuarioRetornado = new A13ProfissionalBusiness(_profissionalRepositorio, _usuarioInternoRepositorio).CadastrarProfissional(profissional);

            Assert.True(usuarioRetornado != null && profissional.Mensagens.Count == 0);
        }