/// <summary> /// Serviço para a criação dos profissionais de saude /// </summary> /// <param name="profissionais_saude">Identificador para a criação na base de dados</param> /// <param name="ct">Cancellation Token - chamada asincrona</param> /// <returns>View do doente criado</returns> public async Task <Profissionais_Saude> CreateAsync(ProfissionalSaudeRequest profissionais_saude, CancellationToken ct) { try { var perfis = await _perfil_utilizadoresServices.GetAllAsync(ct); var utilizador = await _utilizadoresServices.CreateAsync(new Utilizadores() { Id_Perfil_Utilizador = perfis.ToList().Where(x => x.Nome == profissionais_saude.Profissao).Select(x => x.Id).SingleOrDefault(), Nome = profissionais_saude.Nome, Idade = profissionais_saude.Idade, Morada = profissionais_saude.Morada, NIB = profissionais_saude.NIB, CC = profissionais_saude.CC, Sexo = profissionais_saude.Sexo, Username = profissionais_saude.CC.ToString() }, ct); var result = await _profissionais_saudeRepository.CreateAsync(new Profissionais_Saude() { Id_Utilizador = utilizador.Id, Id_Hospital = profissionais_saude.Id_Hospital, Profissao = profissionais_saude.Profissao }, ct); return(result); } catch (Exception e) { throw new Exception("Ocorreu um erro na criação do profissional de saude. Verifique se os perfis de utilizador para a profissão associada ao profissional de saude estão configurados", e); } }
/// <summary> /// Serviço para a criação de doente. No modelo de dados, o doente extende o utilizador. /// </summary> /// <param name="doente">Objecto Doente para criação na base de dados</param> /// <param name="ct">Cancellation Token - chamada asincrona</param> /// <returns>View do doente criado</returns> public async Task <Doente> CreateAsync( DataBase.RequestModel.DoenteRequest doente, CancellationToken ct ) { try { var perfis = await _perfil_utilizadoresServices.GetAllAsync(ct); var utilizador = await _utilizadoresServices.CreateAsync(new Utilizadores() { Id_Perfil_Utilizador = perfis.ToList().Where(x => x.Nome == "Doente").Select(x => x.Id).SingleOrDefault(), Nome = doente.Nome, Idade = doente.Idade, Morada = doente.Morada, NIB = doente.NIB, CC = doente.CC, Sexo = doente.Sexo, Username = doente.CC.ToString() }, ct); var result = await _doenteRepository.CreateAsync(new Doente() { Id_Utilizador = utilizador.Id, Regiao = doente.Regiao }, ct); return(result); } catch (Exception e) { throw new Exception("Ocorreu um erro na criação do doente. Verifique se os perfis de utilizador para os doentes estão configurados", e); } }
public async Task CreateTestAsync() { var teste = await business.CreateAsync( new Utilizadores() { CC = 12345, Id = 1, Idade = 20, Id_Perfil_Utilizador = 1, Morada = "Porto", NIB = 12345, Nome = "Diogo Biscaia", Sexo = "M", Username = "******" }, CancellationToken.None ); Assert.AreEqual(teste.Nome, "Diogo Biscaia"); }