示例#1
0
 public static Ejemplar GetEjemplar(int EjemplarId)
 {
     using (var ctx = new BibliotecaContext()) {
         Ejemplar e1 = ctx.Ejemplares.Where(e => e.Id == EjemplarId).FirstOrDefault();
         return(e1);
     }
 }
示例#2
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();
     }
 }
示例#3
0
        public HttpResponseMessage Eliminar(Ejemplar entidad)
        {
            var resultado = (HttpResponseMessage)null;

            try
            {
                if (entidad == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, new { message = "El modelo no puede ser nulo" }));
                }
                if (entidad.Codigo < 1)
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, new { message = "El código debe ser amyor a 0" }));
                }

                entidad = _ejemplarService.GetByCodigo(entidad.Codigo);

                if (entidad != null)
                {
                    _ejemplarService.Delete(entidad);

                    resultado = Request.CreateResponse(HttpStatusCode.OK, 1);
                }
                else
                {
                    resultado = Request.CreateResponse(HttpStatusCode.OK, 0);
                }
            }
            catch (Exception exception)
            {
                resultado = Request.CreateResponse(HttpStatusCode.InternalServerError, new { message = exception.Message });
            }

            return(resultado);
        }
示例#4
0
        public void UpdateEjemplarTest()
        {
            Ejemplar ejemplar = null; // TODO: Inicializar en un valor adecuado

            LibroBLL.UpdateEjemplar(ejemplar);
            Assert.Inconclusive("Un método que no devuelve ningún valor no se puede comprobar.");
        }
示例#5
0
 private void modificarEjemplares()
 {
     foreach (var oDetallePrestamo in oPrestamoSelected.ListaDeDetalles)
     {
         Ejemplar oEjemplar = oEjemplarService.obtenerEjemplarSinParametros(oDetallePrestamo.IdEjemplar);
     }
 }
示例#6
0
        private void lstEjemplares_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                try
                {
                    Ejemplar ejemplar = (Ejemplar)lstEjemplares.SelectedItem;
                    if (lstEjemplares.SelectedIndex == -1)
                    {
                        throw new Exception("Seleccione un ejemplar");
                    }

                    else if (this.Owner is frm2GestionarPrestamo)
                    {
                        ((frm2GestionarPrestamo)this.Owner).CompletarCodigo(ejemplar.Codigo.ToString(), this);
                        CloseWindow();
                    }
                    else if (ejemplar.Disponible == false)
                    {
                        throw new Exception("El ejemplar se encuentra prestado. Por favor, elija otro");
                    }
                    else if (this.Owner is frm3AltaPrestamo)
                    {
                        ((frm3AltaPrestamo)this.Owner).CompletarCodigo(ejemplar.Codigo.ToString(), this);
                        ((frm3AltaPrestamo)this.Owner).CompletarFormulario("ejemplar");
                        CloseWindow();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
示例#7
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)));
     }
 }
示例#8
0
        // GET BY ID
        public Ejemplar getById(int codEjemplar)
        {
            Ejemplar     ejemplar = new Ejemplar();
            const string SQL      = "getByIdEjemplar";

            using (SqlConnection conexion = new SqlConnection(conexionString)) {
                SqlCommand command = conexion.CreateCommand();
                command.CommandText = SQL;
                command.CommandType = CommandType.StoredProcedure;
                command.Parameters.AddWithValue("@codEjemplar", codEjemplar);
                command.Connection = conexion;
                conexion.Open();

                using (SqlDataReader reader = command.ExecuteReader()) {
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            ejemplar = parseEjemplar(reader);
                        }
                    }
                }
                if (conexion.State == System.Data.ConnectionState.Open)
                {
                    conexion.Close();
                }
            }

            //ejemplar.Prestamos = pS.getByEjemplarPrestamo(codEjemplar);

            return(ejemplar);
        }
