Как сделать форму редактирования? - PullRequest
0 голосов
/ 29 февраля 2020

Мой контроллер (на стороне сервера):

// PUT: api/People/5
        [ResponseType(typeof(void))]
        public IHttpActionResult PutPerson(int id, Person person)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != person.Id)
            {
                return BadRequest();
            }

            db.Entry(person).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PersonExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }

Мой клиент:

 private async void btnRedClick(object sender, EventArgs e)
        {



            for (int i = 0; i < listView.Items.Count; i++)
            {
                if (listView.Items[i].Selected)
                {
                    clName = listView.Items[i].Text;
                    clSurname = listView.Items[i].SubItems[1].Text;
                    clBirth = listView.Items[i].SubItems[2].Text;
                }

            }

            FormaRed f = new FormaRed();
            f.Person = new Person(clName, clSurname, DateTime.Parse(clBirth));

            // Person newReport = new Person() { Firstname = f.Name123.Text, Secondname = f.Surname123.Text, BirthDay = f.dateTimePicker1.Value };

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(_baseAddress);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                var EditClm = new Person()
                {
                    Firstname = f.Name123.Text,
                    Secondname = clSurname,
                    BirthDay = DateTime.Parse(clBirth),
                };

                HttpResponseMessage response = client.PutAsJsonAsync("api/People", EditClm).Result;  


            }

            if (f.ShowDialog() == DialogResult.OK)
            {
                MessageBox.Show(f.Person.ToString());
            }

            Update();
        }

Когда я открываю форму для изменения Фамилии, имени или даты рождения, данные из формы правильно отображаются в строках для изменения. Но само изменение не записывается в базу данных People.mdf. Весь мой проект в https://cloud.mail.ru/public/2c2a/2PkjhrYpD

Но мои изменения не работают, вы можете мне помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...