using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
using System.Windows.Forms ;
using System.Data ;
using ICSharpCode.Core ;
using Mesnac.Action.Base ;
using Mesnac.Codd.Session ;
using Mesnac.Action.Default.Entity ;
namespace Mesnac.Action.Default.Purview.BasUser
{
/// <summary>
/// 查询用户业务
/// </summary>
public class SelectAction : DatabaseAction , IAction
{
DbMCControl roleType = null ;
public void Run ( RuntimeParameter runtime )
{
base . RunIni ( runtime ) ; //必须调用
ICSharpCode . Core . LoggingService < SelectAction > . Debug ( "用户信息-查询..." ) ;
FrmInsert frmInsert = new FrmInsert ( ActionType . Query ) ;
DialogResult result = frmInsert . ShowDialog ( ) ;
if ( result = = DialogResult . OK )
{
//roleType = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "[BasUser].[RoleGUID]").FirstOrDefault(); //获取用户类型combobox控件
//roleType.BaseControl.BindDataSource = GetUserListForSelect();
DbHelper dbHelper = Mesnac . Basic . DataSourceFactory . Instance . GetDbHelper ( Mesnac . Basic . DataSourceFactory . MCDbType . Local ) ;
dbHelper . ClearParameter ( ) ;
StringBuilder sbSql = new StringBuilder ( "SELECT TA.*,TB.RoleName,TD.ItemName FROM BasUser TA LEFT JOIN BasRole TB ON TA.RoleGUID=TB.GUID LEFT JOIN SysCode TD ON TA.DeleteFlag=TD.ItemCode AND TD.TypeID='YesNo' WHERE 1=1 " ) ;
if ( ! String . IsNullOrEmpty ( frmInsert . UserName ) )
{
sbSql . Append ( " and TA.UserName like @UserName" ) ;
dbHelper . AddParameter ( "@UserName" , "%" + frmInsert . UserName + "%" ) ;
}
if ( ! String . IsNullOrEmpty ( frmInsert . RoleGUID ) )
{
sbSql . Append ( " and TA.RoleGUID = @RoleGUID" ) ;
dbHelper . AddParameter ( "@RoleGUID" , frmInsert . RoleGUID ) ;
}
//if (frmInsert.ClassID != 0)
//{
// sbSql.Append(" and TA.ClassID = @ClassID");
// dbHelper.AddParameter("@ClassID", frmInsert.ClassID);
//}
if ( ! String . IsNullOrEmpty ( frmInsert . RealName ) )
{
sbSql . Append ( " and TA.RealName like @RealName" ) ;
dbHelper . AddParameter ( "@RealName" , "%" + frmInsert . RealName + "%" ) ;
}
sbSql . Append ( " ORDER BY CAST(TA.SeqIndex AS INT)" ) ;
dbHelper . CommandText = sbSql . ToString ( ) ;
dbHelper . CommandType = System . Data . CommandType . Text ;
DataTable table = dbHelper . ToDataTable ( ) ;
//刷新DataGridView数据
DbMCControl dgBasUser = this . GetDbMCControlByKey ( Mesnac . Basic . DataSourceFactory . MCDbType . Local , "BasUser" ) . FirstOrDefault ( ) ;
if ( dgBasUser = = null | | ! ( dgBasUser . BaseControl is DataGridView ) )
{
ICSharpCode . Core . LoggingService < InsertAction > . Warn ( "{用户信息-查询} 缺少用户DataGridView控件..." ) ;
runtime . IsReturn = false ;
return ;
}
dgBasUser . BaseControl . BindDataSource = table ;
}
}
public static DataTable GetUserListForSelect ( )
{
DbHelper dbHelper = Mesnac . Basic . DataSourceFactory . Instance . GetDbHelper ( Mesnac . Basic . DataSourceFactory . MCDbType . Local ) ;
if ( dbHelper = = null )
{
ICSharpCode . Core . LoggingService < PurviewHelper > . Error ( "获取数据连接失败,请检查数据库连接字符串是否正确!" ) ;
throw new Exception ( Mesnac . Basic . LanguageHelper . DataBaseConnectError ) ;
}
dbHelper . ClearParameter ( ) ;
StringBuilder sbSql = new StringBuilder ( "SELECT GUID,RoleName FROM BasRole WHERE DeleteFlag='0' " ) ;
sbSql . Append ( " ORDER BY SeqIndex " ) ;
dbHelper . CommandText = sbSql . ToString ( ) ;
dbHelper . CommandType = System . Data . CommandType . Text ;
DataTable table = dbHelper . ToDataTable ( ) ;
return table ;
}
}
}