public ActionResult Create(DogEditViewmodel dog) { try { using (SqlConnection conn = Connection) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = @"INSERT INTO Dog (Name, Breed, Notes, ImageUrl, OwnerId) OUTPUT INSERTED.Id VALUES (@name, @breed, @notes, @imageUrl, @ownerId)"; cmd.Parameters.Add(new SqlParameter("@name", dog.Name)); cmd.Parameters.Add(new SqlParameter("@breed", dog.Breed)); cmd.Parameters.Add(new SqlParameter("@notes", dog.Notes)); cmd.Parameters.Add(new SqlParameter("@imageUrl", dog.ImageUrl)); cmd.Parameters.Add(new SqlParameter("@ownerId", dog.OwnerId)); var id = (int)cmd.ExecuteScalar(); dog.Id = id; // TODO: Add insert logic here return(RedirectToAction(nameof(Index))); } } } catch { return(View()); } }
// GET: Dogs/Create public ActionResult Create() { var ownerOptions = GetOwnerOptions(); var viewModel = new DogEditViewmodel() { OwnerOptions = ownerOptions }; return(View(viewModel)); }
// GET: Dogs/Edit/1 public ActionResult Edit(int id) { var dog = GetDogById(id); var ownerOptions = GetOwnerOptions(); var viewModel = new DogEditViewmodel() { Id = dog.Id, Name = dog.Name, Breed = dog.Breed, OwnerId = dog.OwnerId, Notes = dog.Notes, ImageUrl = dog.ImageUrl, OwnerOptions = ownerOptions }; return(View(viewModel)); }
public ActionResult Edit(int id, DogEditViewmodel dog) { try { using (SqlConnection conn = Connection) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = @"UPDATE Dog SET Name = @name, Breed = @breed, Notes = @notes, ImageUrl = @imageUrl, OwnerId = @ownerId WHERE Id = @id"; cmd.Parameters.Add(new SqlParameter("@name", dog.Name)); cmd.Parameters.Add(new SqlParameter("@breed", dog.Breed)); cmd.Parameters.Add(new SqlParameter("@notes", dog.Notes)); cmd.Parameters.Add(new SqlParameter("@imageUrl", dog.ImageUrl)); cmd.Parameters.Add(new SqlParameter("@ownerId", dog.OwnerId)); cmd.Parameters.Add(new SqlParameter("@id", id)); var rowsAffected = cmd.ExecuteNonQuery(); if (rowsAffected < 1) { return(NotFound()); } } } return(RedirectToAction(nameof(Index))); } catch { return(View()); } }