public IActionResult Cadastrar(TriagemLaboratorial triagemLaboratorial) { ModelState.Remove("Doacao.Doador.Cpf"); ModelState.Remove("Doacao.Doador.NomeCompleto"); ModelState.Remove("Doacao.Doador.Genero"); ModelState.Remove("Doacao.Doador.EstadoCivil"); if (ModelState.IsValid) { Doacao doacao = _doacaoDAO.BuscarDoacaoPorId(triagemLaboratorial.Doacao.IdDoacao); Doador doador = _doadorDAO.BuscarDoadorPorId(doacao.Doador.IdDoador); doacao.TriagemLaboratorial = AtualizarTriagemLaboratorial(doacao, triagemLaboratorial); doacao.ImpedimentosDefinitivos = AtualizarImpedimentosDefinitivos(doacao, triagemLaboratorial); doador = AtualizarDadosDoSangue(doacao.Doador, triagemLaboratorial.Doacao.Doador); doacao.StatusDoacao = GetStatusDoacao(doacao); _doacaoDAO.AlterarDoacao(doacao); FileStreamResult stream = contruirPdf(doacao); return(stream); // TODO: [FEEDBACK] - Mostrar mensagem de sucesso. //return RedirectToAction("perfil", "doacao", new RouteValueDictionary { { "id", doacao.IdDoacao } }); } ViewBag.idDoacao = triagemLaboratorial.Doacao.Doador.IdDoador; return(View()); }
private StatusTriagem GetStatusExameLaboratorial(TriagemLaboratorial triagemLaboratorial, ImpedimentosDefinitivos impedimentosDefinitivos) { if (impedimentosDefinitivos.AntecedenteAvc == true || triagemLaboratorial.HepatiteB == true || triagemLaboratorial.HepatiteC == true || triagemLaboratorial.Hiv == true) { return(StatusTriagem.Reprovado); } return(StatusTriagem.Aprovado); }
private TriagemLaboratorial AtualizarTriagemLaboratorial(Doacao doacao, TriagemLaboratorial triagemLaboratorial) { TriagemLaboratorial retornoTriagemLaboratorial = doacao.TriagemLaboratorial; retornoTriagemLaboratorial.HepatiteB = triagemLaboratorial.HepatiteB; retornoTriagemLaboratorial.HepatiteC = triagemLaboratorial.HepatiteC; retornoTriagemLaboratorial.Hiv = triagemLaboratorial.Hiv; retornoTriagemLaboratorial.StatusTriagem = GetStatusExameLaboratorial(triagemLaboratorial, doacao.ImpedimentosDefinitivos); return(retornoTriagemLaboratorial); }
public IActionResult Cadastrar(Doacao doacao) { ModelState.Remove("Doador.Cpf"); ModelState.Remove("Doador.NomeCompleto"); ModelState.Remove("Doador.Genero"); ModelState.Remove("Doador.EstadoCivil"); ModelState.Remove("Doador.TipoSanguineo"); ModelState.Remove("Doador.FatorRh"); if (ModelState.IsValid) { DateTime dataHoje = DateTime.Now; Doador doador = _doadorDAO.BuscarDoadorPorId(doacao.Doador.IdDoador); doador.UltimaDoacao = dataHoje; // Informações do formulário. ImpedimentosDefinitivos impedimentosDefinitivos = CriarImpedimentosDefinitivos(doacao); ImpedimentosTemporarios impedimentosTemporarios = CriarImpedimentosTemporarios(doacao); TriagemClinica triagemClinica = CriarTriagemClinica(doacao); // Informações que serão preenchidas após recebimento do exame laboratorial. TriagemLaboratorial triagemLaboratorial = new TriagemLaboratorial { }; doacao = CriarDoacao(impedimentosTemporarios, triagemClinica, impedimentosDefinitivos, triagemLaboratorial, doador, triador, dataHoje); int idDoacao = _doacaoDAO.CadastrarDoacao(doacao); // TODO: [FEEDBACK] - Mostrar mensagem de sucesso. return(RedirectToAction("perfil", new RouteValueDictionary { { "id", idDoacao } })); } ViewBag.idDoador = doacao.Doador.IdDoador; return(View(doacao)); }
public bool VerificarDoacoesPorStatusTriagemLaboratorial(TriagemLaboratorial t) { return(_context.Doacoes.Any(x => x.TriagemLaboratorial.StatusTriagem == t.StatusTriagem)); }
private Doacao CriarDoacao(ImpedimentosTemporarios impedimentosTemporarios, TriagemClinica triagemClinica, ImpedimentosDefinitivos impedimentosDefinitivos, TriagemLaboratorial triagemLaboratorial, Doador doador, Triador triador, DateTime dataHoje) { return(new Doacao { DataDoacao = dataHoje, Doador = doador, Triador = triador, TriagemClinica = triagemClinica, TriagemLaboratorial = triagemLaboratorial, StatusDoacao = GetStatusDoacao(triagemClinica, impedimentosDefinitivos), ImpedimentosTemporarios = impedimentosTemporarios, ImpedimentosDefinitivos = impedimentosDefinitivos }); }
private ImpedimentosDefinitivos AtualizarImpedimentosDefinitivos(Doacao doacao, TriagemLaboratorial triagemLaboratorial) { ImpedimentosDefinitivos impedimentosDefinitivos = doacao.ImpedimentosDefinitivos; impedimentosDefinitivos.AntecedenteAvc = doacao.ImpedimentosDefinitivos.AntecedenteAvc; impedimentosDefinitivos.HepatiteB = triagemLaboratorial.HepatiteB; impedimentosDefinitivos.HepatiteC = triagemLaboratorial.HepatiteC; impedimentosDefinitivos.Hiv = triagemLaboratorial.Hiv; return(impedimentosDefinitivos); }