protected override bool SaveEntity() { Debug.Assert(Absence != null); if (!IsModified()) { return(true); } else { if (Absence.IsNew) { Absence.LanguageID = SharedConsts.NeutralLangId; } Absence copyAbsence = CreateCopyAbsence(); SaveInputDataTo(copyAbsence); try { if (Absence.IsNew) { copyAbsence = ClientEnvironment.AbsenceService.Save(copyAbsence); } else { ClientEnvironment.AbsenceService.SaveOrUpdate(copyAbsence); } AssignAbsence(copyAbsence, Absence); _modified = true; if (AbsenceManager != null && AbsenceManager.GetById(Absence.ID) == null) { AbsenceManager.AddToDiction(Absence); } } catch (ValidationException) { string str = GetLocalized("ErrorUniqueAbsenceNameOrAbb"); if (String.IsNullOrEmpty(str)) { str = "Absence name or abbreviation not unique"; } ErrorMessage(str); return(false); } catch (EntityException ex) { ProcessEntityException(ex); return(false); } } return(true); }