Exemplo n.º 1
0
        public static CompraDoacao ObterInstanciaCompraDoacao()
        {
            Doador  doador  = ObterInstanciaDoador();
            Estoque estoque = ObterInstanciaEstoque();

            return(CompraDoacao.Create(doador.IdDoador, estoque.IdEstoque, COMPRA_FORMAPAGAMENTO, COMPRA_DATA, COMPRA_COMENTARIO, COMPRA_RECIBO));
        }
Exemplo n.º 2
0
 public IActionResult Cadastrar(Doador doador)
 {
     ModelState.Remove("TipoSanguineo");
     ModelState.Remove("FatorRh");
     if (ModelState.IsValid)
     {
         if (Validacao.CpfEhValido(doador.Cpf))
         {
             int idDoador = _doadorDAO.CadastrarDoador(doador);
             if (idDoador != 0)
             {
                 // TODO: [FEEDBACK] - Apresentar mensagem de sucesso.
                 ModelState.AddModelError("Success", "Doador cadastrado com sucesso.");
             }
             else
             {
                 // TODO: [FEEDBACK] - Apresentar mensagem de sucesso.
                 ModelState.AddModelError("Success", "Este doador já possui cadastro.");
             }
             return(RedirectToAction("perfil", new RouteValueDictionary {
                 { "id", idDoador }
             }));
         }
         // CPF inválido
         ModelState.AddModelError("", "CPF Inválido!");
         return(View(doador));
     }
     return(View(doador));
 }
Exemplo n.º 3
0
        public IActionResult Criar([FromBody] Doador doador)
        {
            if (ModelState.IsValid)
            {
                if (this.BuscaEmail(doador.email).GetType() == new NotFoundResult().GetType())
                {
                    var    max = 2147483647;
                    var    min = -2147483648;
                    Random rnd = new Random();

                    doador.id = rnd.Next(min, max);

                    doadorRepositorio.AdicionarDoador(doador);

                    return(Ok(200));
                }
                else
                {
                    return(BadRequest("E-mail existente"));
                }
            }
            else
            {
                return(BadRequest(400));
            }
        }
Exemplo n.º 4
0
        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());
        }
Exemplo n.º 5
0
    //metodo que registra a doarção de sangue
    //public void doarSangue(Doador doador, Receptor recptor){
    public bool doarSangue(int codDoador, int codRecptor)
    {
        bool deuCerto = false;

        Doador   doador  = doadores[codDoador];
        Receptor recptor = recptores[codRecptor];

        if (doador.podeDoar() && recptor.podeReceber(doador.getTipoSanguineo()))
        {
            string registro = $"Doado sangue de {doador.getNome()} do tipo {doador.getTipoSanguineo()} para {recptor.getNome()} do tipo {recptor.getTipoSanguineo()}";

            ComunicaoArquivo.escreva(registro, "registro_doacoes.txt");

            //doadores.RemoveAt(doadores.IndexOf(doador));
            //recptores.RemoveAt(recptores.IndexOf(recptor));

            doadores.RemoveAt(doadores.IndexOf(doador));
            recptores.RemoveAt(recptores.IndexOf(recptor));

            deuCerto = true;
        }
        else
        {
            string registro = $"Rejeicao: Sangue, idade ou peso do {doador.getNome()} não permite doar para {recptor.getNome()}, cujo o tipo sanguineo do {doador.getNome()} é {doador.getTipoSanguineo()}";

            ComunicaoArquivo.escreva(registro, "registro_doacoes.txt");

            deuCerto = false;
        }

        return(deuCerto);
    }
