public ActionResult Create(ModeloEditViewModel modeloVm) { if (!ModelState.IsValid) { modeloVm.Marcas = _dbContext.Marcas.ToList(); modeloVm.Tipos = _dbContext.Tipos.ToList(); return(View(modeloVm)); } Modelo modelo = ConstruirModelo(modeloVm); if (_dbContext.Modelos.Any(m => m.MarcaId == modelo.MarcaId && m.TipoId == modelo.TipoId && m.NombreModelo == modelo.NombreModelo)) { modeloVm.Marcas = _dbContext.Marcas.ToList(); modeloVm.Tipos = _dbContext.Tipos.ToList(); ModelState.AddModelError(string.Empty, "Modelo repetido!!!"); return(View(modeloVm)); } using (var tran = _dbContext.Database.BeginTransaction()) { try { var folder = "~/Content/Images/Modelos/"; var file = ""; _dbContext.Modelos.Add(modelo); _dbContext.SaveChanges(); if (modeloVm.FotoFile != null) { file = $"{modelo.ModeloId}.jpg"; var response = Helper.UploadPhoto(modeloVm.FotoFile, folder, file); if (!response) { file = "SinImagenDisponible.jpg"; } } else { file = "SinImagenDisponible.jpg"; } modelo.Foto = $"{folder}{file}"; _dbContext.Entry(modelo).State = EntityState.Modified; _dbContext.SaveChanges(); tran.Commit(); TempData["Msg"] = "Registro agregado"; return(RedirectToAction("Index")); } catch (Exception e) { modeloVm.Marcas = _dbContext.Marcas.ToList(); modeloVm.Tipos = _dbContext.Tipos.ToList(); ModelState.AddModelError(string.Empty, e.Message); return(View(modeloVm)); } } }
public ActionResult Create(MarcaEditViewModel marcaVm) { if (!ModelState.IsValid) { return(View(marcaVm)); } Marca marca = ConstruirMarca(marcaVm); if (_dbContext.Marcas.Any(m => m.NombreMarca == marca.NombreMarca)) { ModelState.AddModelError(string.Empty, "Registro repetido!!!"); return(View(marcaVm)); } using (var transaction = _dbContext.Database.BeginTransaction()) { try { var folder = "~/Content/Images/Marcas/"; string file = ""; _dbContext.Marcas.Add(marca); _dbContext.SaveChanges(); if (marcaVm.LogoFile != null) { file = $"{marca.MarcaId}.jpg"; var response = Helper.UploadPhoto(marcaVm.LogoFile, folder, file); if (!response) { file = "SinImagenDisponible.jpg"; } } else { file = "SinImagenDisponible.jpg"; } marca.Logo = $"{folder}{file}"; _dbContext.Entry(marca).State = EntityState.Modified; _dbContext.SaveChanges(); transaction.Commit(); TempData["Msg"] = "Registro agregado"; return(RedirectToAction("Index")); } catch (Exception e) { ModelState.AddModelError(string.Empty, e.Message); return(View(marcaVm)); } } }
public ActionResult Edit(TipoEditViewModel tipoVm) { if (!ModelState.IsValid) { return(View(tipoVm)); } var tipo = ConstruirTipo(tipoVm); try { if (_dbContext.Tipos.Any(t => t.Descripcion == tipo.Descripcion && t.TipoId != tipo.TipoId)) { ModelState.AddModelError(string.Empty, "Registro repetido"); return(View(tipoVm)); } _dbContext.Entry(tipo).State = EntityState.Modified; _dbContext.SaveChanges(); TempData["Msg"] = "Registro editado"; return(RedirectToAction("Index")); } catch (Exception e) { ModelState.AddModelError(string.Empty, "Error inesperado al intentar editar un registro"); return(View(tipoVm)); } }
public async Task <IActionResult> PutCar(Guid id, Car car) { if (id != car.Id) { return(BadRequest()); } _context.Entry(car).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CarExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public ActionResult Create(ViajeEditViewModel viajeVm) { if (!ModelState.IsValid) { viajeVm.Autos = _dbContext.Autos.Where(a => a.Disponible).ToList(); viajeVm.Clientes = CargarListaClientes(); return(View(viajeVm)); } Viaje viaje = new Viaje { ViajeId = viajeVm.ViajeId, AutoId = viajeVm.AutoId, UsuarioId = viajeVm.UsuarioId, FechaHoraSalida = viajeVm.FechaHoraSalida, Estado = EstadoViaje.EnProceso }; if (_dbContext.Viajes.Any(v => v.UsuarioId == viaje.UsuarioId && v.Estado == EstadoViaje.EnProceso)) { viajeVm.Autos = _dbContext.Autos.Where(a => a.Disponible).ToList(); viajeVm.Clientes = CargarListaClientes(); ModelState.AddModelError(string.Empty, "Error: Usuario con viaje sin terminar..."); return(View(viajeVm)); } using (var tran = _dbContext.Database.BeginTransaction()) { try { _dbContext.Viajes.Add(viaje); var autoEnViaje = _dbContext.Autos.SingleOrDefault(a => a.AutoId == viaje.AutoId); if (autoEnViaje == null) { viajeVm.Autos = _dbContext.Autos.Where(a => a.Disponible).ToList(); viajeVm.Clientes = CargarListaClientes(); ModelState.AddModelError(String.Empty, "Joder... estamos en problemas"); return(View(viajeVm)); } autoEnViaje.Disponible = false; _dbContext.Entry(autoEnViaje).State = EntityState.Modified; _dbContext.SaveChanges(); tran.Commit(); TempData["Msg"] = "Viaje guardado..."; return(RedirectToAction("Index")); } catch (Exception ex) { viajeVm.Autos = _dbContext.Autos.Where(a => a.Disponible).ToList(); viajeVm.Clientes = CargarListaClientes(); ModelState.AddModelError(String.Empty, "Error al intentar guardar un viaje..."); tran.Rollback(); return(View(viajeVm)); } } }