Esempio n. 1
0
        public ActionResult Create([Bind(Include = "Id,CodigoDebarras,Estante,Setor,Campus,Quantidade,Status,LivroId")] LivroExemplar livroExemplar)
        {
            if (ModelState.IsValid)
            {
                for (int i = 0; i < livroExemplar.Quantidade; i++)
                {
                    string codigoDeBarras = Regex.Replace(Guid.NewGuid().ToString(), "[^.0-9]", "");

                    if (codigoDeBarras.Length < 20)
                    {
                        codigoDeBarras = codigoDeBarras + "".PadRight(20 - codigoDeBarras.Length, '0');
                    }
                    else
                    {
                        codigoDeBarras = codigoDeBarras.Substring(0, 20);
                    }
                    livroExemplar.CodigoDeBarras = codigoDeBarras;
                    livroExemplar.Status         = LivroExemplarStatusEnum.Disponivel;
                    db.Exemplares.Add(livroExemplar);

                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }

            ViewBag.LivroId = new SelectList(db.Livros, "Id", "Titulo", livroExemplar.LivroId);
            return(View(livroExemplar));
        }
        public JsonResult PesquisaCodigoDeBarras(string codigo)
        {
            if (!string.IsNullOrEmpty(codigo) && !string.IsNullOrWhiteSpace(codigo))
            {
                LivroExemplar result = db.Exemplares.Where(x => x.CodigoDeBarras == codigo.Replace(" ", "") && x.Status == LivroExemplarStatusEnum.Emprestado).Include(x => x.Livros).FirstOrDefault();

                string _mensagem = "ok";

                if (result == null)
                {
                    _mensagem = "Codigo de barras: " + codigo + " nao pode ser devolvido, pois nao foi emprestado";
                    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));
            }
            return(Json(new
            {
                mensagem = ""
            }, JsonRequestBehavior.AllowGet));
        }
Esempio n. 3
0
        public ActionResult DeleteConfirmed(int id)
        {
            LivroExemplar livroExemplar = db.Exemplares.Find(id);

            db.Exemplares.Remove(livroExemplar);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 4
0
 public ActionResult Edit([Bind(Include = "Id,CodigoDeBarras,Estante,Setor,Campus,Status,LivroId")] LivroExemplar livroExemplar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(livroExemplar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.LivroId = new SelectList(db.Livros, "Id", "Titulo", livroExemplar.LivroId);
     return(View(livroExemplar));
 }
Esempio n. 5
0
        // GET: Exemplares/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LivroExemplar livroExemplar = db.Exemplares.Find(id);

            if (livroExemplar == null)
            {
                return(HttpNotFound());
            }
            return(View(livroExemplar));
        }
Esempio n. 6
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));
        }
Esempio n. 7
0
        // GET: Exemplares/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            //LivroExemplar livroExemplar = db.Exemplares.Find(id);
            LivroExemplar livroExemplar = db.Exemplares.Include(l => l.Livros).Where(l => l.Id == id).FirstOrDefault();

            if (livroExemplar == null)
            {
                return(HttpNotFound());
            }
            ViewBag.LivroId = new SelectList(db.Livros, "Id", "Titulo", livroExemplar.LivroId);
            return(View(livroExemplar));
        }
Esempio n. 8
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));
        }