internal void delete(int id) { var db = new bibliotecaEntities(); var exemplar = new EXEMPLAR(); exemplar.id = id; db.Entry(exemplar).State = System.Data.Entity.EntityState.Deleted; db.SaveChanges(); }
private bool possuiReserva(EXEMPLAR exemplarDigitando, USUARIO usuario) { var reserva = (from r in exemplarDigitando.LIVRO.RESERVA orderby r.id select r).FirstOrDefault(); //retorna verdadeiro se possuir uma reserva para outro usuário return(reserva != null && !reserva.USUARIO.Equals(usuario)); }
private bool exemplarEmprestado(EXEMPLAR exemplarDigitando) { using (var db = new bibliotecaEntities()) { return((from e in db.EMPRESTIMO where e.EXEMPLAR.id == exemplarDigitando.id & e.dtDevolucao == null select e).Any()); } }
internal void registrarEmprestimo(EXEMPLAR exemplarDigitando, USUARIO usuarioLogado) { if (permiteEmprestimo(exemplarDigitando, usuarioLogado)) { EMPRESTIMO e = new EMPRESTIMO(); e.fkExemplar = exemplarDigitando.id; e.dtEmprestimo = DateTime.Now.Date; e.dtPrazoDevolucao = e.dtEmprestimo.AddDays(usuarioLogado.PERFIL.diasParaEmprestimo); e.fkUsuario = usuarioLogado.id; persist(e); } }
internal void persist(EXEMPLAR exemplar) { var db = new bibliotecaEntities(); if (exemplar.id != 0) { db.Entry(exemplar).State = System.Data.Entity.EntityState.Modified; } else { db.EXEMPLAR.Add(exemplar); } db.SaveChanges(); }
private void txtEmprestimo_TextChanged(object sender, EventArgs e) { int id; exemplarDigitando = null; lblNomeLivro.Text = String.Empty; // Busca um exemplar com o id digitado if (int.TryParse(txtEmprestimo.Text, out id)) { exemplarDigitando = exemplarController.getByID(id); //atualiza label com o titulo do livro if (exemplarDigitando != null) { lblNomeLivro.Text = exemplarDigitando.LIVRO.titulo; } } }
private void pbSalvar_Click(object sender, EventArgs e) { ExemplarController c = new ExemplarController(); this.exemplar = new EXEMPLAR(); if (!txtId.Text.Equals(string.Empty)) { exemplar.id = int.Parse(txtId.Text); } exemplar.perdido = chkPerdido.Checked; exemplar.tipo = (TipoExemplar)(int.Parse(cbTipo.Text.Substring(0, 1))); exemplar.fkLivro = (int)cbLivro.SelectedValue; c.persist(exemplar); this.Close(); }
internal bool permiteEmprestimo(EXEMPLAR exemplarDigitando, USUARIO usuario) { UsuarioController c = new UsuarioController(); if (usuario == null) { throw new EmprestimoFalhouException("Usuário não está logado no sistema."); } //recarrega dados do usuário usuario = c.getByID(usuario.id); if (exemplarDigitando == null) { throw new EmprestimoFalhouException("Exemplar inválido"); } if (exemplarDigitando.tipo == TipoExemplar.ConsultaInterna) { throw new EmprestimoFalhouException("Exemplar apenas para consulta interna."); } if (exemplarEmprestado(exemplarDigitando)) { throw new EmprestimoFalhouException("Exemplar emprestado, empréstimo não pode ser realizado"); } if (possuiReserva(exemplarDigitando, usuario)) { throw new EmprestimoFalhouException("Livro com reserva."); } if (c.limiteEmprestimosAtingido(usuario)) { throw new EmprestimoFalhouException("Usuário excedeu limite de empréstimos"); } if (c.possuiAtrasos(usuario)) { throw new EmprestimoFalhouException("Usuário possui atrasos."); } if (c.possuiMulta(usuario)) { throw new EmprestimoFalhouException("Usuário possui multas em aberto."); } return(true); }