/// <summary>データ件数取得処理を実装</summary> /// <returns>データ件数</returns> public int SelectCountMethod() { _3TierReturnValue returnValue = null; try { // ここのデータアクセス処理は棟梁のB層を呼び出して実装する。 // ユーザ情報を取得 MyUserInfo myUserInfo = MyBaseController.GetUserInfo2(); // 引数クラスを生成 _3TierParameterValue parameterValue = this.CreateParameter("_TableName_", "SelectCountMethod", myUserInfo); // B層を生成 _3TierEngine b = new _3TierEngine(); // データ件数取得処理を実行 returnValue = (_3TierReturnValue)b.DoBusinessLogic( (BaseParameterValue)parameterValue, DbEnum.IsolationLevelEnum.ReadCommitted); } catch (Exception ex) { MyBaseController.TransferErrorScreen2(ex); return(0); } // データ件数を返却 //(OracleでdecimalになるケースがあるのでParseしている。) return(int.Parse(returnValue.Obj.ToString())); }
/// <summary>データ取得処理を実装</summary> /// <param name="startRowIndex">開始位置</param> /// <param name="maximumRows">取得行数</param> /// <returns>DataTable</returns> public DataTable SelectMethod(int startRowIndex, int maximumRows) { _3TierReturnValue returnValue = null; try { // ここのデータアクセス処理は棟梁のB層を呼び出して実装する。 // ユーザ情報を取得 MyUserInfo myUserInfo = MyBaseController.GetUserInfo2(); // 引数クラスを生成 _3TierParameterValue parameterValue = this.CreateParameter("Products", "SelectMethod", myUserInfo); // カラムリスト(射影 parameterValue.ColumnList = "_s_ProductID_e_, " + "_s_ProductName_e_, " + "_s_SupplierID_e_, " + "_s_CategoryID_e_, " + "_s_QuantityPerUnit_e_, " + "_s_UnitPrice_e_, " + "_s_UnitsInStock_e_, " + "_s_UnitsOnOrder_e_, " + "_s_ReorderLevel_e_, " + "_s_Discontinued_e_"; // ソート条件 parameterValue.SortExpression = (string)HttpContext.Current.Session["SortExpression"]; parameterValue.SortDirection = (string)HttpContext.Current.Session["SortDirection"]; // ページング条件 parameterValue.MaximumRows = maximumRows; parameterValue.StartRowIndex = startRowIndex; // B層を生成 _3TierEngine b = new _3TierEngine(); // データ取得処理を実行 returnValue = (_3TierReturnValue)b.DoBusinessLogic( (BaseParameterValue)parameterValue, DbEnum.IsolationLevelEnum.ReadCommitted); // GridView1.DataSourceから取得できなかったのでSessionに格納。 HttpContext.Current.Session["SearchResult"] = returnValue.Dt; } catch (Exception ex) { MyBaseController.TransferErrorScreen2(ex); return(null); } // 取得データを返却 return(returnValue.Dt); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); if (Logged) { MyBaseController controller = filterContext.Controller as MyBaseController; if (controller == null) { throw new Exception("Please use MyBaseController instead of built in Controller"); } User loggedUser = controller.Model.UserBO.GetUserByID(SessionManager.LoggedUser.UserID); if (!loggedUser.IsSuperUser) { filterContext.Result = new RedirectToRouteResult(GetRedirectToNotAuthorizedRouteValues()); } } }