private void InsertImagenesPorVehiculo(List <string> imagenes, VehiculoRegiVeSec vehiculo) { foreach (var url in imagenes) { var imagen = new ImagenPorVehiculo { DirecccionDeFoto = url, Vehiculo = vehiculo }; db.ImagenPorVehiculo.Add(imagen); } }
public async Task <IActionResult> Add([FromBody] VehiculoRegiVeSecDto vehiculoRegiVeSecDto) { var nuevoVehiculo = new VehiculoRegiVeSec(); nuevoVehiculo.Color = vehiculoRegiVeSecDto.Color; nuevoVehiculo.foto = vehiculoRegiVeSecDto.foto; //nuevoVehiculo.ImagenesPorVehiculo = vehiculoRegiVeSecDto.ImagenesPorVehiculo; nuevoVehiculo.Causa = vehiculoRegiVeSecDto.Causa; nuevoVehiculo.Deposito = vehiculoRegiVeSecDto.Deposito; nuevoVehiculo.DependenciaProcedente = vehiculoRegiVeSecDto.DependenciaProcedente; nuevoVehiculo.Dominio = vehiculoRegiVeSecDto.Dominio; nuevoVehiculo.Entrega = vehiculoRegiVeSecDto.Entrega; nuevoVehiculo.FechaDeEntrega = Convert.ToDateTime(vehiculoRegiVeSecDto.FechaDeEntrega); nuevoVehiculo.FechaDeIngreso = Convert.ToDateTime(vehiculoRegiVeSecDto.FechaDeIngreso); nuevoVehiculo.Id = vehiculoRegiVeSecDto.Id; nuevoVehiculo.Marca = vehiculoRegiVeSecDto.Marca; nuevoVehiculo.Modelo = vehiculoRegiVeSecDto.Modelo; nuevoVehiculo.NumeroSumario = vehiculoRegiVeSecDto.NumeroSumario; nuevoVehiculo.Observaciones = vehiculoRegiVeSecDto.Observaciones; nuevoVehiculo.Orden = vehiculoRegiVeSecDto.Orden; nuevoVehiculo.Propietario = vehiculoRegiVeSecDto.Propietario; nuevoVehiculo.Recibe = vehiculoRegiVeSecDto.Recibe; nuevoVehiculo.MagistradoInterviniente = vehiculoRegiVeSecDto.MagistradoInterviniente; nuevoVehiculo.SumarioRegistrar = vehiculoRegiVeSecDto.SumarioRegistrar; nuevoVehiculo.UbicacionActual = vehiculoRegiVeSecDto.UbicacionActual; nuevoVehiculo.Estado = db.Estados.FirstOrDefault(x => x.Id == vehiculoRegiVeSecDto.Estado.Id); nuevoVehiculo.Tipo = db.Tipos.FirstOrDefault(x => x.Id == vehiculoRegiVeSecDto.Tipo.Id); try { //throw new Exception("No se pudo guardar el vehiculo."); db.Vehiculos.Add(nuevoVehiculo); //InsertImagenesPorVehiculo(vehiculoRegiVeSecDto.ImagenesPorVehiculo, nuevoVehiculo); UpdateImagenes(nuevoVehiculo, vehiculoRegiVeSecDto.ImagenesPorVehiculo); await db.SaveChangesAsync(); return(Redirect("/Home/Index")); } catch (Exception ex) { ViewData["ErrorMessage"] = ex.Message; return(View("Error")); } }
public async Task <IActionResult> Delete(VehiculoRegiVeSec en) { try { //throw new Exception("No se pudo Eliminar el Registro."); en = GetVehiculoRegiVeSecId(en.Id); db.Remove(en); await db.SaveChangesAsync(); return(Redirect("/Home/Index/")); } catch (Exception ex) { ViewData["ErrorMessage"] = ex.Message; return(View("Error")); } }
private void UpdateImagenes(VehiculoRegiVeSec vehiculo, List <string> imagenes) { var imagenesGuardadas = db.ImagenPorVehiculo.Where(x => x.Vehiculo.Id == vehiculo.Id).ToList(); var imgenesBorrar = imagenesGuardadas.Where(x => imagenes.All(f => f != x.DirecccionDeFoto)); var imagenesNuevas = imagenes.Where(x => imagenesGuardadas.All(f => f.DirecccionDeFoto != x)); foreach (var item in imgenesBorrar) { db.ImagenPorVehiculo.Remove(item); } foreach (var item in imagenesNuevas) { db.ImagenPorVehiculo.Add(new ImagenPorVehiculo { DirecccionDeFoto = item, Vehiculo = vehiculo }); } }