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)); }
public ActionResult DeleteConfirmed(int id) { LivroExemplar livroExemplar = db.Exemplares.Find(id); db.Exemplares.Remove(livroExemplar); db.SaveChanges(); return(RedirectToAction("Index")); }
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)); }
// 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)); }
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)); }
// 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)); }
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)); }