public IActionResult Crear(IFormCollection thisForm)
 {
     SearchText             = thisForm["Titleid"];
     ViewData["SearchTerm"] = "";
     try
     {
         Libro      objlibro = new Libro(cnnkey);
         LibroModel objData  = new LibroModel(SearchText, thisForm["name"],
                                              thisForm["type"], thisForm["pub_id"], thisForm["price"], thisForm["Avance"],
                                              thisForm["royal"], thisForm["yearsales"], thisForm["notes"], thisForm["pubdate"]);
         ViewData["isPostProcess"] = 1;
         if (!objlibro.Crear(objData))
         {
             ViewData["MessageText"] = "No se pudo craer el Libro" +
                                       objlibro.getMensaje();
             ViewData["isPostProcess"] = "0";
         }
         elCRUDModel = objlibro.ReadModel(SearchText);
     }
     catch (Exception e)
     {
         elCRUDModel               = new AddLibroModel();
         ViewData["MessageText"]   = "Error Procesando los datos" + e.Message;
         ViewData["isPostProcess"] = "0";
     }
     return(View(elCRUDModel));
 }
        public static LibroModel toModel(Libro input)
        {
            LibroModel output = new LibroModel();

            if (input.Autor != null)
            {
                output.Autor                 = new AutorModel();
                output.Autor.Apellidos       = input.Autor.Apellidos;
                output.Autor.FechaNacimiento = input.Autor.FechaNacimiento;
                output.Autor.Id              = input.Autor.Id.ToString();
                output.Autor.Nombre          = input.Autor.Nombre;
            }

            output.AutorId = input.AutorId != null ? output.AutorId = input.AutorId.ToString() : output.AutorId = Guid.Empty.ToString();
            if (input.Categoria != null)
            {
                output.Categoria             = new CategoriaModel();
                output.Categoria.Descripcion = input.Categoria.Descripcion;
                output.Categoria.Id          = input.Categoria.Id.ToString();
                output.Categoria.Nombre      = input.Categoria.Nombre;
            }

            output.CategoriaId = input.CategoriaId != null ? output.CategoriaId = input.CategoriaId.ToString() : output.CategoriaId = Guid.Empty.ToString();
            output.Id          = input.Id != null ? output.Id = input.Id.ToString() : output.Id = Guid.Empty.ToString();
            output.ISBN        = input.ISBN != null ? output.ISBN = input.ISBN : output.ISBN = "-o-";
            output.Nombre      = input.Nombre != null ? output.Nombre = input.Nombre : output.Nombre = "-o-";
            return(output);
        }
Esempio n. 3
0
        public List <LibroModel> Read(string criterio, bool indPK)
        {
            List <LibroModel> lista    = new List <LibroModel>();
            string            strWhere = "(pub_name + title + cast(notes as varchar) + type) LIKE '%" + criterio + "%'; ";

            if (indPK)
            {
                strWhere = "title_id = '" + criterio + "'; "; // puntual por PK
            }
            DataTable tabla = Buscar("titles INNER JOIN publishers on publishers.pub_id = titles.pub_id ", "titles.*, publishers.pub_name", strWhere);

            foreach (DataRow row in tabla.Rows)
            {
                LibroModel obj1 = new LibroModel();
                obj1.Titleid  = row["title_id"].ToString();
                obj1.Name     = row["title"].ToString();
                obj1.Type     = row["type"].ToString();
                obj1.EditorID = row["pub_id"].ToString();
                obj1.Editora  = row["pub_name"].ToString();
                try
                {
                    obj1.Price     = double.Parse(row["price"].ToString());
                    obj1.Avance    = double.Parse(row["advance"].ToString());
                    obj1.Royal     = double.Parse(row["royalty"].ToString());
                    obj1.YearSales = double.Parse(row["ytd_sales"].ToString());
                    obj1.Notas     = row["notes"].ToString();

                    obj1.FechaPublicado = DateTime.Parse(row["pubdate"].ToString());
                }
                catch { }
                lista.Add(obj1);
            }
            return(lista);
        }
        // GET: Biblioteca
        public ActionResult Index()
        {
            List <LibroModel> list = new List <LibroModel>();

            using (var context = new BibliotecaEntities())
            {
                var query = from d in context.Libro
                            join l in context.LibAut on d.IdLibro equals l.IdLibro
                            join a in context.Autor on l.IdAutor equals a.IdAutor
                            select new
                {
                    ID          = d.IdLibro,
                    Titulo      = d.Titulo,
                    NombreAutor = a.Nombre
                };

                foreach (var item in query)
                {
                    LibroModel lib = new LibroModel();
                    lib.Autor  = item.NombreAutor;
                    lib.Titulo = item.Titulo;
                    list.Add(lib);
                }
            }


            return(View(list));
        }
