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); }
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()); }