Exemplo n.º 6
0
        public static void Renderizar()
        {
            Doacao d = new Doacao();

            Console.WriteLine("[]-- Realizar Doação --[]");
            Console.WriteLine("Digite o CPF do Doador:");
            string CPF    = Console.ReadLine();
            Doador doador = DAO.DoadorDAO.BuscaPorCPF(CPF);

            Console.WriteLine("Insira o tipo do Sangue:");
            string tipoSangue = Console.ReadLine();
            Sangue sangue     = DAO.SangueDAO.BuscarPorTipo(tipoSangue);

            Console.WriteLine("Digite a quantidade a ser doada(ml):");
            double qtde = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Funcionario realizando a doação (CPF):");
            string      cpfFunc = Console.ReadLine();
            Funcionario f       = DAO.FuncionarioDAO.BuscarPorCPF(cpfFunc);

            d.Doador    = doador;
            d.Sangue    = sangue;
            d.QtdSangue = qtde;

            DAO.DoacaoDAO.Cadastrar(d);
            DAO.EstoqueDAO.AtualizarEstoque(d, f);

            d = new Doacao();
        }
        public IActionResult Post([FromBody] DoacaoDinheiroDTO dto)
        {
            if (ModelState.IsValid)
            {
                Doador doador = _context.Doador.SingleOrDefault(q => q.CodDoador == dto.Doador.Id);
                if (doador == null)
                {
                    ModelState.AddModelError("Doador", "Doador inválido");
                    return(new BadRequestObjectResult(ModelState));
                }
                //corrige fuso horario do js
                dto.DataDaDoacao = dto.DataDaDoacao.AddHours(-dto.DataDaDoacao.Hour);
                DoacaoDinheiro novo = new DoacaoDinheiro()
                {
                    Doador    = doador,
                    Data      = dto.DataDaDoacao,
                    Descricao = dto.Descricao,
                    Valor     = dto.Valor
                };
                try
                {
                    _context.DoacaoDinheiro.Add(novo);

                    _context.SaveChanges();
                    dto.Id = novo.Id;
                    return(new ObjectResult(dto));
                }
                catch {
                    return(new BadRequestObjectResult(ModelState));
                }
            }

            return(new BadRequestObjectResult(ModelState));
        }
Exemplo n.º 8
0
        public void Doador_validacpf_invalido()
        {
            string cpf       = "12345678912";
            bool   cpfValido = Doador.ValidarCpf(cpf);

            Assert.False(cpfValido);
        }
Exemplo n.º 9
0
        private void buttonCadastrarDoador_Click(object sender, RoutedEventArgs e)
        {
            Doador doador = new Doador();

            doador.Nome  = textBoxNomeDoador.Text;
            doador.CPF   = textBoxCPF.Text;
            doador.Idade = int.Parse(textBoxIdade.Text);

            DBMock.DbDoadores.Add(doador);

            MessageBoxResult mbResult = MessageBox.Show("Doador cadastrado com sucesso, você quer ir a página de relatórios?", "Doacao Livros", MessageBoxButton.YesNo);

            switch (mbResult)
            {
            case MessageBoxResult.Yes:
                Relatorios r = new Relatorios();
                r.Show();
                this.Close();
                break;

            case MessageBoxResult.No:
                MainWindow mw = new MainWindow();
                mw.Show();
                this.Close();
                break;
            }
        }
        private void btnBuscar_Click(object sender, RoutedEventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(txtCpf.Text))
            {
                doador = DoadorDAO.BuscarPorCPF(txtCpf.Text);
                if (doador != null)
                {
                    btnCadastrar.IsEnabled = false;
                    btnAlterar.IsEnabled   = true;
                    btnRemover.IsEnabled   = true;

                    txtId.Text            = doador.Id.ToString();
                    txtCriadoEm.Text      = doador.CriadoEm.ToString();
                    txtNome.Text          = doador.Nome;
                    txtSobrenome.Text     = doador.Sobrenome;
                    txtCpf.Text           = doador.Cpf;
                    txtTelefone.Text      = doador.Telefone;
                    txtEmail.Text         = doador.Email;
                    cboSexo.SelectedValue = doador.Sexo;
                    txtPeso.Text          = doador.Peso.ToString();

                    cboTipoSanguineo.SelectedValue = TipoSanguineoDAO.BuscarPorId(doador.TipoSanguineoID);
                    //txtRh.Text = doador.TipoSanguineo.Fator_RH;
                }
                else
                {
                    _messageBoxClass.MensagemErroOK("Doador não encontrado!!!");
                    LimparForm();
                }
            }
            else
            {
                _messageBoxClass.MensagemErroOK("Preencha o campo CPF!!!");
            }
        }
