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));
     }
 }
예제 #4
0
 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();
     }
 }
예제 #5
0
 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();
     }
 }
예제 #6
0
 public static void DeleteEjemplar(Ejemplar ejemplar)
 {
     DeleteEjemplar(ejemplar.Id);
 }