public virtual async Task Save(IValidator validator) { if (FormState == FormState.Copy || FormState == FormState.Create || FormState == FormState.Edit) { if (FormState == FormState.Edit) { if (OnAfterSave == null) { await InternalUpdate(validator); } else { OnBeforeSave.Invoke(async() => await InternalUpdate(validator)); } } else { if (OnAfterSave == null) { await InternalCreate(validator); } else { OnBeforeSave.Invoke(async() => await InternalCreate(validator)); } } } }
/// <summary> /// Attempts to submit changes to the data source /// </summary> /// <returns>if success <see cref="SubmitResult.Code"/> is 0</returns> public override SubmitResult SaveChanges(string successMessage = null, string failMessage = null) { SubmitResult res = new SubmitResult(); string def = Strings.Word(MessageIds.success_message); string defFail = Strings.Word(MessageIds.fail_message); successMessage = successMessage ?? def; failMessage = failMessage ?? defFail; ChangeLists lst = null; if (OnBeforeSave != null || OnSaveSuccess != null || Saving != null || UseChangeColumns) { lst = GetChangeSet(); OnBeforeSave?.Invoke(lst); Saving?.Invoke(this, lst); FillChangeColumns(lst); } try { int rows = DbContext.SaveChanges(); res = new SubmitResult { AffectedRows = rows, Code = 0, Message = successMessage }; try { OnSaveSuccess?.Invoke(lst); } catch (Exception ex) { res.SetException(ex); res.Code = 0; } } catch (Exception ex) { res = CustomizeException(ex, failMessage); } return(res); }
protected void InvokeOnBeforeSave() { IsSaving = true; OnBeforeSave.SafeInvoke(); }
public static void Save(LeaderboardModel model) { OnBeforeSave?.Invoke(); SaveLeaderboardData(model); }
protected void InvokeOnBeforeSave() { Saving = true; OnBeforeSave?.Invoke(); }
public static void Save(SettingsModel model) { OnBeforeSave?.Invoke(); SaveSettingsData(model); }
/// <summary> /// Attempts to submit changes to the data source /// </summary> /// <returns>if success <see cref="SubmitResult.Code"/> is 0</returns> public virtual SubmitResult SaveChanges(string successMessage = null, string failMessage = null) { SubmitResult res = new SubmitResult(); successMessage = successMessage == null?Strings.Word(MessageIds.success_message) : successMessage; failMessage = failMessage == null?Strings.Word(MessageIds.fail_message) : failMessage; ChangeLists lst = null; if (OnBeforeSave != null || OnSaveSuccess != null) { lst = GetChangeSet(); OnBeforeSave?.Invoke(lst); } try { int rows = DbContext.SaveChanges(); OnSaveSuccess?.Invoke(lst); res = new SubmitResult { AffectedRows = rows, Code = 0, Message = successMessage }; } catch (DbEntityValidationException dbEx) { OnExceptionHandling?.Invoke(dbEx); var msg = string.Empty; foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { msg += Environment.NewLine + string.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } res = new SubmitResult { Message = failMessage, Code = 102, }; res.SetException(dbEx); res.ExceptionMessage = msg; } catch (SqlException ex) { OnExceptionHandling?.Invoke(ex); res = new SubmitResult { Code = ex.Number, Message = failMessage }; res.SetException(ex); } catch (Exception ex) { OnExceptionHandling?.Invoke(ex); res = new SubmitResult { Code = 101, Message = failMessage }; res.SetException(ex); } return(res); }
public static void Save() { OnBeforeSave?.Invoke(); SaveStateData(State); }