/// <summary> /// Uppdaterar befintlig eller lägger till en ny betydelse. /// </summary> protected void btnUpdateMeaning_Click(object sender, EventArgs e) { //kontrollerar igen om berörda kontroller är validerade. if (IsValid) { var meaning = new Meaning() { Word = txtWord.Text, Comment = txtWordComment.Text, }; if (ddlPageWordType.SelectedIndex > -1) { meaning.WTypeId = Convert.ToByte(ddlPageWordType.SelectedItem.Value); } if (lstMeaning.SelectedIndex > -1) { meaning.MeaningId = Convert.ToInt16(lstMeaning.SelectedItem.Value); } ICollection<ValidationResult> validationResults; if (!meaning.Validate(out validationResults)) { foreach (var v in validationResults) { ModelState.AddModelError("", v.ErrorMessage); } } else { try { Service.SaveOrUpdateMeaning(meaning); if (meaning.MeaningId == 0) { successMessage = String.Format("Den nya betydelsen {0} har sparats.", meaning.Word); } else { successMessage = String.Format("Betydelsen {0} har uppdaterats.", meaning.Word); } } catch { ModelState.AddModelError("", String.Format("Sparandet eller uppdateringen av {0} misslyckades.", meaning.Word)); } } } else { //Visa inte ModelErrors om det finns PageErrors... ModelState.Clear(); //default för pnlErrorBox är display: none, //så den måste visas om page innehåller Page-valideringsfel pnlErrorBox.Style["display"] = "block"; } }
/// <summary> /// Sparar nytt eller uppdaterar befintligt Meaning-objekt. /// Nytt om Meaning-objektets egenskap MeaningId är 0, annars uppdatera. /// </summary> /// <param name="meaning">Meaning-objektet</param> public void SaveOrUpdateMeaning(Meaning meaning) { if (meaning.MeaningId > 0) { BlissKomDAL.UpdateMeaning(meaning); } else { BlissKomDAL.InsertMeaning(meaning); } }