Exemplo n.º 11
0
 public List <Doador> BuscarDoadorPorTipoSanguineo(Doador d)
 {
     return(_context.Doadores
            .Include("Doacoes")
            .Where(x => x.TipoSanguineo.Equals(d.TipoSanguineo))
            .Where(x => x.FatorRh.Equals(d.FatorRh)).ToList());
 }
        public async Task <IActionResult> Put(int id, [FromBody] DoacaoSopaDTO dto)
        {
            if (id != dto.Id)
            {
                return(new BadRequestResult());
            }
            if (ModelState.IsValid)
            {
                //corrige fuso horario do js
                dto.DataDaDoacao = dto.DataDaDoacao.AddHours(-dto.DataDaDoacao.Hour);
                DoacaoSopa dd = _context.DoacaoSopa.Single(q => q.Id == id);

                Doador doador = _context.Doador.SingleOrDefault(q => q.CodDoador == dto.Doador.Id);
                if (doador == null)
                {
                    ModelState.AddModelError("Doador", "Doador inválido");
                    return(new BadRequestObjectResult(ModelState));
                }
                Item item = _context.Item.SingleOrDefault(q => q.Id == dto.Item.Id && q.Destino == "SOPA");
                if (item == null)
                {
                    ModelState.AddModelError("Item", "Item inválido");
                    return(new BadRequestObjectResult(ModelState));
                }
                double diferencaQuantidade = dd.Quantidade - dto.Quantidade;
                dd.Doador     = doador;
                dd.Data       = dto.DataDaDoacao;
                dd.Descricao  = dto.Descricao;
                dd.Item       = item;
                dd.Quantidade = dto.Quantidade;


                try
                {
                    _context.SaveChanges();
                    Usuario usuario = await _userManager.GetUserAsync(HttpContext.User);

                    //atualiza o estoque
                    if (diferencaQuantidade > 0)
                    {
                        _estoqueManager.DarSaida(usuario, item, diferencaQuantidade);
                    }
                    else if (diferencaQuantidade < 0)
                    {
                        _estoqueManager.DarEntrada(usuario, item, -diferencaQuantidade);
                    }
                }
                catch
                {
                    return(new BadRequestObjectResult(ModelState));
                }

                return(new ObjectResult(dto));
            }
            else
            {
                return(new BadRequestObjectResult(ModelState));
            }
        }
Exemplo n.º 13
0
        public void Doador_excluirconta()
        {
            Doador doador = InstanciasClasses.ObterInstanciaDoador();

            doador.ExcluirConta();

            Assert.False(doador.Ativo);
        }
Exemplo n.º 14
0
        public static void RemoverPorCPF(String cpf)
        {
            Doador d = BuscaPorCPF(cpf);

            if (d != null)
            {
                Remover(d);
            }
        }
Exemplo n.º 15
0
        public void Compra_instancia_direto()
        {
            Doador  doador  = InstanciasClasses.ObterInstanciaDoador();
            Estoque estoque = InstanciasClasses.ObterInstanciaEstoque();

            CompraDoacao compra = CompraDoacao.Create(doador.IdDoador, estoque.IdEstoque, InstanciasClasses.COMPRA_FORMAPAGAMENTO, InstanciasClasses.COMPRA_DATA, InstanciasClasses.COMPRA_COMENTARIO, InstanciasClasses.COMPRA_RECIBO);

            Assert.IsType <CompraDoacao>(compra);
        }
Exemplo n.º 16
0
        private Doador AtualizarDadosDoSangue(Doador doadorDoacao, Doador doadorFormulario)
        {
            Doador retornoDoador = doadorDoacao;

            retornoDoador.TipoSanguineo = doadorFormulario.TipoSanguineo;
            retornoDoador.FatorRh       = doadorFormulario.FatorRh;

            return(retornoDoador);
        }
Exemplo n.º 17
0
        public async Task <IActionResult> AddDoador([FromBody] Doador doador)
        {
            var newDoador = mapper.Map <Doador>(doador);

            newDoador.DataCriacao     = DateTime.Now;
            newDoador.DataModificacao = DateTime.Now;
            newDoador = await context.InsertAsync(newDoador);

            // 201 retorna em "location" o diretório do método de onde faz o get
            return(CreatedAtAction(nameof(GetId), new { Id = newDoador.Id }, mapper.Map <DoadorDto>(newDoador)));
        }
Exemplo n.º 18
0
        public async Task <IActionResult> Validar()
        {
            var            user  = new ApplicationUser();
            IList <string> claim = null;

            if (User.Identity.IsAuthenticated)
            {
                user = await _userManager.FindByIdAsync(_user.GetUserId());

                claim = await _userManager.GetRolesAsync(user);
            }

            var permissao = "";

            if (claim != null && claim.Count != 0)
            {
                permissao = claim[0];
            }

            var doador = new Doador();

            if (user.Id != null && permissao.Equals("Doador"))
            {
                var obj = _doadorApp.GetDoadorByIdUsuario();
                doador = AutoMapper.Mapper.Map <Doador>(obj);

                if (doador == null)
                {
                    return(Redirect("~/admin/Doador/Create"));
                }
                else
                {
                    return(Redirect("~/Home"));
                }
            }

            var clientes = new Clientes();

            if (user.Id != null && permissao.Equals("Cliente"))
            {
                clientes = _clientesApp.GetClienteByIdUsuario();

                if (clientes == null)
                {
                    return(Redirect("~/admin/Clientes/CreateCliente"));
                }
                else
                {
                    return(Redirect("~/Home"));
                }
            }

            return(Redirect("~/Home"));
        }
