Esempio n. 1
0
            // se implementa la interface IRequestHandler

            /// <summary>
            ///
            /// </summary>
            /// <param name="request">Obj a insertar</param>
            /// <param name="cancellationToken"></param>
            /// <returns></returns>
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                // 0 significa error


                // Crea instancia autor
                var autorLibro = new AutorLibro
                {
                    Nombre          = request.Nombre,
                    FechaNacimiento = request.FechaNacimiento,
                    Apellido        = request.Apellido,
                    AutorLibroGuid  = Convert.ToString(Guid.NewGuid())
                };

                _contexto.AutorLibro.Add(autorLibro);           //se agrega a un contexto
                // ahora a db
                var valor = await _contexto.SaveChangesAsync(); // Inserta la acción en db y retora un # de transacciones realizadas al ejecutar la transacción

                if (valor > 0)
                {
                    return(Unit.Value);
                }
                else
                {
                    throw new Exception("No se pudo insertar el autor del libro");
                }
            }
Esempio n. 2
0
        public ActionResult Create([Bind(Include = "Titulo,FechaEdicion")] Libro libro, int[] idsAutores)
        {
            if (ModelState.IsValid && idsAutores != null)
            {
                db.Libro.Add(libro);
                db.SaveChanges();
                int idLibro = libro.IdLibro;

                foreach (var autorId in idsAutores)
                {
                    Autor autor = new Autor();
                    autor = db.Autor.FirstOrDefault(a => a.IdAutor == autorId);
                    AutorLibro autorLibro = new AutorLibro();
                    autorLibro.Autor = autor;
                    autorLibro.Libro = libro;
                    db.AutorLibro.Add(autorLibro);
                    db.SaveChanges();
                }


                return(RedirectToAction("Index"));
            }

            else
            {
                List <Autor> autores = new List <Autor>();
                autores            = db.Autor.ToList();
                ViewBag.AllAutores = autores;
                return(View(libro));
            }
        }
        public async Task <IActionResult> Edit(Guid id, [Bind("IdLibro,IdAutor")] AutorLibro autorLibro)
        {
            if (id != autorLibro.IdLibro)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(autorLibro);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AutorLibroExists(autorLibro.IdLibro))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdAutor"] = new SelectList(_context.Autores, "IdAutor", "IdAutor", autorLibro.IdAutor);
            ViewData["IdLibro"] = new SelectList(_context.Libros, "IdLibro", "IdLibro", autorLibro.IdLibro);
            return(View(autorLibro));
        }
Esempio n. 4
0
        public async Task <IActionResult> AddAutor(Guid idLibro, Microsoft.AspNetCore.Http.IFormCollection form)
        {
            var idAutor = new Guid(form["idAutor"]);

            if (!_context.AutoresLibros.Any(x => x.IdAutor == idAutor && x.IdLibro == idLibro))
            {
                var autorLibro = new AutorLibro()
                {
                    IdAutor = idAutor,
                    IdLibro = idLibro
                };
                _context.AutoresLibros.Add(autorLibro);
                await _context.SaveChangesAsync();
            }
            var libro = await _context.Libros.FindAsync(idLibro);

            libro.AutoresLibros = await _context.AutoresLibros.Where(x => x.IdLibro == idLibro).ToListAsync();

            ViewData["IdEditorial"] = new SelectList(_context.Editoriales, "IdEditorial", "Nombre", libro.IdEditorial);
            ViewData["IdGenero"]    = new SelectList(_context.Generos, "IdGenero", "Nombre", libro.IdGenero);
            ViewData["IdPais"]      = new SelectList(_context.Paises, "IdPais", "Nombre", libro.IdPais);
            ViewData["Autores"]     = new SelectList(_context.Autores, "IdAutor", "Nombre");

            libro.Portada = DescargarImagen(libro.Imagen);

            return(View("Edit", libro));
        }
            public async Task <AutorDto> Handle(AutorUnico request, CancellationToken cancellationToken)
            {
                AutorLibro result = await Context.AutorLibro.FirstOrDefaultAsync(a => a.AutorLibroGuid == request.AutorGuid);

                AutorDto dto = Mapper.Map <AutorLibro, AutorDto>(result);

                return(dto);
            }
 public void Update(AutorLibro i)
 {
     DB.SetCommand("dbo.UpdateAutorLibro");
     DB.AddParameter("@id", i.Id);
     DB.AddParameter("@nombre", i.Nombre);
     DB.AddParameter("@apellidos", i.Apellidos);
     DB.AddParameter("@libroId", i.LibroId);
     DB.ExecuteNonQuery();
 }
 public int Insert(AutorLibro i)
 {
     DB.SetCommand("dbo.InsertAutorLibro");
     DB.AddParameter("@nombre", i.Nombre);
     DB.AddParameter("@apellidos", i.Apellidos);
     DB.AddParameter("@libroId", i.LibroId);
     i.Id = (int)DB.ExecuteScalar();
     return(i.Id);
 }
 private AutorLibro FromDr(IDataReader r)
 {
     var i = new AutorLibro()
     {
         Id        = (int)r["Id"],             // <- Cast!
         Nombre    = (string)r["Nombre"],
         Apellidos = r["Apellidos"] as string, // <- Porque es nullable en DB
         LibroId   = (int)r["LibroId"]
     }
     return(i);
 }
