protected ActionResult ajaxCallBack <T>(JQGrid grid, T entity, Action <T> addRow, Action <T> editRow, Action <T> delRow ) { try { switch (grid.AjaxCallBackMode) { case AjaxCallBackMode.AddRow: addRow(entity); break; case AjaxCallBackMode.EditRow: editRow(entity); break; case AjaxCallBackMode.DeleteRow: delRow(entity); break; } } catch (BusinessException bex) { return(grid.ShowEditValidationMessage(bex.Message)); } catch (DbUpdateException dex) { ExceptionPolicy.HandleException(dex, DXInfo.Models.EnumHelper.ExceptionPolicy); return(grid.ShowEditValidationMessage(dex.Message)); } return(new EmptyResult()); }