Exemplo n.º 19
0
        public static bool Salvar(Doador doador)
        {
            if (BuscarPorCPF(doador.Cpf) == null)
            {
                _context.Doador.Add(doador);
                _context.SaveChanges();

                return(true);
            }
            return(false);
        }
Exemplo n.º 20
0
 //Metodo para adicionar doador na lista de doares
 public void addDoador(Doador doador)
 {
     if (doador.podeDoar())
     {
         doadores.Add(doador);
     }
     else
     {
         Console.WriteLine("Idade ou peso abaixo do permitido, cadastro cancelado.");
         Console.ReadLine();
     }
 }
Exemplo n.º 21
0
        public void OnActionExecuting(ActionExecutingContext context)
        {
            var            user  = new ApplicationUser();
            IList <string> claim = null;
            var            User  = ClaimsPrincipal.Current;

            if (User.Identity.IsAuthenticated)
            {
                user  = _userManager.FindByIdAsync(_user.GetUserId()).GetAwaiter().GetResult();
                claim = _userManager.GetRolesAsync(user).GetAwaiter().GetResult();
            }

            var permissao = "";

            if (claim != null && claim.Count != 0)
            {
                permissao = claim[0];
            }

            var doador = new Doador();

            if (user.Id != null && permissao.Equals("Doador"))
            {
                var obj = _doadorApp.GetDoadorByIdUsuario();
                doador = AutoMapper.Mapper.Map <Doador>(obj);

                if (doador == null)
                {
                    context.Result = new RedirectResult("~/admin/Doador/Create");
                }
                else
                {
                    context.Result = new RedirectResult("~/Home");
                }
            }

            var clientes = new Clientes();

            if (user.Id != null && permissao.Equals("Cliente"))
            {
                clientes = _clientesApp.GetClienteByIdUsuario();

                if (clientes == null)
                {
                    context.Result = new RedirectResult("~/admin/Clientes/CreateCliente");
                }
                else
                {
                    context.Result = new RedirectResult("~/Home");
                }
            }
        }
Exemplo n.º 22
0
 public static void Cadastrar(Doador d)
 {
     if (BuscaPorCPF(d.CPF) == null)
     {
         _context.Doadores.Add(d);
         _context.SaveChanges();
         Console.WriteLine("Cadastro Realizado.");
     }
     else
     {
         Console.WriteLine("Já existe um cadastro com esse CPF.");
     }
 }
Exemplo n.º 23
0
        public ActionResult RegistrarDoador([FromBody] DoadorDto dto)
        {
            var doador = new Doador(
                dto.Nome,
                dto.SobreNome,
                dto.Email,
                dto.Direct,
                dto.Id
                );

            _doadoresCollection.InsertOne(doador);

            return(StatusCode(201, "Cadastro adicionado com sucesso"));
        }
Exemplo n.º 24
0
    public void addDoador(string nome, string tipoSangue, int idade, float peso)
    {
        Doador doador = new Doador(nome, tipoSangue, idade, peso);

        if (doador.podeDoar())
        {
            doadores.Add(doador);
        }
        else
        {
            Console.WriteLine("Idade ou peso abaixo do permitido, cadastro cancelado.");
            Console.ReadLine();
        }
    }
        public async Task <IActionResult> Post([FromBody] DoacaoSopaDTO dto)
        {
            if (ModelState.IsValid)
            {
                Doador doador = _context.Doador.SingleOrDefault(q => q.CodDoador == dto.Doador.Id);
                if (doador == null)
                {
                    ModelState.AddModelError("Doador", "Doador inválido");
                    return(new BadRequestObjectResult(ModelState));
                }

                Item item = _context.Item.SingleOrDefault(q => q.Id == dto.Item.Id && q.Destino == "SOPA");
                if (item == null)
                {
                    ModelState.AddModelError("Item", "Item inválido");
                    return(new BadRequestObjectResult(ModelState));
                }


                //corrige fuso horario do js
                dto.DataDaDoacao = dto.DataDaDoacao.AddHours(-dto.DataDaDoacao.Hour);
                DoacaoSopa novo = new DoacaoSopa()
                {
                    Doador     = doador,
                    Data       = dto.DataDaDoacao,
                    Descricao  = dto.Descricao,
                    Item       = item,
                    Quantidade = dto.Quantidade
                };
                try
                {
                    _context.DoacaoSopa.Add(novo);

                    _context.SaveChanges();
                    //atualiza o estoque
                    Usuario usuario = await _userManager.GetUserAsync(HttpContext.User);

                    _estoqueManager.DarEntrada(usuario, item, novo.Quantidade);

                    dto.Id = novo.Id;
                    return(new ObjectResult(dto));
                }
                catch
                {
                    return(new BadRequestObjectResult(ModelState));
                }
            }

            return(new BadRequestObjectResult(ModelState));
        }
