Пример #1
0
        public ActionResult Create([Bind(Include = "Id,ColaboradorId,UsuarioId,DataEmprestimo,Status")] Emprestimo emprestimo, List <EmprestimoItens> exemplars)
        {
            if (ModelState.IsValid)
            {
                emprestimo.DataEmprestimo = DateTime.Now;
                emprestimo.ColaboradorId  = 0;
                emprestimo.UsuarioId      = Convert.ToInt32(exemplars.Select(x => x.UsuarioId).FirstOrDefault());
                emprestimo.Status         = EmprestimosStatusEnum.Andamento;
                emprestimo.ColaboradorId  = sessao.UsuarioId();
                db.Emprestimos.Add(emprestimo);
                db.SaveChanges();

                EmprestimoItens itens = new EmprestimoItens();

                DateTime DataLimite = DateTime.Now.AddDays(15);

                foreach (EmprestimoItens item in exemplars)
                {
                    itens.ColaboradorId  = emprestimo.ColaboradorId;
                    itens.UsuarioId      = emprestimo.UsuarioId;
                    itens.ColaboradorId  = emprestimo.ColaboradorId;
                    itens.DataEmprestimo = DateTime.Now;
                    itens.EmprestimoId   = emprestimo.Id;
                    itens.LivroId        = db.Exemplares.Where(x => x.Id == item.ExemplarId).Select(x => x.LivroId).FirstOrDefault();
                    itens.ExemplarId     = item.ExemplarId;
                    itens.DataDevolucao  = null;
                    itens.DataRenovacao  = null;
                    itens.DataLimite     = DataLimite;
                    itens.Status         = LivroExemplarStatusEnum.Emprestado;

                    db.EmprestimoItens.Add(itens);
                    db.SaveChanges();


                    LivroExemplar ex = db.Exemplares.Where(x => x.Id == item.ExemplarId).FirstOrDefault();

                    if (item.ExemplarId == ex.Id)
                    {
                        ex.Status          = LivroExemplarStatusEnum.Emprestado;
                        db.Entry(ex).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }

                return(RedirectToAction("Index"));
            }

            return(View(emprestimo));
        }
Пример #2
0
        public ActionResult Renovar(int id, string codigoDeBarras)
        {
            if (ModelState.IsValid)
            {
                EmprestimoItens item = db.EmprestimoItens.Where(x => x.EmprestimoId == id && x.Status != LivroExemplarStatusEnum.Devolvido).FirstOrDefault();

                if (item != null)
                {
                    item.DataRenovacao   = DateTime.Now;
                    item.DataLimite      = DateTime.Now.AddDays(15);
                    item.Status          = LivroExemplarStatusEnum.Renovado;
                    db.Entry(item).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("Details", "Emprestimos", new { id = id }));
        }
Пример #3
0
        public JsonResult PesquisaCodigoDeBarras(string codigo, int usuarioId)
        {
            LivroExemplar result = db.Exemplares.Where(x => x.CodigoDeBarras == codigo).Include(x => x.Livros).FirstOrDefault();

            EmprestimoItens emprestimo = db.EmprestimoItens.Where(x => x.LivroId == result.LivroId && x.UsuarioId == usuarioId && x.Exemplares.Status == LivroExemplarStatusEnum.Emprestado).FirstOrDefault();
            string          _mensagem  = "ok";

            if (emprestimo != null)
            {
                _mensagem = "Este usuario ja possui um exemplar deste livro";
                return(Json(new
                {
                    mensagem = _mensagem
                }, JsonRequestBehavior.AllowGet));
            }

            if (result == null)
            {
                _mensagem = "Codigo de barras invalido ou produto nao existe";
                return(Json(new
                {
                    mensagem = _mensagem
                }, JsonRequestBehavior.AllowGet));
            }
            else
            if (result.Status == LivroExemplarStatusEnum.Emprestado)
            {
                _mensagem = "Exemplar indisponivel";
                return(Json(new
                {
                    mensagem = _mensagem
                }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new
            {
                codigoDeBarras = result.CodigoDeBarras,
                exemplarId = result.Id,
                titulo = result.Livros.Titulo,
                autor = result.Livros.Autor,
                edicao = result.Livros.Edicao,
                editora = result.Livros.Editora,
                mensagem = _mensagem
            }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Create(List <EmprestimoItens> exemplars)
        {
            if (ModelState.IsValid)
            {
                int countItens   = 0;
                int emprestimoId = 0;
                foreach (EmprestimoItens item in exemplars)
                {
                    LivroExemplar exemplar = db.Exemplares.Where(x => x.Status == LivroExemplarStatusEnum.Emprestado && x.Id == item.ExemplarId).FirstOrDefault();

                    if (exemplar != null)
                    {
                        EmprestimoItens emprestimoItem = db.EmprestimoItens.Where(x => x.ExemplarId == item.ExemplarId && x.Status == LivroExemplarStatusEnum.Emprestado).FirstOrDefault();

                        if (emprestimoItem != null)
                        {
                            emprestimoId = emprestimoItem.EmprestimoId;

                            if (emprestimoItem.ExemplarId == item.ExemplarId && emprestimoItem.Status == LivroExemplarStatusEnum.Emprestado)
                            {
                                emprestimoItem.Status                 = LivroExemplarStatusEnum.Devolvido;
                                emprestimoItem.DataDevolucao          = DateTime.Now;
                                emprestimoItem.UsuarioId              = emprestimoItem.UsuarioId;
                                emprestimoItem.ColaboradorIdDevolucao = sessao.UsuarioId();

                                db.Entry(emprestimoItem).State = EntityState.Modified;
                                db.SaveChanges();

                                exemplar.Status = LivroExemplarStatusEnum.Disponivel;

                                db.Entry(exemplar).State = EntityState.Modified;
                                db.SaveChanges();
                            }
                        }
                    }
                    else
                    {
                        return(Json(new
                        {
                            mensagem = "Livro nao pode ser devolvido"
                        }, JsonRequestBehavior.AllowGet));
                    }

                    countItens = db.EmprestimoItens.Where(x => x.Status == LivroExemplarStatusEnum.Emprestado && x.EmprestimoId == emprestimoId).Count();

                    if (countItens == 0)
                    {
                        Emprestimo emprestimo = db.Emprestimos.Where(x => x.Id == emprestimoId).FirstOrDefault();
                        emprestimo.Status          = EmprestimosStatusEnum.Finalizado;
                        db.Entry(emprestimo).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }

                return(Json(new
                {
                    mensagem = "ok"
                }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new
            {
                mensagem = ""
            }, JsonRequestBehavior.AllowGet));
        }