Esempio n. 5
0
        //
        // GET: /Home/

        public ActionResult Index()
        {
            //Creo el contexto de datos
            var bd = new bdVentaLibrosDataContext();
            //Recupero la lista de libros -> son de tipo Libro: entidad de dominio

            var lista = (from libro in bd.Libros
                         select new LibroModel
            {
                codigoBarra = libro.codigoBarra,
                foto = libro.foto,
                titulo = libro.titulo,
                sinopsis = libro.sinopsis,
                precio = Convert.ToDouble(libro.precio),
                fechaAlta = Convert.ToDateTime(libro.fechaAlta)
            }).OrderByDescending(l => l.fechaAlta).Take(10).ToList();

            var listaCompleta = new List <LibroModel>();

            foreach (var libro in lista)
            {
                var entidadLibro = new LibroModel
                {
                    codigoBarra = libro.codigoBarra,
                    foto        = libro.foto,
                    titulo      = libro.titulo,
                    sinopsis    = libro.sinopsis,
                    precio      = libro.precio
                };
                listaCompleta.Add(entidadLibro);
            }

            ViewBag.masVendidos = (from libro in bd.DetallePorPedido
                                   from libroExistencia in bd.Libros
                                   where libro.codigoLibro == libroExistencia.codigoBarra &&
                                   libroExistencia.stock > 0
                                   group libro by libro.codigoLibro into g
                                   orderby g.Sum(x => x.cantidad) descending
                                   select g.First()).Take(3);

            ViewBag.mejorCalificacion = (from libro in bd.CalificacionPorLibro
                                         from libroExistencia in bd.Libros
                                         where libro.codigoLibro == libroExistencia.codigoBarra &&
                                         libroExistencia.stock > 0
                                         group libro by libro.codigoLibro into g
                                         orderby g.Average(x => x.calificacion) descending
                                         select g.First()).Take(3);

            ViewBag.masDeseados = (from libro in bd.ListaDeseados
                                   from libroExistencia in bd.Libros
                                   where libro.codigoLibro == libroExistencia.codigoBarra &&
                                   libroExistencia.stock > 0
                                   group libro by libro.codigoLibro into g
                                   orderby g.Count() descending
                                   select g.First()).Take(3);

            //Paso como parámetro a la vista la lista de inmuebles
            return(View(listaCompleta));
        }
        public static Libro toEntity(LibroModel input)
        {
            Libro output = new Libro();

            output.AutorId     = input.AutorId != null ? output.AutorId = Guid.Parse(input.AutorId) : output.AutorId = Guid.Empty;
            output.CategoriaId = input.CategoriaId != null ? output.CategoriaId = Guid.Parse(input.CategoriaId) : output.CategoriaId = Guid.Empty;
            output.Id          = input.Id != null ? output.Id = Guid.Parse(input.Id) : output.Id = Guid.Empty;
            output.ISBN        = input.ISBN != null ? output.ISBN = input.ISBN : output.ISBN = "-o-";
            output.Nombre      = input.Nombre != null ? output.Nombre = input.Nombre : output.Nombre = "-o-";
            return(output);
        }
Esempio n. 7
0
        public ActionResult ModificarLibro(LibroModel libroElegido, HttpPostedFileBase foto)
        {
            var bd = new bdVentaLibrosDataContext();

            if (foto != null)
            {
                foto.SaveAs(System.IO.Path.Combine(@"E:\webVentaLibros\webVentaLibros\img\catalogo", System.IO.Path.GetFileName(foto.FileName)));
            }

            var libroModificado = from libro in bd.Libros
                                  where libroElegido.codigoBarra == libro.codigoBarra
                                  select libro;

            //Cambio los datos del inmueble
            if (foto != null)
            {
                foreach (var libro in libroModificado)
                {
                    libro.titulo      = libroElegido.titulo;
                    libro.idGenero    = libroElegido.idGenero;
                    libro.idEditorial = libroElegido.idEditorial;
                    libro.idAutor1    = libroElegido.idAutor1;
                    libro.idAutor2    = libroElegido.idAutor2;
                    libro.idAutor3    = libroElegido.idAutor3;
                    libro.idAutor4    = libroElegido.idAutor4;
                    libro.paginas     = libroElegido.paginas;
                    libro.precio      = Convert.ToDecimal(libroElegido.precio);
                    libro.sinopsis    = libroElegido.sinopsis;
                    libro.edicion     = libroElegido.edicion;
                    libro.foto        = @"img/catalogo/" + foto.FileName;
                }
            }
            else
            {
                foreach (var libro in libroModificado)
                {
                    libro.titulo      = libroElegido.titulo;
                    libro.idGenero    = libroElegido.idGenero;
                    libro.idEditorial = libroElegido.idEditorial;
                    libro.idAutor1    = libroElegido.idAutor1;
                    libro.idAutor2    = libroElegido.idAutor2;
                    libro.idAutor3    = libroElegido.idAutor3;
                    libro.idAutor4    = libroElegido.idAutor4;
                    libro.paginas     = libroElegido.paginas;
                    libro.precio      = Convert.ToDecimal(libroElegido.precio);
                    libro.sinopsis    = libroElegido.sinopsis;
                    libro.edicion     = libroElegido.edicion;
                }
            }
            //Hago el submit
            bd.SubmitChanges();
            TempData["Message"] = "Libro modificado!";
            return(RedirectToAction("AgregarLibro"));
        }
