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()); }
public IActionResult Perfil(int?id) { Doador resultadoDaBusca = _doadorDAO.BuscarDoadorPorId(id); ViewBag.diasDesdeAUltimaDoacao = null; if (resultadoDaBusca.Doacoes == null) { resultadoDaBusca.Doacoes = new List <Doacao>(); } if (resultadoDaBusca.UltimaDoacao != default(DateTime)) { ViewBag.diasDesdeAUltimaDoacao = (int)DateTime.Now.Subtract(resultadoDaBusca.UltimaDoacao).TotalDays; } ViewBag.doacoes = resultadoDaBusca.Doacoes; return(View(resultadoDaBusca)); }
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)); }