示例#9
0
        // UPDATE
        public Ejemplar update(Ejemplar ejemplar)
        {
            const string SQL = "actualizarEjemplar";

            using (SqlConnection conexion = new SqlConnection(conexionString)) {
                SqlCommand command = conexion.CreateCommand();
                command.CommandText = SQL;
                command.CommandType = CommandType.StoredProcedure;
                command.Connection  = conexion;
                command.Parameters.AddWithValue("@codEditorial", ejemplar.Editorial.CodEditorial);
                command.Parameters.AddWithValue("@codLibro", ejemplar.CodLibro);
                command.Parameters.AddWithValue("@isbn", ejemplar.Isbn);
                command.Parameters.AddWithValue("@nPaginas", ejemplar.NPaginas);
                command.Parameters.AddWithValue("@fPublicacion", ejemplar.FPublicacion);


                conexion.Open();

                command.ExecuteNonQuery();

                if (conexion.State == System.Data.ConnectionState.Open)
                {
                    conexion.Close();
                }

                return(ejemplar);
            }
        }
示例#10
0
        private NameValueCollection ReverseMap(Ejemplar ejemplar)
        {
            string usuarioUtilizado;
            string usuario1 = ConfigurationManager.AppSettings["Legajo1"];
            string usuario2 = ConfigurationManager.AppSettings["Legajo2"];
            string usuario3 = ConfigurationManager.AppSettings["Legajo3"];

            if (usuario1 != null)
            {
                usuarioUtilizado = usuario1;
            }
            else if (usuario2 != null)
            {
                usuarioUtilizado = usuario2;
            }
            else if (usuario3 != null)
            {
                usuarioUtilizado = usuario3;
            }
            else
            {
                throw new Exception("El usuario de interacción con el servidor es incorrecto.");
            }

            NameValueCollection n = new NameValueCollection();

            n.Add("id", ejemplar.Id.ToString()); // LONG
            n.Add("Usuario", usuarioUtilizado);
            n.Add("idLibro", ejemplar.IdLibro.ToString());
            n.Add("Observaciones", ejemplar.Observaciones);
            n.Add("Precio", ejemplar.Precio.ToString()); // INT
            n.Add("FechaAlta", ejemplar.FechaAlta.ToString());
            return(n);
        }
示例#11
0
        public IList <Ejemplar> getAll()
        {
            const string     SQL        = "mostrarEjemplares";
            IList <Ejemplar> ejemplares = null;
            Ejemplar         ejemplar   = null;

            using (SqlConnection conexion = new SqlConnection(cadenaConexion))
            {
                SqlCommand cmd = new SqlCommand(SQL, conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                conexion.Open();

                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    ejemplares = new List <Ejemplar>();
                    if (reader.HasRows)
                    {
                        ejemplares = new List <Ejemplar>();
                        while (reader.Read())
                        {
                            ejemplar = parseEjemplar(reader);
                            ejemplares.Add(ejemplar);
                        }
                    }
                }
            }
            return(ejemplares);
        }
示例#12
0
        //public EquipoRes Equipo { get; set; }

        public EjemplarRes(Ejemplar objEjemplar, bool isLogin = false)
        {
            this.ejemplarId          = objEjemplar.EjemplarId;
            this.numeroSerieEjemplar = objEjemplar.NumSerie;
            //this.Equipo = new EquipoRes(objEjemplar.Equipo);
            this.nombreModelo = objEjemplar.Equipo.Modelo.Nmodelo;
        }
示例#13
0
        public IList <Ejemplar> getByIdDeLibro(int codLibro)
        {
            const string     SQL        = "mostrarEjemplaresPorLibro";
            IList <Ejemplar> ejemplares = null;
            Ejemplar         ejemplar   = null;

            using (SqlConnection conexion = new SqlConnection(cadenaConexion)) {
                conexion.Open();
                SqlCommand cmd = new SqlCommand(SQL, conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("idLibro", codLibro);
                cmd.ExecuteNonQuery();
                using (SqlDataReader reader = cmd.ExecuteReader()) {
                    ejemplares = new List <Ejemplar>();
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            ejemplar = parseEjemplar(reader);
                            ejemplares.Add(ejemplar);
                        }
                    }
                }
            }
            return(ejemplares);
        }
