public void GetReportViewDataSource(FactoryArgs args, t_BigID ReportViewID, t_Table DTFieldValue)
        {
            DataView dvFieldValue         = new DataView(DTFieldValue.Value);
            t_String ReportDataSource     = new t_String();
            LBDbParameterCollection parms = new LBDbParameterCollection();

            parms.Add(new LBDbParameter("ReportViewID", ReportViewID));
            parms.Add(new LBDbParameter("ReportDataSource", ReportDataSource, true));
            string strSQL = @"
select ReportDataSource
from dbo.DbReportView
where ReportViewID = @ReportViewID
";

            DBHelper.ExecuteNonQuery(args, System.Data.CommandType.Text, strSQL, parms, false);
            ReportDataSource.SetValueWithObject(parms["ReportDataSource"].Value);

            DataTable dtField = this.GetReportViewField(args, ReportViewID);

            parms = new LBDbParameterCollection();
            foreach (DataRow drField in dtField.Rows)
            {
                int iFieldType = drField["FieldType"] == DBNull.Value ?
                                 0 : Convert.ToInt32(drField["FieldType"]);
                string strFieldName = drField["FieldName"].ToString().TrimEnd();
                string strValue     = "";
                dvFieldValue.RowFilter = "FieldName='" + strFieldName + "'";
                if (dvFieldValue.Count > 0)
                {
                    strValue = dvFieldValue[0]["FieldValue"].ToString();
                }

                if (iFieldType == 0)
                {
                    parms.Add(new LBDbParameter(strFieldName, new t_String(strValue)));
                }
                else if (iFieldType == 1)
                {
                    decimal decValue;
                    decimal.TryParse(strValue, out decValue);
                    parms.Add(new LBDbParameter(strFieldName, new t_Decimal(decValue)));
                }
                else if (iFieldType == 2)
                {
                    DateTime dtValue;
                    DateTime.TryParse(strValue, out dtValue);
                    if (strValue == "")
                    {
                        parms.Add(new LBDbParameter(strFieldName, new t_DTSmall()));
                    }
                    else
                    {
                        parms.Add(new LBDbParameter(strFieldName, new t_DTSmall(dtValue)));
                    }
                }
            }
            string strSQLSource = ReportDataSource.Value.ToString();

            args.SelectResult = DBHelper.ExecuteQuery(args, strSQLSource, parms);
        }
        public void SaveUserPermission(FactoryArgs args, t_BigID UserID, t_Table DTUserPermission, t_Table DTUserPermissionData)
        {
            DBHelper.ExecInTransDelegate exec = delegate(FactoryArgs argsInTrans)
            {
                _DALUserPermission.DeleteUserPermission(argsInTrans, UserID);
                _DALUserPermission.DeleteUserPermissionData(argsInTrans, UserID);

                foreach (DataRow dr in DTUserPermissionData.Value.Rows)
                {
                    long lPermissionID = Convert.ToInt64(dr["PermissionID"]);

                    DTUserPermission.Value.DefaultView.RowFilter = "HasPermission=1 and PermissionID=" + lPermissionID;

                    if (DTUserPermission.Value.DefaultView.Count == 0)
                    {
                        bool bolHasPermission = dr["HasPermission"] == DBNull.Value ?
                                                false : Convert.ToBoolean(dr["HasPermission"]);
                        t_BigID PermissionDataID = new t_BigID(dr["PermissionDataID"]);
                        if (bolHasPermission)
                        {
                            _DALUserPermission.InsertUserPermissionData(argsInTrans, UserID, PermissionDataID);
                        }
                    }
                }

                foreach (DataRow dr in DTUserPermission.Value.Rows)
                {
                    long lPermissionID = Convert.ToInt64(dr["PermissionID"]);

                    bool bolHasPermission = dr["HasPermission"] == DBNull.Value ?
                                            false : Convert.ToBoolean(dr["HasPermission"]);
                    t_BigID PermissionID = new t_BigID(dr["PermissionID"]);
                    if (bolHasPermission)
                    {
                        _DALUserPermission.InsertUserPermission(argsInTrans, UserID, PermissionID);
                    }
                }
            };
            DBHelper.ExecInTrans(args, exec);
        }
        public void GetReportSource(FactoryArgs args, t_BigID ReportViewID, t_Table DTFieldValue)
        {
            t_String ReportDataSource;

            _DALDbReportView.GetReportViewDataSource(args, ReportViewID, DTFieldValue);
        }