Esempio n. 9
0
            public async Task <AutorDto> Handle(AutorFiltro request, CancellationToken cancellationToken)
            {
                AutorLibro autorLibro = await _contexto.AutorLibro.Where(a => a.AutorLibroGuid == request.AutorGuid).FirstOrDefaultAsync();

                if (autorLibro == null)
                {
                    throw new Exception("No se encontro el autor");
                }
                AutorDto autorDto = _mapper.Map <AutorLibro, AutorDto>(autorLibro);

                return(autorDto);
            }
        public async Task <IActionResult> Create([Bind("IdLibro,IdAutor")] AutorLibro autorLibro)
        {
            if (ModelState.IsValid)
            {
                autorLibro.IdLibro = Guid.NewGuid();
                _context.Add(autorLibro);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdAutor"] = new SelectList(_context.Autores, "IdAutor", "IdAutor", autorLibro.IdAutor);
            ViewData["IdLibro"] = new SelectList(_context.Libros, "IdLibro", "IdLibro", autorLibro.IdLibro);
            return(View(autorLibro));
        }
Esempio n. 11
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var autorLibro = new AutorLibro
                {
                    Nombre          = request.Nombre,
                    Apellido        = request.Apellido,
                    FechaNacimiento = request.FechaNacimiento,
                    AutorLibroGuid  = Guid.NewGuid().ToString()
                };

                _contexto.Add <AutorLibro>(autorLibro);
                var valor = await _contexto.SaveChangesAsync();

                return(valor > 0 ? Unit.Value : throw new Exception("No se pudo insertar el Autor del libro"));
            }
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var autorLibro = new AutorLibro {
                    Nombre          = request.Nombre,
                    FechaNacimiento = request.FechaNacimiento,
                    Apellido        = request.Apellido
                };

                _contexto.AutorLibro.Add(autorLibro);
                var valor = await _contexto.SaveChangesAsync();

                if (valor > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("No se pudo insertar el Autor del libro");
            }
Esempio n. 13
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                AutorLibro autorLibro = new AutorLibro
                {
                    Nombre          = request.Nombre,
                    Apellido        = request.Apellido,
                    FechaNacimiento = request.FechaNacimiento,
                    AutorLibroGuid  = Guid.NewGuid().ToString()
                };

                _contexto.AutorLibro.Add(autorLibro);
                int valor = await _contexto.SaveChangesAsync();

                if (valor > 0)
                {
                    return(Unit.Value);
                }
                throw new Exception("Error al insetar autor");
            }