Exemplo n.º 26
0
        public IActionResult BuscarPorTipoSanguineo(string tipoSanguineo, string fatorRh)
        {
            Doador        doador   = new Doador();
            List <Doador> doadores = new List <Doador>();

            switch (tipoSanguineo)
            {
            case "A":
                doador.TipoSanguineo = TipoSanguineo.A;
                break;

            case "B":
                doador.TipoSanguineo = TipoSanguineo.B;
                break;

            case "AB":
                doador.TipoSanguineo = TipoSanguineo.AB;
                break;

            case "O":
                doador.TipoSanguineo = TipoSanguineo.O;
                break;

            default:
                return(BadRequest(new { msg = "Tipo Sanguineo Inválido" }));
            }

            switch (fatorRh)
            {
            case "negativo":
                doador.FatorRh = FatorRh.Negativo;
                break;

            case "positivo":
                doador.FatorRh = FatorRh.Positivo;
                break;

            default:
                return(BadRequest(new { msg = "Fator RH Inválido" }));
            }

            if (doadores.Count > 0)
            {
                return(Ok(doadores));
            }
            else
            {
                return(Ok(new { msg = "Não existem doadores com este Tipo Sanguineo" }));
            }
        }
Exemplo n.º 27
0
 public IActionResult Editar(Doador doador)
 {
     if (ModelState.IsValid)
     {
         var oldDoador = _doadorDAO.BuscarPorId(doador.Id);
         oldDoador.Nome     = doador.Nome;
         oldDoador.Cpf      = doador.Cpf;
         oldDoador.Email    = doador.Email;
         oldDoador.Telefone = doador.Telefone;
         _doadorDAO.Editar(oldDoador);
         //return View();
     }
     return(RedirectToAction("Index", "Doador"));
 }
Exemplo n.º 28
0
        public IActionResult Cadastrar(Doador doador)
        {
            if (ModelState.IsValid)
            {
                doador.TipoSanguineo = _tipoSanguineoDAO.BuscarPorId(doador.TipoSanguineoId);

                if (_doadorDAO.Cadastrar(doador))
                {
                    return(RedirectToAction("Index", "Doador"));
                }
                ModelState.AddModelError("", "Já existe um  doador com esse CPF!");
            }
            ViewBag.TiposSanguineos = new SelectList(_tipoSanguineoDAO.Listar(), "Id", "");
            return(View(doador));
        }
Exemplo n.º 29
0
        public int CadastrarDoador(Doador d)
        {
            Doador buscaNoDatabase = BuscarDoadorPorCpf(d);

            if (BuscarDoadorPorCpf(d) == null)
            {
                _context.Doadores.Add(d);
                _context.SaveChanges();

                // Id do doador cadastro no database.
                return(d.IdDoador);
            }

            // Id do doador encontrado no database.
            return(buscaNoDatabase.IdDoador);
        }
Exemplo n.º 30
0
        public static void Renderizar()
        {
            int op;

            do
            {
                Console.WriteLine("\n[]-- Listagem de Doadores --[]");
                Console.WriteLine("\nOpções: 1 - Listar Todos Doadores; 2 - Buscar por CPF; 3 - Buscar por Email; 0 - Sair;");
                Console.WriteLine("Digite sua opção: ");
                op = Convert.ToInt32(Console.ReadLine());
                Console.Clear();
                switch (op)
                {
                case 1:
                    Console.WriteLine("\n[]-- Doadores: ");
                    Console.WriteLine("[]---------------------------------------[]");
                    List <Doador> lst = DAO.DoadorDAO.ListarTodos();
                    foreach (Doador doador in lst)
                    {
                        Console.WriteLine("    " + doador.ToString());
                    }
                    Console.WriteLine("[]---------------------------------------[]");
                    break;

                case 2:
                    string cpf;
                    Console.WriteLine("Insira o CPF:");
                    cpf = Console.ReadLine();
                    Doador d   = DAO.DoadorDAO.BuscaPorCPF(cpf);
                    string msg = d != null?d.ToString() : "Doador não encontrado.";

                    Console.WriteLine(msg);
                    break;

                case 3:
                    Console.WriteLine("TODO");
                    break;

                case 0:
                    break;

                default:
                    Console.WriteLine("\n[]-- Não existe esta opção.");
                    break;
                }
            } while (op != 0);
        }