public void Get_Column_Names_Dic() { TableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(config => config .ColumnName(x => x.Id, "Id2")); tableBuilder.Add <Department>(config => config .ColumnName(x => x.Id, "Id3")); IEngine engine = new Engine(tableBuilder); Assert.Equal(new Dictionary <string, string> { ["Id"] = "Id2", ["Guid"] = "Guid", ["Name"] = "Name", ["SurName"] = "SurName", ["DepartmentId"] = "DepartmentId", ["Department.Id"] = "DepartmentId" }, engine.GetColumnNamesDic(typeof(Person))); Assert.Equal(new Dictionary <string, string> { ["Id"] = "Id3", ["Guid"] = "Guid", ["Name"] = "Name", ["Boss.Id"] = "BossId" }, engine.GetColumnNamesDic(typeof(Department))); }
public void Get_Member_Metadata_Expression() { ITableBuilder tableBuilder = new TableBuilder() .AddProcessor(new DefaultMetadataProcessor()); tableBuilder.Add <Person>() .AddMetadata(x => x.Id, "Id1", "Id1_Person") .AddMetadata(x => x.Id, "Id2", "Id2_Person") .AddMetadata(x => x.Guid, "Guid1", "Guid1_Person") .AddMetadata(x => x.Guid, "Guid2", "Guid2_Person"); tableBuilder.Add <Department>() .AddMetadata(x => x.Id, "Id1", "Id1_Department") .AddMetadata(x => x.Id, "Id2", "Id2_Department") .AddMetadata(x => x.Guid, "Guid1", "Guid1_Department") .AddMetadata(x => x.Guid, "Guid2", "Guid2_Department"); IEngine engine = new Engine(tableBuilder); Assert.Equal("Id1_Person", engine.GetInfo <Person>().GetMetadata(x => x.Id, "Id1")); Assert.Equal("Id2_Person", engine.GetInfo <Person>().GetMetadata(x => x.Id, "Id2")); Assert.Equal("Guid1_Person", engine.GetInfo <Person>().GetMetadata(x => x.Guid, "Guid1")); Assert.Equal("Guid2_Person", engine.GetInfo <Person>().GetMetadata(x => x.Guid, "Guid2")); Assert.Equal("Id1_Department", engine.GetInfo <Department>().GetMetadata(x => x.Id, "Id1")); Assert.Equal("Id2_Department", engine.GetInfo <Department>().GetMetadata(x => x.Id, "Id2")); Assert.Equal("Guid1_Department", engine.GetInfo <Department>().GetMetadata(x => x.Guid, "Guid1")); Assert.Equal("Guid2_Department", engine.GetInfo <Department>().GetMetadata(x => x.Guid, "Guid2")); Assert.Null(engine.GetInfo <Person>().GetMetadata(x => x.Id, "Id3")); Assert.Null(engine.GetInfo <Department>().GetMetadata(x => x.Id, "Id3")); Assert.Null(engine.GetInfo <Person>().GetMetadata(x => x.Name, "Name1")); Assert.Null(engine.GetInfo <Department>().GetMetadata(x => x.Name, "Name1")); }
public virtual ITableBuilder GetTableBuilder() { ITableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(); tableBuilder.Add <Department>(); return(tableBuilder); }
public void Get_Table_Name() { TableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(); tableBuilder.Add <Department>(); IEngine engine = new Engine(tableBuilder); Assert.Equal("Person", engine.GetTableName(typeof(Person))); Assert.Equal("Department", engine.GetTableName(typeof(Department))); }
public void Get_Columns() { TableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(); tableBuilder.Add <Department>(); IEngine engine = new Engine(tableBuilder); Assert.Equal(new string[] { "Id", "Guid", "Name", "SurName", "DepartmentId", "Department.Id" }, engine.GetColumns(typeof(Person))); Assert.Equal(new string[] { "Id", "Guid", "Name", "Boss.Id" }, engine.GetColumns(typeof(Department))); }
public void Get_Registered_Types() { ITableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(); tableBuilder.Add <Employee>(); tableBuilder.Add <Department>(); IEngine engine = new Engine(tableBuilder); Assert.Equal(new Type[] { typeof(Person), typeof(Employee), typeof(Department) }, engine.GetRegisteredTypes()); }
public void Is_Table() { TableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(); tableBuilder.Add <Department>(); IEngine engine = new Engine(tableBuilder); Assert.False(engine.IsTable(typeof(BaseConfig))); Assert.True(engine.IsTable(typeof(Person))); Assert.True(engine.IsTable(typeof(Department))); }
public void Get_Primary_Keys() { TableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(); tableBuilder.Add <Department>(config => config .PrimaryKey(x => x.Guid)); IEngine engine = new Engine(tableBuilder); Assert.Equal(new string[] { "Id" }, engine.GetPrimaryKeys(typeof(Person))); Assert.Equal(new string[] { "Guid" }, engine.GetPrimaryKeys(typeof(Department))); }
public void Get_Column_Name() { TableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(config => config .ColumnName(x => x.Id, "Id2")); tableBuilder.Add <Department>(config => config .ColumnName(x => x.Id, "Id3")); IEngine engine = new Engine(tableBuilder); Assert.Equal("Id2", engine.GetColumnName(typeof(Person), "Id")); Assert.Equal("Id3", engine.GetColumnName(typeof(Department), "Id")); }
public void Get_Info() { ITableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(); tableBuilder.Add <Employee>(); tableBuilder.Add <Department>(); IEngine engine = new Engine(tableBuilder); Assert.Equal(tableBuilder.GetConfig <Person>(), engine.GetInfo(typeof(Person))); Assert.Equal(tableBuilder.GetConfig <Employee>(), engine.GetInfo(typeof(Employee))); Assert.Equal(tableBuilder.GetConfig <Department>(), engine.GetInfo(typeof(Department))); }
partial void OnTemplate(AdministrationSimpleListTemplate template, ControllerContext controllerContext) { var urlHelper = new UrlHelper(controllerContext.RequestContext); template.GlobalButtons = new List<IClickable> { new Button(MaintCultureTextResources.Search), new Link(MaintCultureTextResources.New, urlHelper.Action("Create", "User"), LinkStyle.Button), new Button(MaintCultureTextResources.Disable, "Disable"), new Button(MaintCultureTextResources.Enable, "Enable"), }; var tableBuilder = new TableBuilder<User>(); template.Table = tableBuilder .Add(tableBuilder.CheckBox(x => x.UserId.Format(), controllerContext, name: "ids"), "", "UserId") .Add(tableBuilder.Literal(x => x.UserName.Format(), controllerContext), MaintCultureTextResources.AdminUserUserName, "UserName") .Add(tableBuilder.Literal(x => x.LoginName.Format(), controllerContext), MaintCultureTextResources.AdminUserLoginName, "LoginName") .Add(tableBuilder.Literal(x => x.Gender.Format(), controllerContext), MaintCultureTextResources.AdminUserGender, "Gender") .Add(tableBuilder.Literal(x => x.DateOfBirth.Format(), controllerContext), MaintCultureTextResources.AdminUserDateOfBirth, "DateOfBirth") .Add(tableBuilder.Literal(x => x.IsBuildIn.Format(), controllerContext), MaintCultureTextResources.AdminUserIsBuildIn, "IsBuildIn") .Add(tableBuilder.Literal(x => x.IsEnabled.Format(), controllerContext), MaintCultureTextResources.AdminUserIsEnabled, "IsEnabled") .Add(tableBuilder.Literal(x => x.IsSuper.Format(), controllerContext), MaintCultureTextResources.AdminUserIsSuper, "IsSuper") .Add(x => new ControlCollection( new Link(MaintCultureTextResources.Edit, urlHelper.Action("Edit", "User", new { id = x.Target.UserId }), LinkStyle.Normal), new Link(MaintCultureTextResources.UserLoginFailedLogIndex, urlHelper.Action("UserLoginFailedLogIndex", "User", new { UserId = x.Target.UserId }), LinkStyle.Normal) ), MaintCultureTextResources.Operation).Build(); }
public void Get_Info_Or_Default_Generic() { ITableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(); tableBuilder.Add <Employee>(); tableBuilder.Add <Department>(); IEngine engine = new Engine(tableBuilder); Assert.Equal(tableBuilder.GetConfig <Person>(), engine.GetInfoOrDefault <Person>()); Assert.Equal(tableBuilder.GetConfig <Employee>(), engine.GetInfoOrDefault <Employee>()); Assert.Equal(tableBuilder.GetConfig <Department>(), engine.GetInfoOrDefault <Department>()); }
partial void OnTemplate(AdministrationSimpleListTemplate template, ControllerContext controllerContext) { var urlHelper = new UrlHelper(controllerContext.RequestContext); template.GlobalButtons = new List<IClickable> { new Button(MaintCultureTextResources.Search), new Link(MaintCultureTextResources.New, urlHelper.Action("Create", "Role"), LinkStyle.Button), new Button(MaintCultureTextResources.Disable, "Disable"), new Button(MaintCultureTextResources.Enable, "Enable"), }; var tableBuilder = new TableBuilder<Role>(); template.Table = tableBuilder.Add(tableBuilder.CheckBox(x => x.RoleId.ToString(), controllerContext, "ids"), "", "RoleId") .Add(tableBuilder.Literal(x => x.Name.Format(), controllerContext), MaintCultureTextResources.RoleName, "Name") .Add(tableBuilder.Literal(x => x.IsBuildIn.Format(), controllerContext), MaintCultureTextResources.RoleIsBuildIn, "IsBuildIn") .Add(tableBuilder.Literal(x => x.IsEnabled.Format(), controllerContext), MaintCultureTextResources.RoleIsEnabled, "IsEnabled") .Add(x => { return new ControlCollection() { Controls = new List<Control> { new Link(MaintCultureTextResources.Edit, urlHelper.Action("Edit", "Role", new {id = x.Target.RoleId}), LinkStyle.Normal) } }; }, MaintCultureTextResources.Operation).Build(); }
public void Get_Column_Names() { TableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(config => config .ColumnName(x => x.Id, "Id2")); tableBuilder.Add <Department>(config => config .ColumnName(x => x.Id, "Id3")); IEngine engine = new Engine(tableBuilder); Assert.Equal(new string[] { "Id2", "Guid", "Name", "SurName", "DepartmentId" }, engine.GetColumnNames(typeof(Person))); Assert.Equal(new string[] { "Id3", "Guid", "Name", "BossId" }, engine.GetColumnNames(typeof(Department))); }
public BaseTest() { TableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(); tableBuilder.Add <Department>(); engine = GetEngine(tableBuilder); if (SqlBuilder.Instance == null) { SqlBuilder.Register(new SqlBuilder(), true); SqlExp.Initialize(); } sql = SqlBuilder.Instance; }
public void Is_Table_Generic() { ITableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(); tableBuilder.Add <Employee>(); tableBuilder.Add <Department>(); IEngine engine = new Engine(tableBuilder); Assert.False(engine.IsTable <BaseConfig>()); Assert.True(engine.IsTable <Person>()); Assert.True(engine.IsTable <Employee>()); Assert.True(engine.IsTable <Department>()); }
public void Get_All_Member_Metadata_Expression() { ITableBuilder tableBuilder = new TableBuilder() .AddProcessor(new DefaultMetadataProcessor()); tableBuilder.Add <Person>() .AddMetadata(x => x.Id, "Id1", "Id1_Person") .AddMetadata(x => x.Id, "Id2", "Id2_Person") .AddMetadata(x => x.Guid, "Guid1", "Guid1_Person") .AddMetadata(x => x.Guid, "Guid2", "Guid2_Person"); tableBuilder.Add <Department>() .AddMetadata(x => x.Id, "Id1", "Id1_Department") .AddMetadata(x => x.Id, "Id2", "Id2_Department") .AddMetadata(x => x.Guid, "Guid1", "Guid1_Department") .AddMetadata(x => x.Guid, "Guid2", "Guid2_Department"); IEngine engine = new Engine(tableBuilder); Assert.Equal(new Dictionary <string, object> { ["Id1"] = "Id1_Person", ["Id2"] = "Id2_Person" }, engine.GetInfo <Person>().GetMetadata(x => x.Id)); Assert.Equal(new Dictionary <string, object> { ["Guid1"] = "Guid1_Person", ["Guid2"] = "Guid2_Person" }, engine.GetInfo <Person>().GetMetadata(x => x.Guid)); Assert.Equal(new Dictionary <string, object> { ["Id1"] = "Id1_Department", ["Id2"] = "Id2_Department" }, engine.GetInfo <Department>().GetMetadata(x => x.Id)); Assert.Equal(new Dictionary <string, object> { ["Guid1"] = "Guid1_Department", ["Guid2"] = "Guid2_Department" }, engine.GetInfo <Department>().GetMetadata(x => x.Guid)); Assert.Equal(new Dictionary <string, object>(), engine.GetInfo <Person>().GetMetadata(x => x.Name)); Assert.Equal(new Dictionary <string, object>(), engine.GetInfo <Department>().GetMetadata(x => x.Name)); }
public void Get_Column_Name_Expression_Property_Not_Registered() { ITableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>(); IEngine engine = new Engine(tableBuilder); Exception ex = Assert.Throws <InvalidConfigurationException>(() => engine.GetInfo <Person>().GetColumnName(x => x.FullName)); Assert.Equal($"The property \"FullName\" for type \"{typeof(Person)}\" is not registered.", ex.Message); }
public void Get_Column_Name_Expression() { ITableBuilder tableBuilder = new TableBuilder(); tableBuilder.Add <Person>() .ColumnName(x => x.Id, "Id2") .ColumnName(x => x.Address.Street, "Street2") .ColumnName(x => x.Department.Id, "DepartmentId2"); tableBuilder.Add <Department>() .ColumnName(x => x.Id, "Id3") .ColumnName(x => x.Boss.Id, "BossId3"); IEngine engine = new Engine(tableBuilder); Assert.Equal("Id2", engine.GetInfo <Person>().GetColumnName(x => x.Id)); Assert.Equal("Street2", engine.GetInfo <Person>().GetColumnName(x => x.Address.Street)); Assert.Equal("DepartmentId2", engine.GetInfo <Person>().GetColumnName(x => x.Department.Id)); Assert.Equal("Id3", engine.GetInfo <Department>().GetColumnName(x => x.Id)); Assert.Equal("BossId3", engine.GetInfo <Department>().GetColumnName(x => x.Boss.Id)); }
partial void OnTemplate(AdministrationSimpleListTemplate template, ControllerContext controllerContext) { var tableBuilder = new TableBuilder<ExceptionLog>(); template.GlobalButtons = new List<IClickable> { new Button(MaintCultureTextResources.Search), }; template.Table = tableBuilder .Add(tableBuilder.Literal(x => x.CreationTime.Format(), controllerContext), MaintCultureTextResources.ExceptionLogCreationTime, "CreationTime") .Add(tableBuilder.Literal(x => x.RouteData.Format(), controllerContext), MaintCultureTextResources.ExceptionLogRouteData, "RouteData") .Add(tableBuilder.Literal(x => x.Exception.Format(), controllerContext), MaintCultureTextResources.ExceptionLogException, "Exception") .Build(); }
public void Not_Exists_Property() { TableBuilder tableBuilder = new TableBuilder(); Exception ex = Assert.Throws <ArgumentException>(() => { tableBuilder.Add <Person>() .PrimaryKey("Other"); }); Assert.Equal($"The type \"{typeof(Person)}\" does not have property \"Other\".{Environment.NewLine}" + "Parameter name: propertyName", ex.Message); }
public void Get_Table_Metadata() { ITableBuilder tableBuilder = new TableBuilder() .AddProcessor(new DefaultMetadataProcessor()); tableBuilder.Add <Person>() .AddTableMetadata("Key1", "Val1_Person") .AddTableMetadata("Key2", "Val2_Person"); tableBuilder.Add <Department>() .AddTableMetadata("Key1", "Val1_Department") .AddTableMetadata("Key2", "Val2_Department"); IEngine engine = new Engine(tableBuilder); Assert.Equal("Val1_Person", engine.GetInfo <Person>().GetTableMetadata("Key1")); Assert.Equal("Val2_Person", engine.GetInfo <Person>().GetTableMetadata("Key2")); Assert.Equal("Val1_Department", engine.GetInfo <Department>().GetTableMetadata("Key1")); Assert.Equal("Val2_Department", engine.GetInfo <Department>().GetTableMetadata("Key2")); Assert.Null(engine.GetInfo <Person>().GetTableMetadata("Key3")); Assert.Null(engine.GetInfo <Department>().GetTableMetadata("Key3")); }
partial void OnTemplate(AdministrationSimpleListTemplate template, ControllerContext controllerContext) { var urlHelper = new UrlHelper(controllerContext.RequestContext); template.GlobalButtons = new List<IClickable> { new Button(MaintCultureTextResources.Search), new Button(MaintCultureTextResources.Delete, "Delete"), }; var tableBuilder = new TableBuilder<UserLoginFailedLog>(); template.Table = tableBuilder .Add(tableBuilder.CheckBox(x => x.UserLoginFailedLogId.Format(), controllerContext, name: "ids"), "", "UserLoginFailedLogId") .Add(x => new Link(x.Target.User.UserName, urlHelper.Action("Edit", "User", new { id = x.Target.UserId })), MaintCultureTextResources.UserLoginFailedLogUser, "CreateTime") .Add(tableBuilder.Literal(x => x.IpAddress.Format(), controllerContext), MaintCultureTextResources.UserLoginFailedLogIpAddress, "IpAddress") .Add(tableBuilder.Literal(x => x.CreationTime.Format(), controllerContext), MaintCultureTextResources.UserLoginFailedLogCreateTime, "CreateTime") .Build(); }
partial void OnTemplate(AdministrationSimpleListTemplate template, ControllerContext controllerContext) { var urlHelper = new UrlHelper(controllerContext.RequestContext); template.GlobalButtons = new List<IClickable> { new Button(MaintCultureTextResources.Search), new Button(MaintCultureTextResources.Abort, "Abort"), }; var tableBuilder = new TableBuilder<SystemJob>(); template.Table = tableBuilder .Add(tableBuilder.CheckBox(x => x.SystemJobId.Format(), controllerContext, name: "ids"), "") .Add(tableBuilder.Literal(x => x.Title.Format(), controllerContext), MaintCultureTextResources.SystemJobTitle, "Title") .Add(tableBuilder.Literal(x => x.StartTime.Format(), controllerContext), MaintCultureTextResources.SystemJobStartTime, "StartTime") .Add(tableBuilder.Literal(x => x.ExecuteTime.Format(), controllerContext), MaintCultureTextResources.SystemJobExecuteTime, "ExecuteTime") .Add(tableBuilder.Literal(x => x.Status.Format(), controllerContext), MaintCultureTextResources.SystemJobStatus, "Status") .Add(tableBuilder.Literal(x => x.Result.Format(), controllerContext), MaintCultureTextResources.SystemJobResult, "Result") .Add(tableBuilder.Literal(x => x.CreationTime.Format(), controllerContext), MaintCultureTextResources.SystemJobCreationTime, "CreationTime") .Build(); }
partial void OnTemplate(AdministrationSimpleListTemplate template, ControllerContext controllerContext) { var urlHelper = new UrlHelper(controllerContext.RequestContext); template.GlobalButtons = new List<IClickable> { new Button(MaintCultureTextResources.Search ), new Link(MaintCultureTextResources.New, urlHelper.Action("Create", "CultureText", new {cultureId = this.Culture}), LinkStyle.Button), new Button(MaintCultureTextResources.Delete, "Delete"), new Link(MaintCultureTextResources.Import, urlHelper.Action("Import", "CultureText", new {cultureId=this.Culture}), LinkStyle.Button), }; var tableBuilder = new TableBuilder<CultureText>(); template.Table = tableBuilder .Add(tableBuilder.CheckBox(x => x.CultureTextId.Format(), controllerContext, name: "ids"), "", "CultureTextId") .Add(tableBuilder.Literal(x => x.Name.Format(), controllerContext), MaintCultureTextResources.AdminUserUserName, "CultureTextName") .Add(tableBuilder.Literal(x => x.Text.Format(), controllerContext), MaintCultureTextResources.AdminUserLoginName, "CultureTextText") .Add(tableBuilder.Literal(x => x.IsEdited.Format(), controllerContext), MaintCultureTextResources.AdminUserGender, "CultureTextIsEdited") .Add(x => new ControlCollection( new Link(MaintCultureTextResources.Edit, urlHelper.Action("Edit", "CultureText", new { id = x.Target.CultureTextId }), LinkStyle.Normal) ), MaintCultureTextResources.Operation).Build(); }
public void Get_Member_Metadata_Expression_Default_Value() { ITableBuilder tableBuilder = new TableBuilder() .AddProcessor(new DefaultMetadataProcessor()); tableBuilder.Add <Person>() .AddMetadata(x => x.Id, "Id_Int", 1) .AddMetadata(x => x.Id, "Id_Bool", true) .AddMetadata(x => x.Id, "Id_String", "Id_Person"); IEngine engine = new Engine(tableBuilder); Assert.Equal(1, engine.GetInfo <Person>().GetMetadata(x => x.Id, "Id_Int", 0)); Assert.True(engine.GetInfo <Person>().GetMetadata(x => x.Id, "Id_Bool", false)); Assert.Equal("Id_Person", engine.GetInfo <Person>().GetMetadata <string>(x => x.Id, "Id_String", null)); Assert.Equal(1, engine.GetInfo <Person>().GetMetadata(x => x.Id, "Id_Int2", 1)); Assert.Equal(1, engine.GetInfo <Person>().GetMetadata <int?>(x => x.Id, "Id_Int2", 1)); Assert.True(engine.GetInfo <Person>().GetMetadata(x => x.Id, "Id_Bool2", true)); Assert.True(engine.GetInfo <Person>().GetMetadata <bool?>(x => x.Id, "Id_Bool2", true)); Assert.Equal("Default", engine.GetInfo <Person>().GetMetadata(x => x.Id, "Id_String2", "Default")); }
public void Get_Member_Metadata_Cast() { ITableBuilder tableBuilder = new TableBuilder() .AddProcessor(new DefaultMetadataProcessor()); tableBuilder.Add <Person>() .AddMetadata(x => x.Id, "Id_Int", 1) .AddMetadata(x => x.Id, "Id_Bool", true) .AddMetadata(x => x.Id, "Id_String", "Id_Person"); IEngine engine = new Engine(tableBuilder); Assert.Equal(1, engine.GetInfo(typeof(Person)).GetMetadata <int>("Id", "Id_Int")); Assert.True(engine.GetInfo(typeof(Person)).GetMetadata <bool>("Id", "Id_Bool")); Assert.Equal("Id_Person", engine.GetInfo(typeof(Person)).GetMetadata <string>("Id", "Id_String")); Assert.Equal(0, engine.GetInfo(typeof(Person)).GetMetadata <int>("Id", "Id_Int2")); Assert.Null(engine.GetInfo(typeof(Person)).GetMetadata <int?>("Id", "Id_Int2")); Assert.False(engine.GetInfo(typeof(Person)).GetMetadata <bool>("Id", "Id_Bool2")); Assert.Null(engine.GetInfo(typeof(Person)).GetMetadata <bool?>("Id", "Id_Bool2")); Assert.Null(engine.GetInfo(typeof(Person)).GetMetadata <string>("Id", "Id_String2")); }