Esempio n. 8
0
 public bool InsertarLibro(LibroModel libroModel)
 {
     try
     {
         LibroDAL libroDAL = new LibroDAL(_configuration);
         return(libroDAL.InsertBook(libroModel));
     }
     catch (Exception ex)
     {
         throw;
     }
 }
Esempio n. 9
0
        private List <string> getTypes()
        {
            List <string> lista = new List <string>();
            DataTable     tabla = Buscar("titles", "DISTINCT type", "1=1");

            foreach (DataRow row in tabla.Rows)
            {
                LibroModel obj1 = new LibroModel();
                lista.Add(row["type"].ToString());
            }
            return(lista);
        }
Esempio n. 10
0
        static void Main(string[] args)
        {
            LibrosController controlador = new LibrosController();

            LibroModel libro = new LibroModel();

            libro.Titulo      = "C#";
            libro.Autor       = "Eutiquio";
            libro.Editorial   = "ITMA";
            libro.Descripcion = "nada";

            controlador.Agregar(libro);
            Console.ReadLine();
        }
        public int Agregar(LibroModel libro)
        {
            int filasAfectadas    = 0;
            DataSourceFactory dsf = DataSourceFactory.GetDataSourceFactory();

            dsf.GetCommand().CommandText = AgregarSql();
            dsf.GetCommand().Parameters.Add(DataSourceFactory.NewParameter("titulo", libro.Titulo));
            dsf.GetCommand().Parameters.Add(DataSourceFactory.NewParameter("autor", libro.Autor));
            dsf.GetCommand().Parameters.Add(DataSourceFactory.NewParameter("editorial", libro.Editorial));
            dsf.GetCommand().Parameters.Add(DataSourceFactory.NewParameter("descripcion", libro.Descripcion));

            filasAfectadas = dsf.GetCommand().ExecuteNonQuery();
            return(filasAfectadas);
        }
Esempio n. 12
0
        public async Task <LibroModel> GetLibro(int id)
        {
            try
            {
                LibroModel libroModel = new LibroModel();
                string     LibroApi   = await httpClient.GetStringAsync($"{urlBase}libros/{id}");

                libroModel = JsonConvert.DeserializeObject <LibroModel>(LibroApi);
                return(libroModel);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 13
0
        public bool InsertBook(LibroModel libroModel)
        {
            try
            {
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
                builder.DataSource         = "DESKTOP-5PLC5LP";
                builder.InitialCatalog     = "BibliotecaApi2";
                builder.IntegratedSecurity = true;

                //var connectionString = _configuration["Connection"];
                using (SqlConnection cnn = new SqlConnection(builder.ConnectionString))
                {
                    cnn.Open();

                    using (SqlCommand command = new SqlCommand("[dbo].[spInsertBook]", cnn))
                    {
                        command.CommandType = CommandType.StoredProcedure;
                        command.Parameters.Add(new SqlParameter {
                            ParameterName = "@prmTitulo", SqlDbType = SqlDbType.NVarChar, Value = libroModel.Titulo
                        });
                        command.Parameters.Add(new SqlParameter {
                            ParameterName = "@prmActivo", SqlDbType = SqlDbType.Bit, Value = libroModel.Activo
                        });
                        command.Parameters.Add(new SqlParameter {
                            ParameterName = "@prmGeneroId", SqlDbType = SqlDbType.Int, Value = libroModel.GeneroId
                        });
                        command.Parameters.Add(new SqlParameter {
                            ParameterName = "@prmRuta", SqlDbType = SqlDbType.NVarChar, Value = libroModel.Ruta
                        });
                        command.Parameters.Add(new SqlParameter {
                            ParameterName = "@prmAutor", SqlDbType = SqlDbType.NVarChar, Value = libroModel.Autor
                        });
                        command.Parameters.Add(new SqlParameter {
                            ParameterName = "@prmUsuarioId", SqlDbType = SqlDbType.NVarChar, Value = libroModel.UsuarioID
                        });
                        command.ExecuteNonQuery();
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                return(false);

                throw;
            }
        }
Esempio n. 14
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            LibroModel = await _context.Libros
                         .Include(l => l.Autor)
                         .Include(l => l.Categoria).FirstOrDefaultAsync(m => m.Id == id);

            if (LibroModel == null)
            {
                return(NotFound());
            }
            return(Page());
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            LibroModel = await _context.Libros.FindAsync(id);

            if (LibroModel != null)
            {
                _context.Libros.Remove(LibroModel);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
Esempio n. 16
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            LibroModel = await _context.Libros
                         .Include(l => l.Autor)
                         .Include(l => l.Categoria).FirstOrDefaultAsync(m => m.Id == id);

            if (LibroModel == null)
            {
                return(NotFound());
            }
            ViewData["AutorId"]     = new SelectList(_context.AutorModel, "Id", "Nombre");
            ViewData["CategoriaId"] = new SelectList(_context.Categorias, "Id", "Titulo");
            return(Page());
        }
Esempio n. 17
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="criterio"> el criterio de busqueda</param>
        /// <param name="indCRUD"> indicador si la data es full para create and update</param>
        /// <returns></returns>
        public AddLibroModel ReadModel(string criterio)
        {
            AddLibroModel fullModel = new AddLibroModel();
            LibroModel    oneLibro  = null;

            if (criterio != "") /*se interpreta modify*/
            {
                // busqueda por PK
                List <LibroModel> oList = Read(criterio, true);
                oneLibro = oList[0]; //primer record
            }
            else
            {
                oneLibro = new LibroModel(); // blanck
            }
            fullModel.DataModel = oneLibro;
            fullModel.Editors   = getEditors();
            fullModel.Types     = getTypes();
            return(fullModel);
        }
Esempio n. 18
0
        public ActionResult AgregarLibro(LibroModel libro, HttpPostedFileBase foto)
        {
            var bd = new bdVentaLibrosDataContext();

            if (LibroExiste(libro.codigoBarra))
            {
                TempData["Message"] = "Ya existe un libro con el mismo título y editorial";
            }
            else
            {
                foto.SaveAs(System.IO.Path.Combine(@"E:\webVentaLibros\webVentaLibros\img\catalogo", System.IO.Path.GetFileName(foto.FileName)));

                //Convierto el model (libro) en entidad
                Libros entidadLibro = new Libros
                {
                    titulo      = libro.titulo,
                    codigoBarra = libro.codigoBarra,
                    idEditorial = libro.idEditorial,
                    paginas     = libro.paginas,
                    stock       = libro.stock,
                    edicion     = libro.edicion,
                    precio      = Convert.ToDecimal(libro.precio),
                    idGenero    = libro.idGenero,
                    sinopsis    = libro.sinopsis,
                    idAutor1    = libro.idAutor1,
                    idAutor2    = libro.idAutor2,
                    idAutor3    = libro.idAutor3,
                    idAutor4    = libro.idAutor4,
                    foto        = @"img/catalogo/" + foto.FileName,
                    fechaAlta   = DateTime.Now
                };

                //Agregando un nuevo registro
                bd.Libros.InsertOnSubmit(entidadLibro);
                bd.SubmitChanges();
                TempData["Message"] = "Libro agregado!";
            }

            return(RedirectToAction("AgregarLibro"));
        }
Esempio n. 19
0
        public async Task <HttpResponseMessage> DeleteLibro(int id, string token)
        {
            try
            {
                HttpResponseMessage response = new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest);

                LibroModel LibroModel = await GetLibro(id);

                if (LibroModel == null)
                {
                    return(response);
                }

                response = await httpClient.PutAsJsonAsync <LibroModel>($"{urlBase}libros/eliminar/{LibroModel.Id}", LibroModel);

                return(response);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public LibroModel BuscarPorTitulo(string titulo)
        {
            LibroModel lib = null;

            return(lib);
        }
 public int Actualizar(string titulo, LibroModel nuevoLibro)
 {
     throw new NotImplementedException();
 }
        public void Agregar(LibroModel libro)
        {
            LibrosDao dao = new LibrosMySql();

            dao.Agregar(libro);
        }
Esempio n. 23
0
 public LibroController()
 {
     this.model = new LibroModel();
 }