示例#14
0
 private void btnModificar_Click(object sender, EventArgs e)
 {
     if (txtISBN.Text == string.Empty)
     {
         MessageBox.Show("Para modificar la descripción de un ejemplar, antes debe seleccionarlo.");
     }
     else
     {
         try
         {
             ValidarCampos(ejemplar);
             Ejemplar ej = (Ejemplar)lstEjemplares.SelectedItem;
             Ejemplar ejemplarModificar = new Ejemplar(ej.CodigoLibro, ej.Precio);
             ejemplarModificar.Codigo      = ej.Codigo;
             ejemplarModificar.Precio      = Convert.ToDouble(txtPrecio.Text);
             ejemplarModificar.Descripcion = txtObservaciones.Text;
             int codigo = this.m.SE.ModificarEjemplar(ejemplarModificar);
             MessageBox.Show("El ejemplar " + codigo + " se ha modificado exitosamente");
             Libro seleccionado = IndicarLibro();
             CompletarFormulario(seleccionado);
             CargarListaEjemplares(seleccionado);
             FormatearCampos(seleccion);
             LimpiarCampos(ejemplar);
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
         }
     }
 }
示例#15
0
        public bool update(Ejemplar oEjemplar)
        {
            string sql = @"UPDATE  Ejemplar SET idLibro=" + oEjemplar.IdLibro + " " +
                         "WHERE idEstadoEjemplar=" + oEjemplar.IdEstadoEjemplar + " AND borrado=0";

            return((DBConexion.GetDBConexion().ExecuteSQL(sql)) == 1);
        }
示例#16
0
        public HttpResponseMessage Guardar(Ejemplar entidad)
        {
            var resultado = (HttpResponseMessage)null;

            try
            {
                if (entidad == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, new { message = "El modelo no puede ser nulo" }));
                }

                if (entidad.Edicion)
                {
                    _ejemplarService.Update(entidad);
                }
                else
                {
                    entidad.Estatus = 1;
                    _ejemplarService.Create(entidad);
                }

                resultado = Request.CreateResponse(HttpStatusCode.OK, entidad.Codigo);
            }
            catch (Exception exception)
            {
                resultado = Request.CreateResponse(HttpStatusCode.InternalServerError, new { message = exception.Message });
            }

            return(resultado);
        }
