示例#1
0
        public int Create(DoacoesViewModel vm)
        {
            var obj = Mapper.Map <DoacoesViewModel, Doacoes>(vm);

            var doador   = _doadorRep.Get(vm.Doador.Id);
            var user     = _doadorRep.GetUserByIdDoador(doador);
            var donation = _rep.VerificaDisponibilidadeDeDoacao(user);

            if (donation.Equals(1))
            {
                return(406); //Informar que ele doou a menos de 90 dias, por isso não pode doador agora.
            }
            BeginTransaction();
            var result = _rep.AddDoacoes(obj);

            if (result == 0)
            {
                return(0);
            }

            BancoSangue banco   = new BancoSangue();
            var         Cliente = _repClientes.GetClienteByIdUsuario();

            var Doacoes = _rep.Get(result);

            banco.Clientes   = Cliente;
            banco.Doacoes    = Doacoes;
            banco.Quantidade = obj.Quantidade;
            banco.TipoSangue = obj.Tiposangue;
            banco.Vencimento = obj.DataDoacao.AddDays(42);

            _repBanco.AddBancoSangue(banco);

            return(result);
        }
示例#2
0
        public int Create(BancoSangueViewModel vm, int dias)
        {
            var doacao      = _doacoes.Get(vm.Doacoes.Id);
            var validaBanco = _rep.GetBancoSangueByDoacao(doacao);

            // Código 302 informa que a doação já existe no banco sangue.
            if (validaBanco != null)
            {
                return(302);
            }

            var      obj = Mapper.Map <BancoSangueViewModel, BancoSangue>(vm);
            DateTime data;

            data = DateTime.Now;

            if (dias != 0 || dias != null)
            {
                obj.Vencimento = data.AddDays(dias);
            }

            obj.Total = obj.Total + vm.Quantidade;
            BeginTransaction();
            _rep.Add(obj);
            return(Commit());
        }