示例#1
0
        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());
            }
        }
示例#2
0
        // GET: Dogs/Create
        public ActionResult Create()
        {
            var ownerOptions = GetOwnerOptions();
            var viewModel    = new DogEditViewmodel()
            {
                OwnerOptions = ownerOptions
            };

            return(View(viewModel));
        }
示例#3
0
        // 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));
        }
示例#4
0
        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());
            }
        }