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)); }
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 })); }
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)); }