Exemplo n.º 1
0
        public virtual async Task CreateAsync(MenuItem menuItem)
        {
            if (menuItem.ParentId == 0)
            {
                menuItem.ParentId = null;
            }


            menuItem.Name            = menuItem.Name?.SetNullIfEmptyTrim();
            menuItem.Title           = menuItem.Title?.SetNullIfEmptyTrim();
            menuItem.SubTitle        = menuItem.SubTitle?.SetNullIfEmptyTrim();
            menuItem.RouteName       = menuItem.RouteName?.SetNullIfEmptyTrim();
            menuItem.RouteParamsJson = menuItem.RouteParamsJson?.MakeJsonText();
            menuItem.SettingsJson    = menuItem.SettingsJson?.MakeJsonText();
            menuItem.CssClass        = menuItem.CssClass?.SetNullIfEmptyTrim();
            menuItem.ExternalUrl     = menuItem.ExternalUrl?.SetNullIfEmptyTrim();
            menuItem.Icon            = menuItem.Icon?.SetNullIfEmptyTrim();
            menuItem.Roles           = rolesCache.CheckAndSetRoles(menuItem.Roles);


            using (db.BeginTransaction())
            {
                int id = await db.InsertWithInt32IdentityAsync(menuItem);

                await db.MenuItems.Where(x => x.Id == id).Set(x => x.SortNumber, x => id).UpdateAsync();

                db.CommitTransaction();
            }
        }
        public Task CreateComponentAsync(Component component)
        {
            component.ClientSettingsJson = component.ClientSettingsJson?.MakeJsonTextNotNull();
            component.ServerSettingsJson = component.ServerSettingsJson?.MakeJsonTextNotNull();
            component.Roles = rolesCache.CheckAndSetRoles(component.Roles);

            return(db.InsertWithIdentityAsync(component));
        }