// 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"); } }
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)); }
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); }
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)); }
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"); }
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"); }
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"); }
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"); }
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."); }
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"); }
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"); }
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); }