public class User : BusinessObject<long>
{
[BlobName]
public string ProfilePictureBlobName { get; set; }
}
public class Comment : BusinessObject<long>
{
[DisplayName]
public string Text { get; set; }
[CascadeDelete] // When the Post is deleted, all its Comments will be deleted
[WithMany(nameof(Post.Comments))]
public virtual Post Post { get; set; }
}
[Controller("SecurityController")]
public class User { }
[Controller("SecurityController")]
public class Role { }
[Controller("SecurityController")]
public class Permission { }
[CustomMapper]
public static partial class Mapper
{
// Custom mapping methods
}
public class User : BusinessObject<long>
{
[CustomValidator("EmailAddress().Length(5, 50)")] // Validates email format and length
public string Email { get; set; }
}
public class User : BusinessObject<long>
{
[DisplayName]
public string FullName { get; set; } // Will be used in dropdowns and lists
}
[DisplayName("Department.Name")] // Uses related entity's property
public class Employee : BusinessObject<long>
{
public virtual Department Department { get; set; }
}
public class Project : BusinessObject<long>
{
[DisplayName]
public string Name { get; set; }
[GenerateCommaSeparatedDisplayName]
public virtual List<User> TeamMembers { get; set; } = new();
}
public class User : BusinessObject<long>
{
[DisplayName]
public string Email { get; set; }
}
// In the UI table, the TeamMembers column will show:
// "john@example.com, jane@example.com, bob@example.com"
public class RolePermission
{
[M2MMaintanceEntity(nameof(Role.Permissions))]
public virtual Role Role { get; set; }
[M2MEntity(nameof(Permission.Roles))]
public virtual Permission Permission { get; set; }
}
public class RolePermission
{
[M2MMaintanceEntity(nameof(Role.Permissions))]
public virtual Role Role { get; set; }
[M2MEntity(nameof(Permission.Roles))]
public virtual Permission Permission { get; set; }
}
public class User : BusinessObject<long>
{
[ManyToOneRequired]
[WithMany(nameof(Gender.Users))]
public virtual Gender Gender { get; set; }
}
[ProjectToDTO(".Map(dest => dest.TransactionPrice, src => src.Transaction.Price)")]
public class Achievement : BusinessObject<long>
{
// Properties
}
[HttpGet]
[SkipSpinner]
public async Task SendNotificationEmail(long notificationId)
{
await SendNotificationEmail(notificationId);
}
[TranslateExcelEn("Users_Excel")]
public class User : BusinessObject<long>
{
// Class properties
}
// Will generate: Users_Excel.xlsx
[TranslateExcelSrLatnRS("Korisnici_Excel")]
public class User : BusinessObject<long>
{
// Class properties
}
// Will generate: Korisnici_Excel.xlsx
[TranslatePluralEn("User points")]
public class UserPoint : BusinessObject<long>
{
// Class properties
}
// Will show as "User points" in table headers
// Will export as "User points.xlsx" if TranslateExcelEn is not specified
[TranslatePluralSrLatnRS("Korisnički poeni")]
public class UserPoint : BusinessObject<long>
{
// Class properties
}
// Will show as "Korisnički poeni" in table headers
// Will export as "Korisnički poeni.xlsx" if TranslateExcelSrLatnRS is not specified
[TranslateSingularEn("User point")]
public class UserPoint : BusinessObject<long>
{
// Class properties
}
public class User : BusinessObject<long>
{
[TranslateSingularEn("Email address")]
public string Email { get; set; }
}
[TranslateSingularSrLatnRS("Korisnički poen")]
public class UserPoint : BusinessObject<long>
{
// Class properties
}
public class User : BusinessObject<long>
{
[TranslateSingularSrLatnRS("Email adresa")]
public string Email { get; set; }
}
public class User : BusinessObject<long>
{
[UIControlType(nameof(UIControlTypeCodes.Dropdown))]
public UserType Type { get; set; }
[UIControlType(nameof(UIControlTypeCodes.TextArea))]
public string Description { get; set; }
// Automatically becomes a TextBox
public string Name { get; set; }
// Automatically becomes a Number
public int Age { get; set; }
}
public class Article : <long>
{
[UIControlWidth("col-12")]
[UIControlType(nameof(UIControlTypeCodes.TextArea))]
public string Content { get; set; }
[UIControlWidth("col-3")]
public string Author { get; set; }
// Uses default "col-12 md:col-6"
public string Title { get; set; }
}
public class User : BusinessObject<long>
{
public string Name { get; set; }
[UIDoNotGenerate]
public DateTime LastLoginDate { get; set; } // Won't appear in the UI form
[UIDoNotGenerate]
public string InternalNotes { get; set; } // Won't appear in the UI form
}
public class Course : BusinessObject<long>
{
[DisplayName]
public string Name { get; set; }
[UIOrderedOneToMany]
public virtual List<Course> Courses { get; set; } = new(); // Will be shown as an ordered list in the UI
}
public class CourseItem : BusinessObject<long>
{
[DisplayName]
public string Title { get; set; }
[UIDoNotGenerate]
[Required]
public int OrderNumber { get; set; } // Needs to be called OrderNumber
[ManyToOneRequired] // The course item can't exist without the course
[WithMany(nameof(Course.CourseItems))]
public virtual Course Course { get; set; }
}
public class User : BusinessObject<long>
{
[DisplayName]
public string Name { get; set; } // Goes to "Details" panel by default
[UIPanel("Security")]
public string Password { get; set; } // Goes to "Security" panel
[UIPanel("Preferences")]
public bool ReceiveNotifications { get; set; } // Goes to "Preferences" panel
}
public class Article : BusinessObject<long>
{
[UIPropertyBlockOrder("1")]
public string Title { get; set; }
[UIPropertyBlockOrder("2")]
public string Author { get; set; }
// Will be displayed last despite order number
[UIPropertyBlockOrder("0")]
[UIControlType(nameof(UIControlTypeCodes.TextArea))]
public string Content { get; set; }
}
public class Partner : BusinessObject<long>
{
[DisplayName]
public string Name { get; set; }
#region UITableColumn
[UITableColumn(nameof(PartnerUserDTO.UserDisplayName))]
[UITableColumn(nameof(PartnerUserDTO.Points))]
[UITableColumn(nameof(PartnerUserDTO.TierDisplayName))]
[UITableColumn(nameof(PartnerUserDTO.CheckedSegmentationItemsCommaSeparated), "Segmentation")] // Custom translation key
[UITableColumn(nameof(PartnerUserDTO.CreatedAt))]
#endregion
[SimpleManyToManyTableLazyLoad]
public virtual List<PartnerUser> Recipients { get; set; } = new(); // M2M relationship
}
public class Course : BusinessObject<long>
{
public virtual List<Student> Students { get; set; } = new();
}
public class Student : BusinessObject<long>
{
[WithMany(nameof(Course.Students))]
public virtual Course Course { get; set; }
}