示例#17
0
        public List <Ejemplar> ObtenerEjemplares()
        {
            List <Ejemplar> ejemplares = new List <Ejemplar>();
            DataTable       dt         = new DataTable();

            string store = "s_ObtenerEjemplares";

            dt = data.Leer(store);

            if (dt != null && dt.Rows.Count > 0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    Ejemplar ej = new Ejemplar();
                    ej.ID       = Convert.ToInt32(row["Id_Ejemplar"].ToString());
                    ej.IDLibro  = Convert.ToInt32(row["Id_Libro"].ToString());
                    ej.ISBN     = row["ISBN"].ToString();
                    ej.Prestado = Convert.ToBoolean(row["Prestado"].ToString());

                    ejemplares.Add(ej);
                }
            }

            return(ejemplares);
        }
        public ActionResult Edit(int id, FormCollection collection)
        {
            try
            {
                // TODO: Add update logic here
                Ejemplar           e          = DEjemplar.ObtenerEjemplar(id);
                List <Material>    materiales = DEjemplar.ObtenerMateriales();
                List <Laboratorio> labs       = DEjemplar.ObtenerLabs();

                int      idLab       = Convert.ToInt32(Request.Form["Laboratorio"]);
                int      idMat       = Convert.ToInt32(Request.Form["Material"]);
                DateTime FechaCompra = Convert.ToDateTime(Request.Form["FechaCompra"].Substring(0, 10));

                e.Prestado    = Convert.ToInt32(Request.Form["Prestado"]);
                e.FechaCompra = FechaCompra;

                //Obtenemos el objeto con el id de el value de nuestra vista
                e.Laboratorio = labs.Find(l => l.IdLaboratorio == idLab);
                e.Material    = materiales.Find(m => m.IdMaterial == idMat);


                System.Diagnostics.Debug.WriteLine(e.ToString());
                System.Diagnostics.Debug.WriteLine(DEjemplar.ActualizarEjemplar(e));
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
示例#19
0
        // CREATE
        public Ejemplar create(Ejemplar ejemplar)
        {
            const string SQL = "crearEjemplar";

            using (SqlConnection conexion = new SqlConnection(conexionString)) {
                SqlCommand command = conexion.CreateCommand();
                command.CommandText = SQL;
                command.CommandType = CommandType.StoredProcedure;
                command.Connection  = conexion;
                command.Parameters.AddWithValue("@codEditorial", ejemplar.Editorial.CodEditorial);
                command.Parameters.AddWithValue("@codLibro", ejemplar.CodLibro);
                command.Parameters.AddWithValue("@isbn", ejemplar.Isbn);
                command.Parameters.AddWithValue("@nPaginas", ejemplar.NPaginas);
                command.Parameters.AddWithValue("@fPublicacion", ejemplar.FPublicacion);
                command.Parameters.Add("@codEjemplar", SqlDbType.Int).Direction = ParameterDirection.Output;

                conexion.Open();

                command.ExecuteNonQuery();

                ejemplar.CodEjemplar = Convert.ToInt32(command.Parameters["@codEjemplar"].Value);

                if (conexion.State == System.Data.ConnectionState.Open)
                {
                    conexion.Close();
                }

                return(ejemplar);
            }
        }
        public ActionResult save(Ejemplar ejemplar)
        {
            ActionResult resultado = null;

            //Este validador, toma el objeto que devuelve directamente la vista. Da igual las modificaciones que hagas en este metodo
            //Por lo tanto, la siguiente instruccion no vale de nada, para la validacion de editorial hay que buscarse la vida de otra manera.
            //ejemplar.Editorial = edS.getById(ejemplar.Editorial.CodEditorial);
            if (ModelState.IsValid)
            {
                if (ejemplar.CodEjemplar > 0)
                {
                    ejS.update(ejemplar);
                    ViewBag.Message = "El ejemplar se ha actualizado";
                    resultado       = RedirectToAction("Index");
                }
                else
                {
                    ejS.create(ejemplar);
                    ViewBag.Message = "El ejemplar se ha creado con éxito";
                    resultado       = RedirectToAction("Index");
                }
            }
            else
            {
                ViewBag.EditorialList = edS.getAll();
                resultado             = View("Ejemplar", ejemplar);
            }
            //
            return(resultado);
        }
        public ActionResult Create(Ejemplar e)
        {
            try
            {
                // TODO: Add insert logic here
                List <Material>    materiales = DEjemplar.ObtenerMateriales();
                List <Laboratorio> labs       = DEjemplar.ObtenerLabs();

                int idLab = Convert.ToInt32(Request.Form["Laboratorio"]);
                int idMat = Convert.ToInt32(Request.Form["Material"]);

                //Obtenemos el objeto con el id de el value de nuestra vista
                e.Laboratorio = labs.Find(l => l.IdLaboratorio == idLab);
                e.Material    = materiales.Find(m => m.IdMaterial == idMat);


                //System.Diagnostics.Debug.WriteLine(e.ToString());
                System.Diagnostics.Debug.WriteLine(DEjemplar.InsertarEjemplar(e));
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
示例#22
0
        public static string InsertarEjemplar(Ejemplar ejemplar)
        {
            string        respuesta     = "";
            SqlConnection sqlConnection = new SqlConnection();

            try
            {
                sqlConnection = Conexion.getInstancia().CrearConexion();
                SqlCommand command = new SqlCommand("sp_insertarEjemplar", sqlConnection);
                command.CommandType = CommandType.StoredProcedure;

                //Agregamos los parametros:
                command.Parameters.Add("@var_fechaCompra", SqlDbType.Date).Value  = ejemplar.FechaCompra;
                command.Parameters.Add("@var_idMaterial", SqlDbType.Int).Value    = ejemplar.Material.IdMaterial;
                command.Parameters.Add("@var_idLaboratorio", SqlDbType.Int).Value = ejemplar.Laboratorio.IdLaboratorio;

                //Agregamos los parametros de salida (@var_idEjemplar)
                SqlParameter var_idEjemplar = new SqlParameter();
                var_idEjemplar.ParameterName = "@var_idEjemplar";
                var_idEjemplar.SqlDbType     = SqlDbType.Int;
                var_idEjemplar.Direction     = ParameterDirection.Output;

                //Agregamos los parametros de salida (claveCarrera)
                SqlParameter var_claveEjemplar = new SqlParameter();
                var_claveEjemplar.ParameterName = "@var_claveEjemplar";
                var_claveEjemplar.SqlDbType     = SqlDbType.VarChar;
                var_claveEjemplar.Size          = 30;
                var_claveEjemplar.Direction     = ParameterDirection.Output;

                //Abrimos la conexion y guardamos el resultado en respuesta
                command.Parameters.Add(var_idEjemplar);
                command.Parameters.Add(var_claveEjemplar);

                sqlConnection.Open();

                if (command.ExecuteNonQuery() >= 1) // el 1 respresenta un resultado exitoso (1 row affected)
                {
                    //Esto quiere decir que se ingresó el provedor correctamente
                    respuesta = "Ejemplar de" + ejemplar.Material.Nombre + " insertado correctamente. " +
                                "\nClave generada: " + Convert.ToString(var_claveEjemplar.Value);
                }
                else
                {
                    respuesta = "No se pudo completar la solicitud...";
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                if (sqlConnection.State == ConnectionState.Open)
                {
                    sqlConnection.Close();
                }
            }
            return(respuesta);
        }
        //
        // GET: /TiendaManager/Edit/5

        public ActionResult Edit(int id)
        {
            Ejemplar ejemplar = db.Ejemplares.Find(id);

            ViewBag.GeneroId = new SelectList(db.Generos, "GeneroId", "Nombre", ejemplar.GeneroId);
            ViewBag.AutorId  = new SelectList(db.Autores, "AutorId", "Nombre", ejemplar.AutorId);
            return(View(ejemplar));
        }
示例#24
0
        // LLEVA A EJEMPLAR
        public ActionResult Ejemplar(int codEjemplar)
        {
            Ejemplar ejemplar = new Ejemplar();

            ejemplar      = eS.getById(codEjemplar);
            ViewBag.Title = MyResources.EjemplarResources.ElementoTituloPagina + " - " + ejemplar.Isbn;
            return(View("~/Views/Ejemplar/Ejemplar.cshtml", ejemplar));
        }
示例#25
0
        public ActionResult DeleteConfirmed(int id)
        {
            Ejemplar ejemplar = db.Ejemplares.Find(id);

            db.Ejemplares.Remove(ejemplar);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#26
0
 public static int CambiarEstadoEjemplar(int EjemplarId)
 {
     using (var ctx = new BibliotecaContext()) {
         Ejemplar e1 = ctx.Ejemplares.Where(e => e.Id == EjemplarId).FirstOrDefault();
         e1.Estado = (e1.Estado + 1) % 2;
         ctx.SaveChanges();
         return(e1.Estado);
     }
 }
        // GET: Ejemplar/Edit/5
        public ActionResult Edit(int id)
        {
            Ejemplar e = DEjemplar.ObtenerEjemplar(id);

            ViewBag.cmbMateriales = DEjemplar.ObtenerMateriales();
            ViewBag.cmbLabs       = DEjemplar.ObtenerLabs();
            System.Diagnostics.Debug.WriteLine(e.ToString());
            return(View(e));
        }
示例#28
0
        public Ejemplar mapping(DataRow row)
        {
            Ejemplar oEjemplar = new Ejemplar();

            oEjemplar.IdEjemplar       = Convert.ToInt32(row["idEjemplar"].ToString());
            oEjemplar.IdLibro          = Convert.ToInt32(row["idLibro"].ToString());
            oEjemplar.IdEstadoEjemplar = Convert.ToInt32(row["idEstadoEjemplar"].ToString());
            return(oEjemplar);
        }
示例#29
0
        public TransactionResult Put(Ejemplar ejemplar)
        {
            NameValueCollection obj = ReverseMap(ejemplar);

            string result = WebHelper.Put("/Biblioteca/Ejemplares", obj);

            TransactionResult resultadoTransaccion = MapResultado(result);

            return(resultadoTransaccion);
        }
示例#30
0
        private Ejemplar parseEjemplar(SqlDataReader reader)
        {
            Ejemplar ejemplar = new Ejemplar();

            ejemplar.CodEjemplar  = Convert.ToInt32(reader["idEjemplar"]);
            ejemplar.ISBN         = reader["isbn"].ToString();
            ejemplar.NumPaginas   = Convert.ToInt32(reader["numeropaginas"].ToString());
            ejemplar.FPublicacion = Convert.ToDateTime(reader["fPublicacion"].ToString());
            return(ejemplar);
        }