Exemplo n.º 1
0
        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);
            }
        }