public ActionResult Create(Ejemplar ejemplar) { try { int v = validar(ejemplar); if(v == 1) throw new Excepcion("Código duplicado '" + ejemplar.Codigo + "'"); if(v == 2) throw new Excepcion("Código de barras duplicado '" + ejemplar.CodBarras + "'"); if(v == 3) throw new Excepcion("Código RFID duplicado '" + ejemplar.CodRFID + "'"); List<Ejemplar> le = ListaLibEjem; int j = -1; foreach(Ejemplar e in le) if(e.Id < 0) { e.Id = j; j--; } ejemplar.Id = j; le.Add(ejemplar); return View("Lista", ListaLibEjem); } catch(Excepcion ec) { ViewBag.mensaje = new Models.Mensaje(ec.AddDetailMensaje(), Models.Mensaje.TipoMsg.error); ViewBag.LibroId = ejemplar.Libro.Id; return View("Create", ejemplar); } catch(Exception ex) { return View("~/Views/Shared/Error.cshtml", new Models.ManejadorError(ex)); } }
private int validar(Ejemplar ejemplar) { List<Ejemplar> le = ListaLibEjem; foreach(Ejemplar e in le) { if(!string.IsNullOrEmpty(e.Codigo) && !string.IsNullOrEmpty(ejemplar.Codigo) && e.Codigo == ejemplar.Codigo && e.Id != ejemplar.Id) return 1; if(!string.IsNullOrEmpty(e.CodBarras) && !string.IsNullOrEmpty(ejemplar.CodBarras) && e.CodBarras == ejemplar.CodBarras && e.Id != ejemplar.Id) return 2; if(!string.IsNullOrEmpty(e.CodRFID) && !string.IsNullOrEmpty(ejemplar.CodRFID) && e.CodRFID == ejemplar.CodRFID && e.Id != ejemplar.Id) return 3; } return 0; }
public ActionResult Edit(int id, Ejemplar ejemplar) { try { int v = validar(ejemplar); if(v == 1) throw new Excepcion("Código duplicado '" + ejemplar.Codigo + "'"); if(v == 2) throw new Excepcion("Código de barras duplicado '" + ejemplar.CodBarras + "'"); if(v == 3) throw new Excepcion("Código RFID duplicado '" + ejemplar.CodRFID + "'"); Ejemplar e1 = ListaLibEjem.Where(e => e.Id == id).FirstOrDefault(); e1.CodBarras = ejemplar.CodBarras; e1.Codigo = ejemplar.Codigo; e1.CodRFID = ejemplar.CodRFID; e1.Estado = ejemplar.Estado; e1.TipoPrestamo = ejemplar.TipoPrestamo; e1.Ubicacion = ejemplar.Ubicacion; return View("Lista", ListaLibEjem); } catch(Excepcion ec) { ViewBag.mensaje = new Models.Mensaje(ec.UpdateDetailMensaje(), Models.Mensaje.TipoMsg.error); return View("Edit", ejemplar); } catch(Exception ex) { return View("~/Views/Shared/Error.cshtml", new Models.ManejadorError(ex)); } }
public static void CreateEjemplar(Ejemplar ejemplar) { using(var ctx = new BibliotecaContext()) { if(string.IsNullOrEmpty(ejemplar.Codigo)) ejemplar.Codigo = ""; if(string.IsNullOrEmpty(ejemplar.CodBarras)) ejemplar.CodBarras = ""; if(string.IsNullOrEmpty(ejemplar.CodRFID)) ejemplar.CodRFID = ""; if(string.IsNullOrEmpty(ejemplar.Ubicacion)) ejemplar.Ubicacion = ""; if(!string.IsNullOrEmpty(ejemplar.CodBarras) && ctx.Ejemplares.Where(e => e.CodBarras == ejemplar.CodBarras) != null) throw new Excepcion("Ya existe un registro con el código de barras '" + ejemplar.CodBarras + "'"); if(!string.IsNullOrEmpty(ejemplar.CodRFID) && ctx.Ejemplares.Where(e => e.CodRFID == ejemplar.CodRFID) != null) throw new Excepcion("Ya existe un registro con el código RFID '" + ejemplar.CodRFID + "'"); ejemplar.Libro = ctx.Libros.Where(l => l.Id == ejemplar.Libro.Id).FirstOrDefault(); ctx.Ejemplares.AddObject(ejemplar); ctx.SaveChanges(); } }
public static void UpdateEjemplar(Ejemplar ejemplar) { using(var ctx = new BibliotecaContext()) { Ejemplar e1; if(string.IsNullOrEmpty(ejemplar.Codigo)) ejemplar.Codigo = ""; if(string.IsNullOrEmpty(ejemplar.CodBarras)) ejemplar.CodBarras = ""; if(string.IsNullOrEmpty(ejemplar.CodRFID)) ejemplar.CodRFID = ""; if(string.IsNullOrEmpty(ejemplar.Ubicacion)) ejemplar.Ubicacion = ""; if(!string.IsNullOrEmpty(ejemplar.CodBarras)) { e1 = ctx.Ejemplares.Where(e => e.CodBarras == ejemplar.CodBarras).FirstOrDefault(); if(e1 != null && e1.Id != ejemplar.Id) throw new Excepcion("Ya existe un registro con el código de barras '" + ejemplar.CodBarras + "'"); } if(!string.IsNullOrEmpty(ejemplar.CodRFID)) { e1 = ctx.Ejemplares.Where(e => e.CodRFID == ejemplar.CodRFID).FirstOrDefault(); if(e1 != null && e1.Id != ejemplar.Id) throw new Excepcion("Ya existe un registro con el código RFID '" + ejemplar.CodRFID + "'"); } e1 = ctx.Ejemplares.Where(e => e.Id == ejemplar.Id).FirstOrDefault(); e1.CodBarras = ejemplar.CodBarras; e1.CodRFID = ejemplar.CodRFID; e1.Estado = ejemplar.Estado; e1.Codigo = ejemplar.Codigo; ejemplar.Libro = ctx.Libros.Where(l => l.Id == ejemplar.Libro.Id).FirstOrDefault(); e1.TipoPrestamo = ejemplar.TipoPrestamo; e1.Ubicacion = ejemplar.Ubicacion; ctx.SaveChanges(); } }
public static void DeleteEjemplar(Ejemplar ejemplar) { DeleteEjemplar(ejemplar.Id); }