public async Task <Mensagem> AddUnique(Reserva objeto) { using (var data = new ContextBase(_OptionsBuilder)) { Mensagem mensagem = new Mensagem(); bool livre = false; var reserva = data.Reservas.Where(x => x.Ativo == true && x.IdLivro == objeto.IdLivro).ToArray().LastOrDefault(); // uma reserva dura 1 día if (reserva == null) { livre = true; } else { if (reserva.Ativo == true && DateTime.Now < reserva.Data.AddDays(1)) { livre = true; reserva.Ativo = false; data.Update(reserva); await data.SaveChangesAsync(); } else { livre = false; } } var emprestimos = data.Emprestimos.Where(x => x.IdLivro == objeto.IdLivro && x.DFIm == null).Count(); if (livre && emprestimos == 0) { await data.AddAsync(objeto); await data.SaveChangesAsync(); mensagem.Titulo = "Info"; mensagem.Corpo = "O cadastro foi efectuado com sucesso !!!"; } else { mensagem.Titulo = ""; mensagem.Corpo = "Erro, o livro não esta dísponivel. !!!"; } return(mensagem); } }
public async Task <Mensagem> Update_msg(Emprestimo objeto) { using (var db = new ContextBase(_OptionsBuilder)) { Mensagem mensagem = new Mensagem(); try { db.Update(objeto); await db.SaveChangesAsync(); mensagem.Titulo = "Info"; mensagem.Corpo = "O cadastro foi efectuado com sucesso !!!"; } catch (Exception) { mensagem.Titulo = ""; mensagem.Corpo = "Erro, o cadastro não foi efectuado com sucesso !!!"; } return(mensagem); } }