I have a webpage with a form, the form shows the information from the database but I have no clue how I can update the database. I have a saving method but I think it has to be an update method? I thought I should have some event handler on my button but I don't know how. I have searched Google now for 2 days but still can't find my way to fix it..
This is my form
@if (Model.Bestuur.Bestuursleden.Any())
{
foreach (var i in Model.Bestuur.Bestuursleden)
{
<form role="form" action="" method="post" name="formEdit">
<h2>@string.Format("{0} {1}", i.Persoon.Voornaam, i.Persoon.Achternaam)</h2>
<br />
<div class="form-group">
<label for="vnaam">Voornaam</label>
<input type="text" class="form-control" id="vnaam" name="vnaam" value="@i.Persoon.Voornaam" />
</div>
<div class="form-group">
<label for="anaam">Achternaam</label>
<input type="text" class="form-control" id="anaam" name="anaam" value="@i.Persoon.Achternaam" />
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="text" class="form-control" id="email" name="email" value="@i.Persoon.Email" />
</div>
<div class="form-group">
<label for="telnr">Telefoonnummer</label>
<input type="text" class="form-control" id="telnr" name="telnr" value="@i.Persoon.Telnr" />
</div>
<div class="form-group">
<label for="informatie">Informatie</label>
<textarea class="form-control" id="informatie" name="informatie" value="@i.Persoon.Informatie" style="resize:vertical">@i.Persoon.Informatie</textarea>
</div>
<div class="form-group">
<label for="functie">Functie</label>
<input type="text" class="form-control" id="functie" name="functie" value="@i.Funktie.Naam" />
</div>
<button type="submit" id="btnSaveChanges" class="btn btn-primary">Wijzigen</button>
</form>
<br /><br /><br /><br />
}
}
The button 'btnSaveChanges' is the udate button
My service
public bool SavePersoon(PersoonModel persoon)
{
bool result = true;
db.Persoon.AddOrUpdate(persoon.GetPoco());
db.SaveChanges();
return result;
//Persoon p = new Persoon()
//{
// ID = persoon.Id,
// FIRST_NAME = persoon.Voornaam,
// LAST_NAME = persoon.Achternaam,
// EMAILADRES = persoon.Email,
// CITY = persoon.Woonplaats,
// PHONENUMBER = persoon.Telnr,
// INFORMATION = persoon.Informatie
//}
}
And my model
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Web;
namespace WCFPlanningTool.Models.Bestuur
{
[DataContract]
public class BestuurModel
{
[DataMember]
List<BestuurLidModel> Bestuursleden { get; set; }
public BestuurModel(List<BESTUURSLID> bestuursleden )
{
Bestuursleden = new List<BestuurLidModel>();
foreach(BESTUURSLID bestuurslid in bestuursleden)
{
Bestuursleden.Add(new BestuurLidModel(bestuurslid));
}
}
}
[DataContract]
public class BestuurLidModel
{
[DataMember]
public PersoonModel Persoon { get; set; }
[DataMember]
public FunktieModel Funktie { get; set; }
public BestuurLidModel(BESTUURSLID bestuurslid)
{
Persoon = new PersoonModel(bestuurslid.Persoon);
Funktie = new FunktieModel(bestuurslid.Functie);
}
}
[DataContract]
public class PersoonModel
{
[DataMember]
public string Voornaam { get; set; }
[DataMember]
public string Achternaam { get; set; }
[DataMember]
public string Email { get; set; }
[DataMember]
public string Woonplaats { get; set; }
[DataMember]
public string Telnr { get; set; }
[DataMember]
public string Informatie { get; set;}
[DataMember]
public Guid Id { get; set; }
public bool IsDeleted { get; set; }
public DateTime Created { get; set; }
public Guid CreatedBy { get; set; }
public DateTime Modified { get; set; }
public Guid ModifiedBy { get; set; }
public PersoonModel(Persoon persoon)
{
Voornaam = persoon.FIRST_NAME;
Achternaam = persoon.LAST_NAME;
Email = persoon.EMAILADRES;
Woonplaats = persoon.CITY;
Telnr = persoon.PHONENUMBER;
Informatie = persoon.INFORMATION;
}
public Persoon GetPoco()
{
Persoon result = new Persoon();
result.ID = Id;
result.FIRST_NAME = Voornaam;
result.LAST_NAME = Achternaam;
result.INFORMATION = Informatie;
result.PHONENUMBER = Telnr;
result.CITY = Woonplaats;
result.EMAILADRES = Email;
result.DELETESTATUS = false;
result.CREATED = DateTime.Now;
result.CREATEDBY = Guid.Empty;
result.MODIFIED = DateTime.Now;
result.MODIFIEDBY = Guid.Empty;
return result;
}
}
[DataContract]
public class FunktieModel
{
[DataMember]
public string Naam { get; set; }
public FunktieModel(Functie functie)
{
Naam = functie.NAME;
}
}
}