public ActionResult Editar(EditarVanViewModel viewModel) { if (ModelState.IsValid) { VanModel vanModel = db.Vans .Include(v => v.TipoCarga) .Include(v => v.TipoLocomocao) .Include(v => v.TipoServico) .Include(v => v.TipoVan) .FirstOrDefault(v => v.ID == viewModel.ID); vanModel.Ano = viewModel.Ano; vanModel.Modelo = db.Modelos.Find(viewModel.ModeloId); vanModel.Observacoes = viewModel.Observacoes; vanModel.TipoServico = db.TipoServicos.Find(viewModel.TipoServicoId); vanModel.TipoCarga = db.TipoCargas.Find(viewModel.TipoCargaId); vanModel.TipoLocomocao = db.TipoLocomocaos.Find(viewModel.TipoLocomocaoId); vanModel.TipoVan = db.TipoVans.Find(viewModel.TipoVanId); vanModel.Proprietario = db.Users.Find(User.Identity.GetUserId()); vanModel.Placa = viewModel.Placa.ToUpper(); vanModel.CidadesAtendidas.Clear(); vanModel.CidadesAtendidas.Add(db.Cidades.Find(viewModel.CidadeId)); try { db.Entry(vanModel).State = EntityState.Modified; db.SaveChanges(); } catch (Exception) { throw; } return(RedirectToAction("Index")); } return(View(viewModel)); }
// GET: MinhasVans/Editar/5 public ActionResult Editar(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var userId = User.Identity.GetUserId(); VanModel vanModel = db.Vans .Include(v => v.TipoCarga) .Include(v => v.TipoLocomocao) .Include(v => v.TipoServico) .Include(v => v.TipoVan) .FirstOrDefault(v => v.ID == id && v.Proprietario.Id == userId); if (vanModel == null) { return(HttpNotFound()); } EditarVanViewModel viewModel = new EditarVanViewModel(); viewModel.ListaTipoServico = new SelectList(db.TipoServicos.Where(ts => ts.Ativo).ToList(), "Id", "Nome"); viewModel.ListaEstado = new SelectList(db.Estados.ToList(), "Id", "Nome"); viewModel.ListaMarca = new SelectList(db.Marcas.ToList(), "Id", "Nome"); var estadoId = vanModel.CidadesAtendidas.FirstOrDefault().Estado.Id; var marcaId = vanModel.Modelo.Marca.Id; viewModel.ListaCidade = new SelectList(db.Cidades.Where(c => c.Estado.Id == estadoId).ToList(), "Id", "Nome"); viewModel.ListaModelo = new SelectList(db.Modelos.Where(m => m.Marca.Id == marcaId && m.Ativo == true).ToList(), "Id", "Nome"); viewModel.Ano = vanModel.Ano; viewModel.ID = vanModel.ID; viewModel.MarcaId = vanModel.Modelo.Marca.Id; viewModel.ModeloId = vanModel.Modelo.Id; viewModel.Observacoes = vanModel.Observacoes; viewModel.TipoCargaId = vanModel.TipoCarga != null ? vanModel.TipoCarga.Id : default(int); viewModel.TipoLocomocaoId = vanModel.TipoLocomocao != null ? vanModel.TipoLocomocao.Id : default(int); viewModel.TipoServicoId = vanModel.TipoServico != null ? vanModel.TipoServico.Id : default(int); viewModel.TipoVanId = vanModel.TipoVan != null ? vanModel.TipoVan.Id : default(int); viewModel.EstadoId = vanModel.CidadesAtendidas.FirstOrDefault().Estado.Id; viewModel.CidadeId = vanModel.CidadesAtendidas.FirstOrDefault().Id; viewModel.Placa = vanModel.Placa; if (vanModel.TipoLocomocao != null) { viewModel.TipoLocomocao = db.TipoLocomocaos .Where(tl => tl.Ativo) .OrderBy(tl => tl.Nome) .Select(tl => new SelectListItem { Text = tl.Nome, Value = tl.Id.ToString() }); } if (vanModel.TipoCarga != null) { viewModel.TipoCarga = db.TipoCargas .Where(tl => tl.Ativo) .OrderBy(tl => tl.Nome) .Select(tl => new SelectListItem { Text = tl.Nome, Value = tl.Id.ToString() }); } if (vanModel.TipoVan != null) { viewModel.TipoVan = db.TipoVans .Where(tl => tl.Ativo) .OrderBy(tl => tl.Nome) .Select(tl => new SelectListItem { Text = tl.Nome, Value = tl.Id.ToString() }); } return(View(viewModel)); }