Skip to content

tomfulton/UIOMatic

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UI-O-Matic

Build status NuGet release

Auto generate an integrated crud UI in Umbraco for a db table based on a petapoco poco

Implement an interface and decorate your class and properties with some additional attributes.

Example

If you have the following db table

CREATE TABLE [People] (
  [Id] int IDENTITY (1,1) NOT NULL
, [FirstName] nvarchar(255) NOT NULL
, [LastName] nvarchar(255) NOT NULL
, [Picture] nvarchar(255) NOT NULL
);

This class

[UIOMaticAttribute("People","icon-users","icon-user")]
[TableName("People")]
public class Person: IUIOMaticModel
{
    public Person() { }

    [UIOMaticIgnoreField]
    [PrimaryKeyColumn(AutoIncrement = true)]
    public int Id { get; set; }

    [UIOMaticField("First name","Enter the persons first name")]
    public string FirstName { get; set; }

    [UIOMaticField("Last name", "Enter the persons last name")]
    public string LastName { get; set; }

    [UIOMaticField("Picture", "Select a picture", View = "file")]
    public string Picture { get; set; }

    public override string ToString()
    {
        return FirstName + " " + LastName;
    }

    public IEnumerable<Exception> Validate()
    {
        var exs = new List<Exception>();

        if(string.IsNullOrEmpty(FirstName))
            exs.Add(new Exception("Please provide a value for first name"));

        if (string.IsNullOrEmpty(LastName))
            exs.Add(new Exception("Please provide a value for last name"));


        return exs;
    }
}`

Will generate the following UI

Documentation

For docs please go to http://uiomatic.readthedocs.org/

Test site

Backoffice credentials:

About

Auto generate an integrated crud UI in Umbraco for a db table based on a petapoco poco

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 73.9%
  • HTML 10.3%
  • CSS 7.0%
  • Classic ASP 6.2%
  • C# 1.7%
  • XSLT 0.9%