public ActionResult Create(OwnerEditViewmodel owner)
        {
            try
            {
                using (SqlConnection conn = Connection)
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = @"INSERT INTO Owner (Name, Address, Phone, NeighborhoodId)
                                            OUTPUT INSERTED.Id
                                            VALUES (@name, @address, @phone, @neighborhoodId)";

                        cmd.Parameters.Add(new SqlParameter("@name", owner.Name));
                        cmd.Parameters.Add(new SqlParameter("@address", owner.Address));
                        cmd.Parameters.Add(new SqlParameter("@phone", owner.Phone));
                        cmd.Parameters.Add(new SqlParameter("@neighborhoodId", owner.NeighborhoodId));

                        var id = (int)cmd.ExecuteScalar();
                        owner.Id = id;
                        // TODO: Add insert logic here

                        return(RedirectToAction(nameof(Index)));
                    }
                }
            }
            catch
            {
                return(View());
            }
        }
        // GET: Owners/Create
        public ActionResult Create()
        {
            var neighborhoodOptions = GetNeighborhoodOptions();
            var viewModel           = new OwnerEditViewmodel()
            {
                NeighborhoodOptions = neighborhoodOptions
            };

            return(View(viewModel));
        }
        // GET: Owners/Edit/1
        public ActionResult Edit(int id)
        {
            var owner = GetOwnerById(id);
            var neighborhoodOptions = GetNeighborhoodOptions();
            var viewModel           = new OwnerEditViewmodel()
            {
                Id                  = owner.Id,
                Name                = owner.Name,
                Address             = owner.Address,
                NeighborhoodId      = owner.NeighborhoodId,
                Phone               = owner.Phone,
                NeighborhoodOptions = neighborhoodOptions
            };

            return(View(viewModel));
        }
        public ActionResult Edit(int id, OwnerEditViewmodel owner)
        {
            try
            {
                using (SqlConnection conn = Connection)
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = @"UPDATE Owner
                                            SET Name = @name, 
                                                Address = @address, 
                                                Phone = @phone, 
                                                NeighborhoodId = @neighborhoodId
                                            WHERE Id = @id";

                        cmd.Parameters.Add(new SqlParameter("@name", owner.Name));
                        cmd.Parameters.Add(new SqlParameter("@address", owner.Address));
                        cmd.Parameters.Add(new SqlParameter("@phone", owner.Phone));
                        cmd.Parameters.Add(new SqlParameter("@neighborhoodId", owner.NeighborhoodId));
                        cmd.Parameters.Add(new SqlParameter("@id", id));

                        var rowsAffected = cmd.ExecuteNonQuery();

                        if (rowsAffected < 1)
                        {
                            return(NotFound());
                        }
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }