public int IngresarEjemplar(int idLibro, string observaciones, double precio, DateTime fechaAlta)
        {
            List <Ejemplar> ejemplares      = this.GetEjemplares();
            int             idNuevoEjemplar = this.UltimoCodEjemplar() + 1;

            Ejemplar ejemplar = new Ejemplar(idNuevoEjemplar, idLibro, observaciones, precio, fechaAlta.ToShortDateString());

            foreach (Ejemplar e in ejemplares)
            {
                if (e.ToString() == ejemplar.ToString())
                {
                    throw new Exception(string.Format("Ya existe el ejemplar."));
                }
            }

            TransactionResult result = ejemplarMapper.Insert(ejemplar);

            if (result.IsOk)
            {
                ejemplar.NombreLibro = this.BuscarLibroById(ejemplar.IdLibro).Titulo;
                this._ejemplares.Add(ejemplar);
                return(result.Id);
            }
            else
            {
                throw new Exception(string.Format("Ocurrió un error en el servidor. Detalle: \"{0}\"", result.Error));
            }
        }
        public int InsertarEjemplar(Ejemplar e)
        {
            List <Ejemplar> ejemplares = _mapper.TraerEjemplares();

            foreach (Ejemplar a in ejemplares)
            {
                if (e.Id == a.Id)
                {
                    throw new Exception("Ya existe un ejemplar cargado con ese numero de Id.");
                }
            }

            TransactionResult result = _mapper.Insert(e);

            if (!result.IsOk)
            {
                throw new Exception("Hubo un error en la peticion al servidor. Detalle: " + result.Error);
            }
            else
            {
                return(result.Id);
            }
        }