Мой контроллер (на стороне сервера):
// 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
Но мои изменения не работают, вы можете мне помочь?