Esempio n. 14
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var autorLibro = new AutorLibro {
                    Nombre          = request.Nombre,
                    Apellido        = request.Apellido,
                    FechaNacimiento = request.FechaNacimiento,
                    AutorLibroGuid  = Convert.ToString(Guid.NewGuid())
                };

                _contesto.AutorLibro.Add(autorLibro);
                var valor = await _contesto.SaveChangesAsync();

                if (valor > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("no se logro la insercion");
            }
            public async Task <Unit> Handle(Ejecutar request, CancellationToken cancellationToken)
            {
                var autorLibro = new AutorLibro
                {
                    Nombre          = request.Nombre,
                    Apellido        = request.Apellido,
                    FechaNacimiento = request.FechaNacimiento,
                    AutorLibroGuid  = Guid.NewGuid().ToString()
                };

                this._context.Add(autorLibro);
                var AutorWasInsert = await _context.SaveChangesAsync();

                if (AutorWasInsert > 0)
                {
                    return(Unit.Value);
                }
                throw new Exception("Error trying to save the autor");
            }
Esempio n. 16
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var autorLibro = new AutorLibro
                {
                    Nombre          = request.Nombre,
                    Apellido        = request.Apellido,
                    FechaNacimiento = request.FechaNacimiento,
                    AutorLibroGuid  = Convert.ToString(Guid.NewGuid())
                };

                _context.AutorLibro.Add(autorLibro);
                var result = await _context.SaveChangesAsync();

                if (result > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("No se pudo insertar el Autor del libro");
            }
Esempio n. 17
0
        public async Task <Unit> Handle(NewAutorCommand request, CancellationToken cancellationToken)
        {
            var autorLibro = new AutorLibro
            {
                Nombre          = request.Nombre,
                Apellido        = request.Apellido,
                FechaNacimiento = request.FechaNacimiento,
                AutorLibroGuid  = Guid.NewGuid().ToString()
            };

            await _context.AddAsync(autorLibro);

            var res = await _context.SaveChangesAsync();

            if (res > 0)
            {
                return(Unit.Value);
            }

            throw new Exception("No se pudo insertar el autor.");
        }
Esempio n. 18
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                int        result;
                AutorLibro autorLibro = new AutorLibro()
                {
                    Nombre          = request.Nombre,
                    Apellido        = request.Apellido,
                    FechaNacimiento = request.FechaNacimiento,
                    AutorLibroGuid  = Guid.NewGuid().ToString(),
                };

                await Contexto.AddAsync(autorLibro);

                result = await Contexto.SaveChangesAsync();

                if (result > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("Ha ocurrido un error");
            }
Esempio n. 19
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var autorLibro = new AutorLibro
                {
                    Nombre          = request.Nombre,
                    Apellido        = request.Apellido,
                    FechaNacimiento = request.FechaNacimiento,
                    AutorLibroGuid  = Convert.ToString(Guid.NewGuid())
                };

                _contexto.AutorLibro.Add(autorLibro);

                //Confirmando la inserción en la base de datos, si fue satisfactoria,
                //nos devolverà el numero de registros insertados
                //de lo contrario devolverá un 0
                var valor = await _contexto.SaveChangesAsync();

                if (valor > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("No se pudo insertar el autor del libro");
            }
Esempio n. 20
0
        public ActionResult Edit([Bind(Include = "IdLibro,Titulo,FechaEdicion")] Libro libro, int[] idsAutores)
        {
            if (ModelState.IsValid && idsAutores != null)
            {
                db.Entry(libro).State = EntityState.Modified;
                db.SaveChanges();

                List <AutorLibro> actualList = new List <AutorLibro>();
                actualList = db.AutorLibro.Where(a => a.IdLibro == libro.IdLibro).Select(al => al).ToList();

                foreach (AutorLibro actualLibro in actualList)
                {
                    db.AutorLibro.Remove(actualLibro);
                }

                foreach (var autorId in idsAutores)
                {
                    Autor autor = new Autor();
                    autor = db.Autor.FirstOrDefault(a => a.IdAutor == autorId);
                    AutorLibro autorLibro = new AutorLibro();
                    autorLibro.Autor = autor;
                    autorLibro.Libro = libro;
                    db.AutorLibro.Add(autorLibro);
                    db.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }
            else
            {
                List <Autor> autores = new List <Autor>();
                autores            = db.Autor.ToList();
                ViewBag.AllAutores = autores;
                return(View(libro));
            }
        }
 public void Delete(AutorLibro i)
 {
     Delete(i.Id);
 }