initial
58
OpenAuth.App/OpenAuth.App.csproj
Normal file
@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{0BBF2D65-FFFD-4272-B138-8EA4FB6FEC48}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>OpenAuth.App</RootNamespace>
|
||||
<AssemblyName>OpenAuth.App</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenAuth.Domain\OpenAuth.Domain.csproj">
|
||||
<Project>{6108da8e-92a1-4abe-b9f5-26d64d55ca2c}</Project>
|
||||
<Name>OpenAuth.Domain</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
36
OpenAuth.App/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的常规信息通过以下
|
||||
// 特性集控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("OpenAuth.App")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("OpenAuth.App")]
|
||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 使此程序集中的类型
|
||||
// 对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
|
||||
// 则将该类型上的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("83c7318e-df7b-4774-8299-7e2728e9b590")]
|
||||
|
||||
// 程序集的版本信息由下面四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 生成号
|
||||
// 修订号
|
||||
//
|
||||
// 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
|
||||
// 方法是按如下所示使用“*”:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
24
OpenAuth.Domain/Button.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace OpenAuth.Domain
|
||||
{
|
||||
public partial class Button
|
||||
{
|
||||
public Button()
|
||||
{
|
||||
this.RoleMenuButtons = new List<RoleMenuButton>();
|
||||
}
|
||||
|
||||
public string ButtonId { get; set; }
|
||||
public string FullName { get; set; }
|
||||
public string Img { get; set; }
|
||||
public string Event { get; set; }
|
||||
public string Control_ID { get; set; }
|
||||
public string Category { get; set; }
|
||||
public string Description { get; set; }
|
||||
public Nullable<int> Enabled { get; set; }
|
||||
public Nullable<int> SortCode { get; set; }
|
||||
public virtual ICollection<RoleMenuButton> RoleMenuButtons { get; set; }
|
||||
}
|
||||
}
|
11
OpenAuth.Domain/DataPermission.cs
Normal file
@ -0,0 +1,11 @@
|
||||
namespace OpenAuth.Domain
|
||||
{
|
||||
public partial class DataPermission
|
||||
{
|
||||
public string Id { get; set; }
|
||||
public string RoleId { get; set; }
|
||||
public string ResourceId { get; set; }
|
||||
public string ObjectId { get; set; }
|
||||
public virtual Role Role { get; set; }
|
||||
}
|
||||
}
|
24
OpenAuth.Domain/Department.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace OpenAuth.Domain
|
||||
{
|
||||
public partial class Department
|
||||
{
|
||||
public Department()
|
||||
{
|
||||
this.Roles = new List<Role>();
|
||||
this.Users = new List<User>();
|
||||
}
|
||||
|
||||
public string DepartmentId { get; set; }
|
||||
public string ParentId { get; set; }
|
||||
public string FullName { get; set; }
|
||||
public string Description { get; set; }
|
||||
public Nullable<int> Enabled { get; set; }
|
||||
public Nullable<int> SortCode { get; set; }
|
||||
public Nullable<int> DeleteMark { get; set; }
|
||||
public virtual ICollection<Role> Roles { get; set; }
|
||||
public virtual ICollection<User> Users { get; set; }
|
||||
}
|
||||
}
|
29
OpenAuth.Domain/Menu.cs
Normal file
@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace OpenAuth.Domain
|
||||
{
|
||||
public partial class Menu
|
||||
{
|
||||
public Menu()
|
||||
{
|
||||
this.Buttons = new List<Button>();
|
||||
this.RoleMenuButtons = new List<RoleMenuButton>();
|
||||
}
|
||||
|
||||
public string MenuId { get; set; }
|
||||
public string ParentId { get; set; }
|
||||
public string FullName { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string Img { get; set; }
|
||||
public Nullable<int> Category { get; set; }
|
||||
public string NavigateUrl { get; set; }
|
||||
public string FormName { get; set; }
|
||||
public string Target { get; set; }
|
||||
public Nullable<int> IsUnfold { get; set; }
|
||||
public Nullable<int> Enabled { get; set; }
|
||||
public Nullable<int> SortCode { get; set; }
|
||||
public virtual ICollection<Button> Buttons { get; set; }
|
||||
public virtual ICollection<RoleMenuButton> RoleMenuButtons { get; set; }
|
||||
}
|
||||
}
|
59
OpenAuth.Domain/OpenAuth.Domain.csproj
Normal file
@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{6108DA8E-92A1-4ABE-B9F5-26D64D55CA2C}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>OpenAuth.Domain</RootNamespace>
|
||||
<AssemblyName>OpenAuth.Domain</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Button.cs" />
|
||||
<Compile Include="DataPermission.cs" />
|
||||
<Compile Include="Department.cs" />
|
||||
<Compile Include="Menu.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Role.cs" />
|
||||
<Compile Include="RoleMenuButton.cs" />
|
||||
<Compile Include="User.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
36
OpenAuth.Domain/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的常规信息通过以下
|
||||
// 特性集控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("OpenAuth.Domain")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("OpenAuth.Domain")]
|
||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 使此程序集中的类型
|
||||
// 对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
|
||||
// 则将该类型上的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("b387116d-343a-462e-b2ed-b509a6be2c9b")]
|
||||
|
||||
// 程序集的版本信息由下面四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 生成号
|
||||
// 修订号
|
||||
//
|
||||
// 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
|
||||
// 方法是按如下所示使用“*”:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
31
OpenAuth.Domain/Role.cs
Normal file
@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace OpenAuth.Domain
|
||||
{
|
||||
public partial class Role
|
||||
{
|
||||
public Role()
|
||||
{
|
||||
this.DataPermissions = new List<DataPermission>();
|
||||
this.RoleMenus = new List<Menu>();
|
||||
this.RoleMenuButtons = new List<RoleMenuButton>();
|
||||
this.Users = new List<User>();
|
||||
}
|
||||
|
||||
public string RoleId { get; set; }
|
||||
public string ParentId { get; set; }
|
||||
public string FullName { get; set; }
|
||||
public string Category { get; set; }
|
||||
public string Description { get; set; }
|
||||
public Nullable<int> Enabled { get; set; }
|
||||
public Nullable<int> SortCode { get; set; }
|
||||
public Nullable<int> DeleteMark { get; set; }
|
||||
public string DepartmentId { get; set; }
|
||||
public virtual ICollection<DataPermission> DataPermissions { get; set; }
|
||||
public virtual Department Department { get; set; }
|
||||
public virtual ICollection<Menu> RoleMenus { get; set; }
|
||||
public virtual ICollection<RoleMenuButton> RoleMenuButtons { get; set; }
|
||||
public virtual ICollection<User> Users { get; set; }
|
||||
}
|
||||
}
|
13
OpenAuth.Domain/RoleMenuButton.cs
Normal file
@ -0,0 +1,13 @@
|
||||
namespace OpenAuth.Domain
|
||||
{
|
||||
public partial class RoleMenuButton
|
||||
{
|
||||
public string RoleMenuButtonId { get; set; }
|
||||
public string RoleId { get; set; }
|
||||
public string MenuId { get; set; }
|
||||
public string ButtonId { get; set; }
|
||||
public virtual Button Button { get; set; }
|
||||
public virtual Menu Menu { get; set; }
|
||||
public virtual Role Role { get; set; }
|
||||
}
|
||||
}
|
24
OpenAuth.Domain/User.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace OpenAuth.Domain
|
||||
{
|
||||
public partial class User
|
||||
{
|
||||
public User()
|
||||
{
|
||||
this.Departments = new List<Department>();
|
||||
this.Roles = new List<Role>();
|
||||
}
|
||||
|
||||
public string UserId { get; set; }
|
||||
public string Account { get; set; }
|
||||
public string Password { get; set; }
|
||||
public string RealName { get; set; }
|
||||
public string RoleId { get; set; }
|
||||
public Nullable<int> Enabled { get; set; }
|
||||
public Nullable<int> DeleteMark { get; set; }
|
||||
public virtual ICollection<Department> Departments { get; set; }
|
||||
public virtual ICollection<Role> Roles { get; set; }
|
||||
}
|
||||
}
|
19
OpenAuth.Infrastructure/App.config
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
</configSections>
|
||||
<connectionStrings configSource="DB.config"></connectionStrings>
|
||||
|
||||
<entityFramework>
|
||||
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
|
||||
<parameters>
|
||||
<parameter value="mssqllocaldb" />
|
||||
</parameters>
|
||||
</defaultConnectionFactory>
|
||||
<providers>
|
||||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||
</providers>
|
||||
</entityFramework>
|
||||
</configuration>
|
4
OpenAuth.Infrastructure/DB.config
Normal file
@ -0,0 +1,4 @@
|
||||
<connectionStrings>
|
||||
<add name="OpenAuthDBContext" connectionString="Data Source=.;Initial Catalog=OpenAuthDB;Persist Security Info=True;User ID=sa;Password=516688;MultipleActiveResultSets=True"
|
||||
providerName="System.Data.SqlClient" />
|
||||
</connectionStrings>
|
49
OpenAuth.Infrastructure/Mapping/ButtonMap.cs
Normal file
@ -0,0 +1,49 @@
|
||||
using System.Data.Entity.ModelConfiguration;
|
||||
using OpenAuth.Domain;
|
||||
|
||||
namespace OpenAuth.Infrastructure.Mapping
|
||||
{
|
||||
public class ButtonMap : EntityTypeConfiguration<Button>
|
||||
{
|
||||
public ButtonMap()
|
||||
{
|
||||
// Primary Key
|
||||
this.HasKey(t => t.ButtonId);
|
||||
|
||||
// Properties
|
||||
this.Property(t => t.ButtonId)
|
||||
.IsRequired()
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.FullName)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.Img)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.Event)
|
||||
.HasMaxLength(200);
|
||||
|
||||
this.Property(t => t.Control_ID)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.Category)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.Description)
|
||||
.HasMaxLength(200);
|
||||
|
||||
// Table & Column Mappings
|
||||
this.ToTable("Button");
|
||||
this.Property(t => t.ButtonId).HasColumnName("ButtonId");
|
||||
this.Property(t => t.FullName).HasColumnName("FullName");
|
||||
this.Property(t => t.Img).HasColumnName("Img");
|
||||
this.Property(t => t.Event).HasColumnName("Event");
|
||||
this.Property(t => t.Control_ID).HasColumnName("Control_ID");
|
||||
this.Property(t => t.Category).HasColumnName("Category");
|
||||
this.Property(t => t.Description).HasColumnName("Description");
|
||||
this.Property(t => t.Enabled).HasColumnName("Enabled");
|
||||
this.Property(t => t.SortCode).HasColumnName("SortCode");
|
||||
}
|
||||
}
|
||||
}
|
39
OpenAuth.Infrastructure/Mapping/DataPermissionMap.cs
Normal file
@ -0,0 +1,39 @@
|
||||
using System.Data.Entity.ModelConfiguration;
|
||||
using OpenAuth.Domain;
|
||||
|
||||
namespace OpenAuth.Infrastructure.Mapping
|
||||
{
|
||||
public class DataPermissionMap : EntityTypeConfiguration<DataPermission>
|
||||
{
|
||||
public DataPermissionMap()
|
||||
{
|
||||
// Primary Key
|
||||
this.HasKey(t => t.Id);
|
||||
|
||||
// Properties
|
||||
this.Property(t => t.Id)
|
||||
.IsRequired()
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.RoleId)
|
||||
.IsRequired()
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.ResourceId)
|
||||
.HasMaxLength(50);
|
||||
|
||||
// Table & Column Mappings
|
||||
this.ToTable("DataPermission");
|
||||
this.Property(t => t.Id).HasColumnName("Id");
|
||||
this.Property(t => t.RoleId).HasColumnName("RoleId");
|
||||
this.Property(t => t.ResourceId).HasColumnName("ResourceId");
|
||||
this.Property(t => t.ObjectId).HasColumnName("ObjectId");
|
||||
|
||||
// Relationships
|
||||
this.HasRequired(t => t.Role)
|
||||
.WithMany(t => t.DataPermissions)
|
||||
.HasForeignKey(d => d.RoleId);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
51
OpenAuth.Infrastructure/Mapping/DepartmentMap.cs
Normal file
@ -0,0 +1,51 @@
|
||||
using System.Data.Entity.ModelConfiguration;
|
||||
using OpenAuth.Domain;
|
||||
|
||||
namespace OpenAuth.Infrastructure.Mapping
|
||||
{
|
||||
public class DepartmentMap : EntityTypeConfiguration<Department>
|
||||
{
|
||||
public DepartmentMap()
|
||||
{
|
||||
// Primary Key
|
||||
this.HasKey(t => t.DepartmentId);
|
||||
|
||||
// Properties
|
||||
this.Property(t => t.DepartmentId)
|
||||
.IsRequired()
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.HasMany(d => d.Users)
|
||||
.WithMany(u => u.Departments)
|
||||
.Map(
|
||||
m =>
|
||||
{
|
||||
m.MapLeftKey("DepartmentId");
|
||||
m.MapRightKey("UserId");
|
||||
m.ToTable("UserDepartment");
|
||||
});
|
||||
|
||||
this.HasMany(d => d.Roles)
|
||||
.WithRequired(r => r.Department);
|
||||
|
||||
this.Property(t => t.ParentId)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.FullName)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.Description)
|
||||
.HasMaxLength(50);
|
||||
|
||||
// Table & Column Mappings
|
||||
this.ToTable("Department");
|
||||
this.Property(t => t.DepartmentId).HasColumnName("DepartmentId");
|
||||
this.Property(t => t.ParentId).HasColumnName("ParentId");
|
||||
this.Property(t => t.FullName).HasColumnName("FullName");
|
||||
this.Property(t => t.Description).HasColumnName("Description");
|
||||
this.Property(t => t.Enabled).HasColumnName("Enabled");
|
||||
this.Property(t => t.SortCode).HasColumnName("SortCode");
|
||||
this.Property(t => t.DeleteMark).HasColumnName("DeleteMark");
|
||||
}
|
||||
}
|
||||
}
|
55
OpenAuth.Infrastructure/Mapping/MenuMap.cs
Normal file
@ -0,0 +1,55 @@
|
||||
using System.Data.Entity.ModelConfiguration;
|
||||
using OpenAuth.Domain;
|
||||
|
||||
namespace OpenAuth.Infrastructure.Mapping
|
||||
{
|
||||
public class MenuMap : EntityTypeConfiguration<Menu>
|
||||
{
|
||||
public MenuMap()
|
||||
{
|
||||
// Primary Key
|
||||
this.HasKey(t => t.MenuId);
|
||||
|
||||
// Properties
|
||||
this.Property(t => t.MenuId)
|
||||
.IsRequired()
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.ParentId)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.FullName)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.Description)
|
||||
.HasMaxLength(200);
|
||||
|
||||
this.Property(t => t.Img)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.NavigateUrl)
|
||||
.HasMaxLength(200);
|
||||
|
||||
this.Property(t => t.FormName)
|
||||
.HasMaxLength(200);
|
||||
|
||||
this.Property(t => t.Target)
|
||||
.HasMaxLength(50);
|
||||
|
||||
// Table & Column Mappings
|
||||
this.ToTable("Menu");
|
||||
this.Property(t => t.MenuId).HasColumnName("MenuId");
|
||||
this.Property(t => t.ParentId).HasColumnName("ParentId");
|
||||
this.Property(t => t.FullName).HasColumnName("FullName");
|
||||
this.Property(t => t.Description).HasColumnName("Description");
|
||||
this.Property(t => t.Img).HasColumnName("Img");
|
||||
this.Property(t => t.Category).HasColumnName("Category");
|
||||
this.Property(t => t.NavigateUrl).HasColumnName("NavigateUrl");
|
||||
this.Property(t => t.FormName).HasColumnName("FormName");
|
||||
this.Property(t => t.Target).HasColumnName("Target");
|
||||
this.Property(t => t.IsUnfold).HasColumnName("IsUnfold");
|
||||
this.Property(t => t.Enabled).HasColumnName("Enabled");
|
||||
this.Property(t => t.SortCode).HasColumnName("SortCode");
|
||||
}
|
||||
}
|
||||
}
|
48
OpenAuth.Infrastructure/Mapping/RoleMap.cs
Normal file
@ -0,0 +1,48 @@
|
||||
using System.Data.Entity.ModelConfiguration;
|
||||
using OpenAuth.Domain;
|
||||
|
||||
namespace OpenAuth.Infrastructure.Mapping
|
||||
{
|
||||
public class RoleMap : EntityTypeConfiguration<Role>
|
||||
{
|
||||
public RoleMap()
|
||||
{
|
||||
// Primary Key
|
||||
this.HasKey(t => t.RoleId);
|
||||
|
||||
// Properties
|
||||
this.Property(t => t.RoleId)
|
||||
.IsRequired()
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.ParentId)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.FullName)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.Category)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.Description)
|
||||
.HasMaxLength(200);
|
||||
|
||||
this.Property(t => t.DepartmentId)
|
||||
.HasMaxLength(50);
|
||||
|
||||
|
||||
// Table & Column Mappings
|
||||
this.ToTable("Role");
|
||||
this.Property(t => t.RoleId).HasColumnName("RoleId");
|
||||
this.Property(t => t.ParentId).HasColumnName("ParentId");
|
||||
this.Property(t => t.FullName).HasColumnName("FullName");
|
||||
this.Property(t => t.Category).HasColumnName("Category");
|
||||
this.Property(t => t.Description).HasColumnName("Description");
|
||||
this.Property(t => t.Enabled).HasColumnName("Enabled");
|
||||
this.Property(t => t.SortCode).HasColumnName("SortCode");
|
||||
this.Property(t => t.DeleteMark).HasColumnName("DeleteMark");
|
||||
this.Property(t => t.DepartmentId).HasColumnName("DepartmentId");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
50
OpenAuth.Infrastructure/Mapping/RoleMenuButtonMap.cs
Normal file
@ -0,0 +1,50 @@
|
||||
using System.Data.Entity.ModelConfiguration;
|
||||
using OpenAuth.Domain;
|
||||
|
||||
namespace OpenAuth.Infrastructure.Mapping
|
||||
{
|
||||
public class RoleMenuButtonMap : EntityTypeConfiguration<RoleMenuButton>
|
||||
{
|
||||
public RoleMenuButtonMap()
|
||||
{
|
||||
// Primary Key
|
||||
this.HasKey(t => t.RoleMenuButtonId);
|
||||
|
||||
// Properties
|
||||
this.Property(t => t.RoleMenuButtonId)
|
||||
.IsRequired()
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.RoleId)
|
||||
.IsRequired()
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.MenuId)
|
||||
.IsRequired()
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.ButtonId)
|
||||
.IsRequired()
|
||||
.HasMaxLength(50);
|
||||
|
||||
// Table & Column Mappings
|
||||
this.ToTable("RoleMenuButton");
|
||||
this.Property(t => t.RoleMenuButtonId).HasColumnName("RoleMenuButtonId");
|
||||
this.Property(t => t.RoleId).HasColumnName("RoleId");
|
||||
this.Property(t => t.MenuId).HasColumnName("MenuId");
|
||||
this.Property(t => t.ButtonId).HasColumnName("ButtonId");
|
||||
|
||||
// Relationships
|
||||
this.HasRequired(t => t.Button)
|
||||
.WithMany(t => t.RoleMenuButtons)
|
||||
.HasForeignKey(d => d.ButtonId);
|
||||
this.HasRequired(t => t.Menu)
|
||||
.WithMany(t => t.RoleMenuButtons)
|
||||
.HasForeignKey(d => d.MenuId);
|
||||
this.HasRequired(t => t.Role)
|
||||
.WithMany(t => t.RoleMenuButtons)
|
||||
.HasForeignKey(d => d.RoleId);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
52
OpenAuth.Infrastructure/Mapping/UserMap.cs
Normal file
@ -0,0 +1,52 @@
|
||||
using System.Data.Entity.ModelConfiguration;
|
||||
using OpenAuth.Domain;
|
||||
|
||||
namespace OpenAuth.Infrastructure.Mapping
|
||||
{
|
||||
public class UserMap : EntityTypeConfiguration<User>
|
||||
{
|
||||
public UserMap()
|
||||
{
|
||||
// Primary Key
|
||||
this.HasKey(t => t.UserId);
|
||||
|
||||
// Properties
|
||||
this.Property(t => t.UserId)
|
||||
.IsRequired()
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.Account)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.Password)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.RealName)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.Property(t => t.RoleId)
|
||||
.HasMaxLength(50);
|
||||
|
||||
this.HasMany(u => u.Departments)
|
||||
.WithMany(d => d.Users)
|
||||
.Map(m =>
|
||||
{
|
||||
m.MapLeftKey("UserId");
|
||||
m.MapRightKey("DepartmentId");
|
||||
m.ToTable("UserDepartment");
|
||||
});
|
||||
|
||||
// Table & Column Mappings
|
||||
this.ToTable("User");
|
||||
this.Property(t => t.UserId).HasColumnName("UserId");
|
||||
this.Property(t => t.Account).HasColumnName("Account");
|
||||
this.Property(t => t.Password).HasColumnName("Password");
|
||||
this.Property(t => t.RealName).HasColumnName("RealName");
|
||||
this.Property(t => t.RoleId).HasColumnName("RoleId");
|
||||
this.Property(t => t.Enabled).HasColumnName("Enabled");
|
||||
this.Property(t => t.DeleteMark).HasColumnName("DeleteMark");
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
84
OpenAuth.Infrastructure/OpenAuth.Infrastructure.csproj
Normal file
@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{ADAE08C0-DE22-41F7-9F94-0E62AE327C25}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>OpenAuth.Infrastructure</RootNamespace>
|
||||
<AssemblyName>OpenAuth.Infrastructure</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="EntityFramework">
|
||||
<HintPath>..\packages\EntityFramework.6.1.3\lib\net40\EntityFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework.SqlServer">
|
||||
<HintPath>..\packages\EntityFramework.6.1.3\lib\net40\EntityFramework.SqlServer.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Mapping\ButtonMap.cs" />
|
||||
<Compile Include="Mapping\DataPermissionMap.cs" />
|
||||
<Compile Include="Mapping\DepartmentMap.cs" />
|
||||
<Compile Include="Mapping\MenuMap.cs" />
|
||||
<Compile Include="Mapping\RoleMap.cs" />
|
||||
<Compile Include="Mapping\RoleMenuButtonMap.cs" />
|
||||
<Compile Include="Mapping\UserMap.cs" />
|
||||
<Compile Include="OpenAuthDBContext.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenAuth.App\OpenAuth.App.csproj">
|
||||
<Project>{0bbf2d65-fffd-4272-b138-8ea4fb6fec48}</Project>
|
||||
<Name>OpenAuth.App</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\OpenAuth.Domain\OpenAuth.Domain.csproj">
|
||||
<Project>{6108da8e-92a1-4abe-b9f5-26d64d55ca2c}</Project>
|
||||
<Name>OpenAuth.Domain</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
<None Include="DB.config">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
38
OpenAuth.Infrastructure/OpenAuthDBContext.cs
Normal file
@ -0,0 +1,38 @@
|
||||
using System.Data.Entity;
|
||||
using OpenAuth.Domain;
|
||||
using OpenAuth.Infrastructure.Mapping;
|
||||
|
||||
namespace OpenAuth.Infrastructure
|
||||
{
|
||||
public partial class OpenAuthDBContext : DbContext
|
||||
{
|
||||
static OpenAuthDBContext()
|
||||
{
|
||||
Database.SetInitializer<OpenAuthDBContext>(null);
|
||||
}
|
||||
|
||||
public OpenAuthDBContext()
|
||||
: base("Name=OpenAuthDBContext")
|
||||
{
|
||||
}
|
||||
|
||||
public DbSet<Button> Buttons { get; set; }
|
||||
public DbSet<DataPermission> DataPermissions { get; set; }
|
||||
public DbSet<Department> Departments { get; set; }
|
||||
public DbSet<Menu> Menus { get; set; }
|
||||
public DbSet<Role> Roles { get; set; }
|
||||
public DbSet<RoleMenuButton> RoleMenuButtons { get; set; }
|
||||
public DbSet<User> Users { get; set; }
|
||||
|
||||
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Configurations.Add(new ButtonMap());
|
||||
modelBuilder.Configurations.Add(new DataPermissionMap());
|
||||
modelBuilder.Configurations.Add(new DepartmentMap());
|
||||
modelBuilder.Configurations.Add(new MenuMap());
|
||||
modelBuilder.Configurations.Add(new RoleMap());
|
||||
modelBuilder.Configurations.Add(new RoleMenuButtonMap());
|
||||
modelBuilder.Configurations.Add(new UserMap());
|
||||
}
|
||||
}
|
||||
}
|
36
OpenAuth.Infrastructure/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的常规信息通过以下
|
||||
// 特性集控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("OpenAuth.Infrastructure")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("OpenAuth.Infrastructure")]
|
||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 使此程序集中的类型
|
||||
// 对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
|
||||
// 则将该类型上的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("b387116d-343a-462e-b2ed-b509a6be2c9b")]
|
||||
|
||||
// 程序集的版本信息由下面四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 生成号
|
||||
// 修订号
|
||||
//
|
||||
// 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
|
||||
// 方法是按如下所示使用“*”:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
4
OpenAuth.Infrastructure/packages.config
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="EntityFramework" version="6.1.3" targetFramework="net40" />
|
||||
</packages>
|
18
OpenAuth.UnitTest/App.config
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
</configSections>
|
||||
<connectionStrings configSource="DB.config"></connectionStrings>
|
||||
<entityFramework>
|
||||
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
|
||||
<parameters>
|
||||
<parameter value="mssqllocaldb" />
|
||||
</parameters>
|
||||
</defaultConnectionFactory>
|
||||
<providers>
|
||||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||
</providers>
|
||||
</entityFramework>
|
||||
</configuration>
|
21
OpenAuth.UnitTest/DepartmentTest.cs
Normal file
@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using OpenAuth.Infrastructure;
|
||||
|
||||
namespace OpenAuth.UnitTest
|
||||
{
|
||||
[TestClass]
|
||||
public class DepartmentTest
|
||||
{
|
||||
[TestMethod]
|
||||
public void TestAllDepartment()
|
||||
{
|
||||
OpenAuthDBContext context = new OpenAuthDBContext();
|
||||
foreach (var department in context.Departments)
|
||||
{
|
||||
Console.WriteLine(department.FullName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
108
OpenAuth.UnitTest/OpenAuth.UnitTest.csproj
Normal file
@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{2E6B5B73-7757-43F0-8AC8-3030F7C191B8}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>OpenAuth.UnitTest</RootNamespace>
|
||||
<AssemblyName>OpenAuth.UnitTest</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
|
||||
<IsCodedUITest>False</IsCodedUITest>
|
||||
<TestProjectType>UnitTest</TestProjectType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\EntityFramework.6.1.3\lib\net40\EntityFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework.SqlServer">
|
||||
<HintPath>..\packages\EntityFramework.6.1.3\lib\net40\EntityFramework.SqlServer.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<Choose>
|
||||
<When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
|
||||
</ItemGroup>
|
||||
</When>
|
||||
<Otherwise>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
|
||||
</ItemGroup>
|
||||
</Otherwise>
|
||||
</Choose>
|
||||
<ItemGroup>
|
||||
<Compile Include="DepartmentTest.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenAuth.Domain\OpenAuth.Domain.csproj">
|
||||
<Project>{6108DA8E-92A1-4ABE-B9F5-26D64D55CA2C}</Project>
|
||||
<Name>OpenAuth.Domain</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\OpenAuth.Infrastructure\OpenAuth.Infrastructure.csproj">
|
||||
<Project>{ADAE08C0-DE22-41F7-9F94-0E62AE327C25}</Project>
|
||||
<Name>OpenAuth.Infrastructure</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Choose>
|
||||
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
</When>
|
||||
</Choose>
|
||||
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
36
OpenAuth.UnitTest/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的常规信息通过以下特性集
|
||||
// 控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("OpenAuth.UnitTest")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("OpenAuth.UnitTest")]
|
||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 会使此程序集中的类型
|
||||
// 对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
|
||||
// 请将该类型上的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("2a29a965-175f-4c7c-b2c5-bfe75cd10b21")]
|
||||
|
||||
// 程序集的版本信息由以下四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 生成号
|
||||
// 修订号
|
||||
//
|
||||
// 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
|
||||
// 方法是按如下所示使用“*”:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
4
OpenAuth.UnitTest/packages.config
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="EntityFramework" version="6.1.3" targetFramework="net40" />
|
||||
</packages>
|
13
OpenAuth.Web/App_Start/FilterConfig.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace OpenAuth.Web
|
||||
{
|
||||
public class FilterConfig
|
||||
{
|
||||
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
|
||||
{
|
||||
filters.Add(new HandleErrorAttribute());
|
||||
}
|
||||
}
|
||||
}
|
23
OpenAuth.Web/App_Start/RouteConfig.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Routing;
|
||||
|
||||
namespace OpenAuth.Web
|
||||
{
|
||||
public class RouteConfig
|
||||
{
|
||||
public static void RegisterRoutes(RouteCollection routes)
|
||||
{
|
||||
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
|
||||
|
||||
routes.MapRoute(
|
||||
name: "Default",
|
||||
url: "{controller}/{action}/{id}",
|
||||
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
19
OpenAuth.Web/App_Start/WebApiConfig.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.Http;
|
||||
|
||||
namespace OpenAuth.Web
|
||||
{
|
||||
public static class WebApiConfig
|
||||
{
|
||||
public static void Register(HttpConfiguration config)
|
||||
{
|
||||
config.Routes.MapHttpRoute(
|
||||
name: "DefaultApi",
|
||||
routeTemplate: "api/{controller}/{id}",
|
||||
defaults: new { id = RouteParameter.Optional }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
20
OpenAuth.Web/Controllers/HomeController.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace OpenAuth.Web.Controllers
|
||||
{
|
||||
public class HomeController : Controller
|
||||
{
|
||||
//
|
||||
// GET: /Home/
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
1
OpenAuth.Web/Global.asax
Normal file
@ -0,0 +1 @@
|
||||
<%@ Application Codebehind="Global.asax.cs" Inherits="OpenAuth.Web.MvcApplication" Language="C#" %>
|
24
OpenAuth.Web/Global.asax.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Http;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Routing;
|
||||
|
||||
namespace OpenAuth.Web
|
||||
{
|
||||
// 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,
|
||||
// 请访问 http://go.microsoft.com/?LinkId=9394801
|
||||
public class MvcApplication : System.Web.HttpApplication
|
||||
{
|
||||
protected void Application_Start()
|
||||
{
|
||||
AreaRegistration.RegisterAllAreas();
|
||||
|
||||
WebApiConfig.Register(GlobalConfiguration.Configuration);
|
||||
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
|
||||
RouteConfig.RegisterRoutes(RouteTable.Routes);
|
||||
}
|
||||
}
|
||||
}
|
275
OpenAuth.Web/OpenAuth.Web.csproj
Normal file
@ -0,0 +1,275 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>
|
||||
</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{814246F3-BC71-43CC-8CD4-2A107F2B3B52}</ProjectGuid>
|
||||
<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>OpenAuth.Web</RootNamespace>
|
||||
<AssemblyName>OpenAuth.Web</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<MvcBuildViews>false</MvcBuildViews>
|
||||
<UseIISExpress>true</UseIISExpress>
|
||||
<IISExpressSSLPort />
|
||||
<IISExpressAnonymousAuthentication />
|
||||
<IISExpressWindowsAuthentication />
|
||||
<IISExpressUseClassicPipelineMode />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Web.DynamicData" />
|
||||
<Reference Include="System.Web.Entity" />
|
||||
<Reference Include="System.Web.ApplicationServices" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="System.Web.Abstractions" />
|
||||
<Reference Include="System.Web.Routing" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Mvc.FixedDisplayModes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0\lib\net40\Microsoft.Web.Mvc.FixedDisplayModes.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json">
|
||||
<HintPath>..\packages\Newtonsoft.Json.4.5.11\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\Microsoft.Net.Http.2.0.30506.0\lib\net40\System.Net.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.4.0.30506.0\lib\net40\System.Net.Http.Formatting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.WebRequest">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\Microsoft.Net.Http.2.0.30506.0\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.30506.0\lib\net40\System.Web.Helpers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.4.0.30506.0\lib\net40\System.Web.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.4.0.30506.0\lib\net40\System.Web.Http.WebHost.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\Microsoft.AspNet.Mvc.4.0.30506.0\lib\net40\System.Web.Mvc.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\Microsoft.AspNet.Razor.2.0.30506.0\lib\net40\System.Web.Razor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.30506.0\lib\net40\System.Web.WebPages.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.30506.0\lib\net40\System.Web.WebPages.Deployment.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.30506.0\lib\net40\System.Web.WebPages.Razor.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Controllers\HomeController.cs" />
|
||||
<Compile Include="Global.asax.cs">
|
||||
<DependentUpon>Global.asax</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="App_Start\FilterConfig.cs" />
|
||||
<Compile Include="App_Start\RouteConfig.cs" />
|
||||
<Compile Include="App_Start\WebApiConfig.cs" />
|
||||
<Content Include="Global.asax" />
|
||||
<Content Include="Scripts\easyui\jquery.easyui.min.js" />
|
||||
<Content Include="Scripts\easyui\themes\icon.css" />
|
||||
<Content Include="Scripts\easyui\themes\icons\back.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\blank.gif" />
|
||||
<Content Include="Scripts\easyui\themes\icons\cancel.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\cut.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\edit_add.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\edit_remove.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\filesave.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\help.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\mini_add.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\mini_edit.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\mini_refresh.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\no.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\ok.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\pencil.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\print.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\redo.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\reload.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\search.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\sum.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\tip.png" />
|
||||
<Content Include="Scripts\easyui\themes\icons\undo.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\accordion.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\calendar.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\combo.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\combobox.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\datagrid.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\datebox.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\dialog.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\easyui.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\accordion_arrows.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\blank.gif" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\calendar_arrows.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\combo_arrow.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\datagrid_icons.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\datebox_arrow.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\layout_arrows.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\linkbutton_bg.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\loading.gif" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\menu_arrows.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\messager_icons.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\pagination_icons.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\panel_tools.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\searchbox_button.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\slider_handle.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\spinner_arrows.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\tabs_icons.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\tree_icons.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\validatebox_arrows.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\validatebox_warning.png" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\layout.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\linkbutton.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\menu.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\menubutton.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\messager.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\pagination.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\panel.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\progressbar.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\propertygrid.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\searchbox.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\slider.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\spinner.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\splitbutton.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\tabs.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\tree.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\validatebox.css" />
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\window.css" />
|
||||
<Content Include="Scripts\head.jpg" />
|
||||
<Content Include="Scripts\jquery-1.8.2.min.js" />
|
||||
<Content Include="Scripts\jquery.unobtrusive-ajax.min.js" />
|
||||
<Content Include="Scripts\json2.js" />
|
||||
<Content Include="Web.config" />
|
||||
<Content Include="Web.Debug.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="Web.Release.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="Views\Web.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="App_Data\" />
|
||||
<Folder Include="Models\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Scripts\easyui\themes\metro-blue\images\Thumbs.db" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Views\Shared\Error.cshtml" />
|
||||
<Content Include="Views\Shared\_Layout.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Views\Home\Index.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Views\Home\_Layout.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenAuth.App\OpenAuth.App.csproj">
|
||||
<Project>{0bbf2d65-fffd-4272-b138-8ea4fb6fec48}</Project>
|
||||
<Name>OpenAuth.App</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\OpenAuth.Domain\OpenAuth.Domain.csproj">
|
||||
<Project>{6108da8e-92a1-4abe-b9f5-26d64d55ca2c}</Project>
|
||||
<Name>OpenAuth.Domain</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\OpenAuth.Infrastructure\OpenAuth.Infrastructure.csproj">
|
||||
<Project>{adae08c0-de22-41f7-9f94-0e62ae327c25}</Project>
|
||||
<Name>OpenAuth.Infrastructure</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
|
||||
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
|
||||
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
|
||||
</Target>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<UseIIS>True</UseIIS>
|
||||
<AutoAssignPort>True</AutoAssignPort>
|
||||
<DevelopmentServerPort>8073</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
<IISUrl>http://localhost:8073/</IISUrl>
|
||||
<NTLMAuthentication>False</NTLMAuthentication>
|
||||
<UseCustomServer>False</UseCustomServer>
|
||||
<CustomServerUrl>
|
||||
</CustomServerUrl>
|
||||
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target> -->
|
||||
</Project>
|
35
OpenAuth.Web/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的常规信息通过下列特性集
|
||||
// 控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("OpenAuth.Web")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("OpenAuth.Web")]
|
||||
[assembly: AssemblyCopyright("版权所有(C) Microsoft 2015")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 会使此程序集中的类型
|
||||
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的某个类型,
|
||||
// 请针对该类型将 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("ecc97add-fb43-4284-b514-4f49f4bc162d")]
|
||||
|
||||
// 程序集的版本信息由下列四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 内部版本号
|
||||
// 修订号
|
||||
//
|
||||
// 可以指定所有这些值,也可以使用“修订号”和“内部版本号”的默认值,
|
||||
// 方法是按如下所示使用“*”:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
12183
OpenAuth.Web/Scripts/easyui/jquery.easyui.min.js
vendored
Normal file
64
OpenAuth.Web/Scripts/easyui/themes/icon.css
Normal file
@ -0,0 +1,64 @@
|
||||
.icon-blank{
|
||||
background:url('icons/blank.gif') no-repeat center center;
|
||||
}
|
||||
.icon-add{
|
||||
background:url('icons/edit_add.png') no-repeat center center;
|
||||
}
|
||||
.icon-edit{
|
||||
background:url('icons/pencil.png') no-repeat center center;
|
||||
}
|
||||
.icon-remove{
|
||||
background:url('icons/edit_remove.png') no-repeat center center;
|
||||
}
|
||||
.icon-save{
|
||||
background:url('icons/filesave.png') no-repeat center center;
|
||||
}
|
||||
.icon-cut{
|
||||
background:url('icons/cut.png') no-repeat center center;
|
||||
}
|
||||
.icon-ok{
|
||||
background:url('icons/ok.png') no-repeat center center;
|
||||
}
|
||||
.icon-no{
|
||||
background:url('icons/no.png') no-repeat center center;
|
||||
}
|
||||
.icon-cancel{
|
||||
background:url('icons/cancel.png') no-repeat center center;
|
||||
}
|
||||
.icon-reload{
|
||||
background:url('icons/reload.png') no-repeat center center;
|
||||
}
|
||||
.icon-search{
|
||||
background:url('icons/search.png') no-repeat center center;
|
||||
}
|
||||
.icon-print{
|
||||
background:url('icons/print.png') no-repeat center center;
|
||||
}
|
||||
.icon-help{
|
||||
background:url('icons/help.png') no-repeat center center;
|
||||
}
|
||||
.icon-undo{
|
||||
background:url('icons/undo.png') no-repeat center center;
|
||||
}
|
||||
.icon-redo{
|
||||
background:url('icons/redo.png') no-repeat center center;
|
||||
}
|
||||
.icon-back{
|
||||
background:url('icons/back.png') no-repeat center center;
|
||||
}
|
||||
.icon-sum{
|
||||
background:url('icons/sum.png') no-repeat center center;
|
||||
}
|
||||
.icon-tip{
|
||||
background:url('icons/tip.png') no-repeat center center;
|
||||
}
|
||||
|
||||
.icon-mini-add{
|
||||
background:url('icons/mini_add.png') no-repeat center center;
|
||||
}
|
||||
.icon-mini-edit{
|
||||
background:url('icons/mini_edit.png') no-repeat center center;
|
||||
}
|
||||
.icon-mini-refresh{
|
||||
background:url('icons/mini_refresh.png') no-repeat center center;
|
||||
}
|
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/back.png
Normal file
After Width: | Height: | Size: 912 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/blank.gif
Normal file
After Width: | Height: | Size: 43 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/cancel.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/cut.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/edit_add.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/edit_remove.png
Normal file
After Width: | Height: | Size: 625 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/filesave.png
Normal file
After Width: | Height: | Size: 898 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/help.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/mini_add.png
Normal file
After Width: | Height: | Size: 244 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/mini_edit.png
Normal file
After Width: | Height: | Size: 161 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/mini_refresh.png
Normal file
After Width: | Height: | Size: 160 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/no.png
Normal file
After Width: | Height: | Size: 922 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/ok.png
Normal file
After Width: | Height: | Size: 883 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/pencil.png
Normal file
After Width: | Height: | Size: 713 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/print.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/redo.png
Normal file
After Width: | Height: | Size: 708 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/reload.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/search.png
Normal file
After Width: | Height: | Size: 813 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/sum.png
Normal file
After Width: | Height: | Size: 289 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/tip.png
Normal file
After Width: | Height: | Size: 743 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/icons/undo.png
Normal file
After Width: | Height: | Size: 707 B |
41
OpenAuth.Web/Scripts/easyui/themes/metro-blue/accordion.css
Normal file
@ -0,0 +1,41 @@
|
||||
.accordion {
|
||||
overflow: hidden;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.accordion .accordion-header {
|
||||
border-width: 0 0 1px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.accordion .accordion-body {
|
||||
border-width: 0 0 1px;
|
||||
}
|
||||
.accordion-noborder {
|
||||
border-width: 0;
|
||||
}
|
||||
.accordion-noborder .accordion-header {
|
||||
border-width: 0 0 1px;
|
||||
}
|
||||
.accordion-noborder .accordion-body {
|
||||
border-width: 0 0 1px;
|
||||
}
|
||||
.accordion-collapse {
|
||||
background: url('images/accordion_arrows.png') no-repeat 0 0;
|
||||
}
|
||||
.accordion-expand {
|
||||
background: url('images/accordion_arrows.png') no-repeat -16px 0;
|
||||
}
|
||||
.accordion {
|
||||
background: #fafafa;
|
||||
border-color: #c3d9e0;
|
||||
}
|
||||
.accordion .accordion-header {
|
||||
background: #daeef5;
|
||||
filter: none;
|
||||
}
|
||||
.accordion .accordion-header-selected {
|
||||
background: #6caef5;
|
||||
}
|
||||
.accordion .accordion-header-selected .panel-title {
|
||||
color: #fff;
|
||||
}
|
185
OpenAuth.Web/Scripts/easyui/themes/metro-blue/calendar.css
Normal file
@ -0,0 +1,185 @@
|
||||
.calendar {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
padding: 1px;
|
||||
overflow: hidden;
|
||||
font-size: 12px;
|
||||
}
|
||||
.calendar table {
|
||||
border-collapse: separate;
|
||||
font-size: 12px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.calendar-noborder {
|
||||
border: 0;
|
||||
}
|
||||
.calendar-header {
|
||||
position: relative;
|
||||
height: 22px;
|
||||
}
|
||||
.calendar-title {
|
||||
text-align: center;
|
||||
height: 22px;
|
||||
}
|
||||
.calendar-title span {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
top: 2px;
|
||||
padding: 0 3px;
|
||||
height: 18px;
|
||||
line-height: 18px;
|
||||
cursor: pointer;
|
||||
-moz-border-radius: 0px 0px 0px 0px;
|
||||
-webkit-border-radius: 0px 0px 0px 0px;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
}
|
||||
.calendar-prevmonth,
|
||||
.calendar-nextmonth,
|
||||
.calendar-prevyear,
|
||||
.calendar-nextyear {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -7px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
cursor: pointer;
|
||||
font-size: 1px;
|
||||
-moz-border-radius: 0px 0px 0px 0px;
|
||||
-webkit-border-radius: 0px 0px 0px 0px;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
}
|
||||
.calendar-prevmonth {
|
||||
left: 20px;
|
||||
background: url('images/calendar_arrows.png') no-repeat -18px -2px;
|
||||
}
|
||||
.calendar-nextmonth {
|
||||
right: 20px;
|
||||
background: url('images/calendar_arrows.png') no-repeat -34px -2px;
|
||||
}
|
||||
.calendar-prevyear {
|
||||
left: 3px;
|
||||
background: url('images/calendar_arrows.png') no-repeat -1px -2px;
|
||||
}
|
||||
.calendar-nextyear {
|
||||
right: 3px;
|
||||
background: url('images/calendar_arrows.png') no-repeat -49px -2px;
|
||||
}
|
||||
.calendar-body {
|
||||
position: relative;
|
||||
}
|
||||
.calendar-body th,
|
||||
.calendar-body td {
|
||||
text-align: center;
|
||||
}
|
||||
.calendar-day {
|
||||
border: 0;
|
||||
padding: 1px;
|
||||
cursor: pointer;
|
||||
-moz-border-radius: 0px 0px 0px 0px;
|
||||
-webkit-border-radius: 0px 0px 0px 0px;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
}
|
||||
.calendar-other-month {
|
||||
opacity: 0.3;
|
||||
filter: alpha(opacity=30);
|
||||
}
|
||||
.calendar-menu {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 180px;
|
||||
height: 150px;
|
||||
padding: 5px;
|
||||
font-size: 12px;
|
||||
display: none;
|
||||
overflow: hidden;
|
||||
}
|
||||
.calendar-menu-year-inner {
|
||||
text-align: center;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
.calendar-menu-year {
|
||||
width: 40px;
|
||||
text-align: center;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
margin: 0;
|
||||
padding: 2px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.calendar-menu-prev,
|
||||
.calendar-menu-next {
|
||||
display: inline-block;
|
||||
width: 21px;
|
||||
height: 21px;
|
||||
vertical-align: top;
|
||||
cursor: pointer;
|
||||
-moz-border-radius: 0px 0px 0px 0px;
|
||||
-webkit-border-radius: 0px 0px 0px 0px;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
}
|
||||
.calendar-menu-prev {
|
||||
margin-right: 10px;
|
||||
background: url('images/calendar_arrows.png') no-repeat 2px 2px;
|
||||
}
|
||||
.calendar-menu-next {
|
||||
margin-left: 10px;
|
||||
background: url('images/calendar_arrows.png') no-repeat -45px 2px;
|
||||
}
|
||||
.calendar-menu-month {
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
-moz-border-radius: 0px 0px 0px 0px;
|
||||
-webkit-border-radius: 0px 0px 0px 0px;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
}
|
||||
.calendar-body th,
|
||||
.calendar-menu-month {
|
||||
color: #8d8d8d;
|
||||
}
|
||||
.calendar-day {
|
||||
color: #404040;
|
||||
}
|
||||
.calendar-sunday {
|
||||
color: #CC2222;
|
||||
}
|
||||
.calendar-saturday {
|
||||
color: #00ee00;
|
||||
}
|
||||
.calendar-today {
|
||||
color: #0000ff;
|
||||
}
|
||||
.calendar-menu-year {
|
||||
border-color: #c3d9e0;
|
||||
}
|
||||
.calendar {
|
||||
border-color: #c3d9e0;
|
||||
}
|
||||
.calendar-header {
|
||||
background: #daeef5;
|
||||
}
|
||||
.calendar-body,
|
||||
.calendar-menu {
|
||||
background: #fafafa;
|
||||
}
|
||||
.calendar-body th {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
.calendar-hover,
|
||||
.calendar-nav-hover,
|
||||
.calendar-menu-hover {
|
||||
background-color: #9cc8f7;
|
||||
color: #404040;
|
||||
}
|
||||
.calendar-hover {
|
||||
border: 1px solid #9cc8f7;
|
||||
padding: 0;
|
||||
}
|
||||
.calendar-selected {
|
||||
background-color: #6caef5;
|
||||
color: #fff;
|
||||
border: 1px solid #9cc8f7;
|
||||
padding: 0;
|
||||
}
|
58
OpenAuth.Web/Scripts/easyui/themes/metro-blue/combo.css
Normal file
@ -0,0 +1,58 @@
|
||||
.combo {
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
overflow: hidden;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.combo .combo-text {
|
||||
font-size: 12px;
|
||||
border: 0px;
|
||||
line-height: 20px;
|
||||
height: 20px;
|
||||
margin: 0;
|
||||
padding: 0px 2px;
|
||||
*margin-top: -1px;
|
||||
*height: 18px;
|
||||
*line-height: 18px;
|
||||
_height: 18px;
|
||||
_line-height: 18px;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
.combo-arrow {
|
||||
width: 18px;
|
||||
height: 20px;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
cursor: pointer;
|
||||
opacity: 0.6;
|
||||
filter: alpha(opacity=60);
|
||||
}
|
||||
.combo-arrow-hover {
|
||||
opacity: 1.0;
|
||||
filter: alpha(opacity=100);
|
||||
}
|
||||
.combo-panel {
|
||||
overflow: auto;
|
||||
}
|
||||
.combo-arrow {
|
||||
background: url('images/combo_arrow.png') no-repeat center center;
|
||||
}
|
||||
.combo,
|
||||
.combo-panel {
|
||||
background-color: #fafafa;
|
||||
}
|
||||
.combo {
|
||||
border-color: #c3d9e0;
|
||||
background-color: #fafafa;
|
||||
}
|
||||
.combo-arrow {
|
||||
background-color: #daeef5;
|
||||
}
|
||||
.combo-arrow-hover {
|
||||
background-color: #9cc8f7;
|
||||
}
|
14
OpenAuth.Web/Scripts/easyui/themes/metro-blue/combobox.css
Normal file
@ -0,0 +1,14 @@
|
||||
.combobox-item {
|
||||
padding: 2px;
|
||||
font-size: 12px;
|
||||
padding: 3px;
|
||||
padding-right: 0px;
|
||||
}
|
||||
.combobox-item-hover {
|
||||
background-color: #9cc8f7;
|
||||
color: #404040;
|
||||
}
|
||||
.combobox-item-selected {
|
||||
background-color: #6caef5;
|
||||
color: #fff;
|
||||
}
|
247
OpenAuth.Web/Scripts/easyui/themes/metro-blue/datagrid.css
Normal file
@ -0,0 +1,247 @@
|
||||
.datagrid .panel-body {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
.datagrid-view {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.datagrid-view1,
|
||||
.datagrid-view2 {
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
top: 0;
|
||||
}
|
||||
.datagrid-view1 {
|
||||
left: 0;
|
||||
}
|
||||
.datagrid-view2 {
|
||||
right: 0;
|
||||
}
|
||||
.datagrid-mask {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0.3;
|
||||
filter: alpha(opacity=30);
|
||||
display: none;
|
||||
}
|
||||
.datagrid-mask-msg {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -20px;
|
||||
padding: 12px 5px 10px 30px;
|
||||
width: auto;
|
||||
height: 16px;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
display: none;
|
||||
}
|
||||
.datagrid-sort-icon {
|
||||
padding: 0;
|
||||
}
|
||||
.datagrid-toolbar {
|
||||
height: auto;
|
||||
padding: 1px 2px;
|
||||
border-width: 0 0 1px 0;
|
||||
border-style: solid;
|
||||
}
|
||||
.datagrid-btn-separator {
|
||||
float: left;
|
||||
height: 24px;
|
||||
border-left: 1px solid #ddd;
|
||||
border-right: 1px solid #fff;
|
||||
margin: 2px 1px;
|
||||
}
|
||||
.datagrid .datagrid-pager {
|
||||
margin: 0;
|
||||
border-width: 1px 0 0 0;
|
||||
border-style: solid;
|
||||
}
|
||||
.datagrid .datagrid-pager-top {
|
||||
border-width: 0 0 1px 0;
|
||||
}
|
||||
.datagrid-header {
|
||||
overflow: hidden;
|
||||
cursor: default;
|
||||
border-width: 0 0 1px 0;
|
||||
border-style: solid;
|
||||
}
|
||||
.datagrid-header-inner {
|
||||
float: left;
|
||||
width: 10000px;
|
||||
}
|
||||
.datagrid-header-row,
|
||||
.datagrid-row {
|
||||
height: 25px;
|
||||
}
|
||||
.datagrid-header td,
|
||||
.datagrid-body td,
|
||||
.datagrid-footer td {
|
||||
border-width: 0 1px 1px 0;
|
||||
border-style: dotted;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.datagrid-cell,
|
||||
.datagrid-cell-group,
|
||||
.datagrid-header-rownumber,
|
||||
.datagrid-cell-rownumber {
|
||||
margin: 0;
|
||||
padding: 0 4px;
|
||||
white-space: nowrap;
|
||||
word-wrap: normal;
|
||||
overflow: hidden;
|
||||
height: 18px;
|
||||
line-height: 18px;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
}
|
||||
.datagrid-cell-group {
|
||||
text-align: center;
|
||||
}
|
||||
.datagrid-header-rownumber,
|
||||
.datagrid-cell-rownumber {
|
||||
width: 25px;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.datagrid-body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: auto;
|
||||
zoom: 1;
|
||||
}
|
||||
.datagrid-view1 .datagrid-body-inner {
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
.datagrid-view1 .datagrid-body {
|
||||
overflow: hidden;
|
||||
}
|
||||
.datagrid-footer {
|
||||
overflow: hidden;
|
||||
}
|
||||
.datagrid-footer-inner {
|
||||
border-width: 1px 0 0 0;
|
||||
border-style: solid;
|
||||
width: 10000px;
|
||||
float: left;
|
||||
}
|
||||
.datagrid-row-editing .datagrid-cell {
|
||||
height: auto;
|
||||
}
|
||||
.datagrid-header-check,
|
||||
.datagrid-cell-check {
|
||||
padding: 0;
|
||||
width: 27px;
|
||||
height: 18px;
|
||||
font-size: 1px;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
.datagrid-header-check input,
|
||||
.datagrid-cell-check input {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 15px;
|
||||
height: 18px;
|
||||
}
|
||||
.datagrid-resize-proxy {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 10000px;
|
||||
top: 0;
|
||||
cursor: e-resize;
|
||||
display: none;
|
||||
}
|
||||
.datagrid-body .datagrid-editable {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.datagrid-body .datagrid-editable table {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.datagrid-body .datagrid-editable td {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.datagrid-body .datagrid-editable .datagrid-editable-input {
|
||||
margin: 0;
|
||||
padding: 2px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.datagrid-sort-desc .datagrid-sort-icon {
|
||||
padding: 0 13px 0 0;
|
||||
background: url('images/datagrid_icons.png') no-repeat -16px center;
|
||||
}
|
||||
.datagrid-sort-asc .datagrid-sort-icon {
|
||||
padding: 0 13px 0 0;
|
||||
background: url('images/datagrid_icons.png') no-repeat 0px center;
|
||||
}
|
||||
.datagrid-row-collapse {
|
||||
background: url('images/datagrid_icons.png') no-repeat -48px center;
|
||||
}
|
||||
.datagrid-row-expand {
|
||||
background: url('images/datagrid_icons.png') no-repeat -32px center;
|
||||
}
|
||||
.datagrid-mask-msg {
|
||||
background: #fafafa url('images/loading.gif') no-repeat scroll 5px center;
|
||||
}
|
||||
.datagrid-header,
|
||||
.datagrid-td-rownumber {
|
||||
background-color: #ebeced;
|
||||
}
|
||||
.datagrid-cell-rownumber {
|
||||
color: #404040;
|
||||
}
|
||||
.datagrid-resize-proxy {
|
||||
background: #1a7bc9;
|
||||
}
|
||||
.datagrid-mask {
|
||||
background: #eee;
|
||||
}
|
||||
.datagrid-mask-msg {
|
||||
border-color: #c3d9e0;
|
||||
}
|
||||
.datagrid-toolbar,
|
||||
.datagrid-pager {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
.datagrid-header,
|
||||
.datagrid-toolbar,
|
||||
.datagrid-pager,
|
||||
.datagrid-footer-inner {
|
||||
border-color: #dedede;
|
||||
}
|
||||
.datagrid-header td,
|
||||
.datagrid-body td,
|
||||
.datagrid-footer td {
|
||||
border-color: #ccc;
|
||||
}
|
||||
.datagrid-htable,
|
||||
.datagrid-btable,
|
||||
.datagrid-ftable {
|
||||
color: #404040;
|
||||
}
|
||||
.datagrid-row-alt {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
.datagrid-row-over,
|
||||
.datagrid-header td.datagrid-header-over {
|
||||
background: #9cc8f7;
|
||||
color: #404040;
|
||||
cursor: default;
|
||||
}
|
||||
.datagrid-row-selected {
|
||||
background: #6caef5;
|
||||
color: #fff;
|
||||
}
|
||||
.datagrid-body .datagrid-editable .datagrid-editable-input {
|
||||
border-color: #c3d9e0;
|
||||
}
|
40
OpenAuth.Web/Scripts/easyui/themes/metro-blue/datebox.css
Normal file
@ -0,0 +1,40 @@
|
||||
.datebox-calendar-inner {
|
||||
height: 180px;
|
||||
}
|
||||
.datebox-button {
|
||||
height: 18px;
|
||||
padding: 2px 5px;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
}
|
||||
.datebox-current,
|
||||
.datebox-close,
|
||||
.datebox-ok {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
opacity: 0.6;
|
||||
filter: alpha(opacity=60);
|
||||
}
|
||||
.datebox-current,
|
||||
.datebox-close {
|
||||
float: left;
|
||||
}
|
||||
.datebox-close {
|
||||
float: right;
|
||||
}
|
||||
.datebox-button-hover {
|
||||
opacity: 1.0;
|
||||
filter: alpha(opacity=100);
|
||||
}
|
||||
.datebox .combo-arrow {
|
||||
background-image: url('images/datebox_arrow.png');
|
||||
background-position: center center;
|
||||
}
|
||||
.datebox-button {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
.datebox-current,
|
||||
.datebox-close,
|
||||
.datebox-ok {
|
||||
color: #404040;
|
||||
}
|
30
OpenAuth.Web/Scripts/easyui/themes/metro-blue/dialog.css
Normal file
@ -0,0 +1,30 @@
|
||||
.dialog-content {
|
||||
overflow: auto;
|
||||
}
|
||||
.dialog-toolbar {
|
||||
padding: 2px 5px;
|
||||
}
|
||||
.dialog-tool-separator {
|
||||
float: left;
|
||||
height: 24px;
|
||||
border-left: 1px solid #ddd;
|
||||
border-right: 1px solid #fff;
|
||||
margin: 2px 1px;
|
||||
}
|
||||
.dialog-button {
|
||||
padding: 5px;
|
||||
text-align: right;
|
||||
}
|
||||
.dialog-button .l-btn {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.dialog-toolbar,
|
||||
.dialog-button {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
.dialog-toolbar {
|
||||
border-bottom: 1px solid #dedede;
|
||||
}
|
||||
.dialog-button {
|
||||
border-top: 1px solid #dedede;
|
||||
}
|
2148
OpenAuth.Web/Scripts/easyui/themes/metro-blue/easyui.css
Normal file
BIN
OpenAuth.Web/Scripts/easyui/themes/metro-blue/images/Thumbs.db
Normal file
After Width: | Height: | Size: 125 B |
BIN
OpenAuth.Web/Scripts/easyui/themes/metro-blue/images/blank.gif
Normal file
After Width: | Height: | Size: 43 B |
After Width: | Height: | Size: 173 B |
After Width: | Height: | Size: 103 B |
After Width: | Height: | Size: 243 B |
After Width: | Height: | Size: 626 B |
After Width: | Height: | Size: 181 B |
After Width: | Height: | Size: 1.2 KiB |
BIN
OpenAuth.Web/Scripts/easyui/themes/metro-blue/images/loading.gif
Normal file
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 160 B |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 492 B |
After Width: | Height: | Size: 191 B |
After Width: | Height: | Size: 813 B |
After Width: | Height: | Size: 863 B |
After Width: | Height: | Size: 141 B |
After Width: | Height: | Size: 144 B |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 166 B |
After Width: | Height: | Size: 921 B |
91
OpenAuth.Web/Scripts/easyui/themes/metro-blue/layout.css
Normal file
@ -0,0 +1,91 @@
|
||||
.layout {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
z-index: 0;
|
||||
}
|
||||
.layout-panel {
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
}
|
||||
.layout-panel-east,
|
||||
.layout-panel-west {
|
||||
z-index: 2;
|
||||
}
|
||||
.layout-panel-north,
|
||||
.layout-panel-south {
|
||||
z-index: 3;
|
||||
}
|
||||
.layout-expand {
|
||||
position: absolute;
|
||||
padding: 0px;
|
||||
font-size: 1px;
|
||||
cursor: pointer;
|
||||
z-index: 1;
|
||||
}
|
||||
.layout-expand .panel-header,
|
||||
.layout-expand .panel-body {
|
||||
background: transparent;
|
||||
filter: none;
|
||||
overflow: hidden;
|
||||
}
|
||||
.layout-expand .panel-header {
|
||||
border-bottom-width: 0px;
|
||||
}
|
||||
.layout-split-proxy-h,
|
||||
.layout-split-proxy-v {
|
||||
position: absolute;
|
||||
font-size: 1px;
|
||||
display: none;
|
||||
z-index: 5;
|
||||
}
|
||||
.layout-split-proxy-h {
|
||||
width: 5px;
|
||||
cursor: e-resize;
|
||||
}
|
||||
.layout-split-proxy-v {
|
||||
height: 5px;
|
||||
cursor: n-resize;
|
||||
}
|
||||
.layout-mask {
|
||||
position: absolute;
|
||||
background: #fafafa;
|
||||
filter: alpha(opacity=10);
|
||||
opacity: 0.10;
|
||||
z-index: 4;
|
||||
}
|
||||
.layout-button-up {
|
||||
background: url('images/layout_arrows.png') no-repeat -16px -16px;
|
||||
}
|
||||
.layout-button-down {
|
||||
background: url('images/layout_arrows.png') no-repeat -16px 0;
|
||||
}
|
||||
.layout-button-left {
|
||||
background: url('images/layout_arrows.png') no-repeat 0 0;
|
||||
}
|
||||
.layout-button-right {
|
||||
background: url('images/layout_arrows.png') no-repeat 0 -16px;
|
||||
}
|
||||
.layout-split-proxy-h,
|
||||
.layout-split-proxy-v {
|
||||
background-color: #1a7bc9;
|
||||
}
|
||||
.layout-split-north {
|
||||
border-bottom: 5px solid #fafafa;
|
||||
}
|
||||
.layout-split-south {
|
||||
border-top: 5px solid #fafafa;
|
||||
}
|
||||
.layout-split-east {
|
||||
border-left: 5px solid #fafafa;
|
||||
}
|
||||
.layout-split-west {
|
||||
border-right: 5px solid #fafafa;
|
||||
}
|
||||
.layout-expand {
|
||||
background-color: #daeef5;
|
||||
}
|
||||
.layout-expand-over {
|
||||
background-color: #daeef5;
|
||||
}
|
121
OpenAuth.Web/Scripts/easyui/themes/metro-blue/linkbutton.css
Normal file
@ -0,0 +1,121 @@
|
||||
a.l-btn {
|
||||
background-position: right 0;
|
||||
font-size: 12px;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
zoom: 1;
|
||||
height: 24px;
|
||||
padding-right: 18px;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
}
|
||||
a.l-btn-plain {
|
||||
padding-right: 5px;
|
||||
border: 0;
|
||||
padding: 1px 6px 1px 1px;
|
||||
}
|
||||
a.l-btn-disabled {
|
||||
color: #ccc;
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: default;
|
||||
}
|
||||
a.l-btn span.l-btn-left {
|
||||
display: inline-block;
|
||||
background-position: 0 -48px;
|
||||
padding: 4px 0px 4px 18px;
|
||||
line-height: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
a.l-btn-plain span.l-btn-left {
|
||||
padding-left: 5px;
|
||||
}
|
||||
a.l-btn span span.l-btn-text {
|
||||
display: inline-block;
|
||||
vertical-align: baseline;
|
||||
width: auto;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
a.l-btn span span.l-btn-icon-left {
|
||||
padding: 0 0 0 20px;
|
||||
background-position: left center;
|
||||
}
|
||||
a.l-btn span span.l-btn-icon-right {
|
||||
padding: 0 20px 0 0;
|
||||
background-position: right center;
|
||||
}
|
||||
a.l-btn span span span.l-btn-empty {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 16px;
|
||||
}
|
||||
a:hover.l-btn {
|
||||
background-position: right -24px;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover.l-btn span.l-btn-left {
|
||||
background-position: 0 bottom;
|
||||
}
|
||||
a:hover.l-btn-plain {
|
||||
padding: 0 5px 0 0;
|
||||
}
|
||||
a:hover.l-btn-disabled {
|
||||
background-position: right 0;
|
||||
}
|
||||
a:hover.l-btn-disabled span.l-btn-left {
|
||||
background-position: 0 -48px;
|
||||
}
|
||||
a.l-btn .l-btn-focus {
|
||||
outline: #0000FF dotted thin;
|
||||
}
|
||||
a.l-btn {
|
||||
color: #404040;
|
||||
background-image: url('images/linkbutton_bg.png');
|
||||
background-repeat: no-repeat;
|
||||
background: #1a7bc9;
|
||||
background-repeat: repeat-x;
|
||||
border: 1px solid #1a7bc9;
|
||||
background: -webkit-linear-gradient(top,#1a7bc9 0,#1a7bc9 100%);
|
||||
background: -moz-linear-gradient(top,#1a7bc9 0,#1a7bc9 100%);
|
||||
background: -o-linear-gradient(top,#1a7bc9 0,#1a7bc9 100%);
|
||||
background: linear-gradient(to bottom,#1a7bc9 0,#1a7bc9 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#1a7bc9,endColorstr=#1a7bc9,GradientType=0);
|
||||
-moz-border-radius: 0px 0px 0px 0px;
|
||||
-webkit-border-radius: 0px 0px 0px 0px;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
}
|
||||
a.l-btn span.l-btn-left {
|
||||
background-image: url('images/linkbutton_bg.png');
|
||||
background-repeat: no-repeat;
|
||||
background-image: none;
|
||||
}
|
||||
a:hover.l-btn {
|
||||
background: #9cc8f7;
|
||||
color: #404040;
|
||||
border: 1px solid #9cc8f7;
|
||||
filter: none;
|
||||
}
|
||||
a.l-btn-plain,
|
||||
a.l-btn-plain span.l-btn-left {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
filter: none;
|
||||
}
|
||||
a:hover.l-btn-plain {
|
||||
background: #9cc8f7;
|
||||
color: #404040;
|
||||
border: 1px solid #9cc8f7;
|
||||
-moz-border-radius: 0px 0px 0px 0px;
|
||||
-webkit-border-radius: 0px 0px 0px 0px;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
}
|
||||
a.l-btn-disabled,
|
||||
a:hover.l-btn-disabled {
|
||||
filter: alpha(opacity=50);
|
||||
}
|
109
OpenAuth.Web/Scripts/easyui/themes/metro-blue/menu.css
Normal file
@ -0,0 +1,109 @@
|
||||
.menu {
|
||||
position: absolute;
|
||||
margin: 0;
|
||||
padding: 2px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
overflow: hidden;
|
||||
}
|
||||
.menu-item {
|
||||
position: relative;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.menu-text {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
float: left;
|
||||
padding-left: 28px;
|
||||
}
|
||||
.menu-icon {
|
||||
position: absolute;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
left: 2px;
|
||||
top: 50%;
|
||||
margin-top: -8px;
|
||||
}
|
||||
.menu-rightarrow {
|
||||
position: absolute;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
margin-top: -8px;
|
||||
}
|
||||
.menu-line {
|
||||
position: absolute;
|
||||
left: 26px;
|
||||
top: 0;
|
||||
height: 2000px;
|
||||
font-size: 1px;
|
||||
}
|
||||
.menu-sep {
|
||||
margin: 3px 0px 3px 25px;
|
||||
font-size: 1px;
|
||||
}
|
||||
.menu-active {
|
||||
-moz-border-radius: 0px 0px 0px 0px;
|
||||
-webkit-border-radius: 0px 0px 0px 0px;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
}
|
||||
.menu-item-disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: default;
|
||||
}
|
||||
.menu-text,
|
||||
.menu-text span {
|
||||
font-size: 12px;
|
||||
}
|
||||
.menu-shadow {
|
||||
position: absolute;
|
||||
-moz-border-radius: 0px 0px 0px 0px;
|
||||
-webkit-border-radius: 0px 0px 0px 0px;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
background: #fafafa;
|
||||
-moz-box-shadow: 2px 2px 3px #fafafa;
|
||||
-webkit-box-shadow: 2px 2px 3px #fafafa;
|
||||
box-shadow: 2px 2px 3px #fafafa;
|
||||
filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);
|
||||
}
|
||||
.menu-rightarrow {
|
||||
background: url('images/menu_arrows.png') no-repeat -32px center;
|
||||
}
|
||||
.menu-line {
|
||||
border-left: 1px solid #ddd;
|
||||
border-right: 1px solid #fff;
|
||||
}
|
||||
.menu-sep {
|
||||
border-top: 1px solid #ddd;
|
||||
border-bottom: 1px solid #fff;
|
||||
}
|
||||
.menu {
|
||||
background-color: #fafafa;
|
||||
border-color: #c3d9e0;
|
||||
color: #404040;
|
||||
}
|
||||
.menu-content {
|
||||
background: #fafafa;
|
||||
}
|
||||
.menu-item {
|
||||
border-color: transparent;
|
||||
_border-color: #fafafa;
|
||||
}
|
||||
.menu-active {
|
||||
border-color: #9cc8f7;
|
||||
color: #404040;
|
||||
background: #9cc8f7;
|
||||
}
|
||||
.menu-active-disabled {
|
||||
border-color: transparent;
|
||||
background: transparent;
|
||||
color: #404040;
|
||||
}
|
30
OpenAuth.Web/Scripts/easyui/themes/metro-blue/menubutton.css
Normal file
@ -0,0 +1,30 @@
|
||||
.m-btn-downarrow {
|
||||
display: inline-block;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
_vertical-align: middle;
|
||||
}
|
||||
a.m-btn-active {
|
||||
background-position: bottom right;
|
||||
}
|
||||
a.m-btn-active span.l-btn-left {
|
||||
background-position: bottom left;
|
||||
}
|
||||
a.m-btn-plain-active {
|
||||
background: transparent;
|
||||
padding: 0 5px 0 0;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
-moz-border-radius: 0px 0px 0px 0px;
|
||||
-webkit-border-radius: 0px 0px 0px 0px;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
}
|
||||
.m-btn-downarrow {
|
||||
background: url('images/menu_arrows.png') no-repeat 2px center;
|
||||
}
|
||||
a.m-btn-plain-active {
|
||||
border-color: #9cc8f7;
|
||||
background-color: #9cc8f7;
|
||||
color: #404040;
|
||||
}
|
37
OpenAuth.Web/Scripts/easyui/themes/metro-blue/messager.css
Normal file
@ -0,0 +1,37 @@
|
||||
.messager-body {
|
||||
padding: 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.messager-button {
|
||||
text-align: center;
|
||||
padding-top: 10px;
|
||||
}
|
||||
.messager-icon {
|
||||
float: left;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 0 10px 10px 0;
|
||||
}
|
||||
.messager-error {
|
||||
background: url('images/messager_icons.png') no-repeat scroll -64px 0;
|
||||
}
|
||||
.messager-info {
|
||||
background: url('images/messager_icons.png') no-repeat scroll 0 0;
|
||||
}
|
||||
.messager-question {
|
||||
background: url('images/messager_icons.png') no-repeat scroll -32px 0;
|
||||
}
|
||||
.messager-warning {
|
||||
background: url('images/messager_icons.png') no-repeat scroll -96px 0;
|
||||
}
|
||||
.messager-progress {
|
||||
padding: 10px;
|
||||
}
|
||||
.messager-p-msg {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.messager-body .messager-input {
|
||||
width: 100%;
|
||||
padding: 1px 0;
|
||||
border: 1px solid #c3d9e0;
|
||||
}
|
66
OpenAuth.Web/Scripts/easyui/themes/metro-blue/pagination.css
Normal file
@ -0,0 +1,66 @@
|
||||
.pagination {
|
||||
zoom: 1;
|
||||
}
|
||||
.pagination table {
|
||||
float: left;
|
||||
height: 30px;
|
||||
}
|
||||
.pagination td {
|
||||
border: 0;
|
||||
}
|
||||
.pagination-btn-separator {
|
||||
float: left;
|
||||
height: 24px;
|
||||
border-left: 1px solid #ddd;
|
||||
border-right: 1px solid #fff;
|
||||
margin: 3px 1px;
|
||||
}
|
||||
.pagination .pagination-num {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
margin: 0 2px;
|
||||
padding: 2px;
|
||||
width: 2em;
|
||||
height: auto;
|
||||
}
|
||||
.pagination-page-list {
|
||||
margin: 0px 6px;
|
||||
padding: 1px 2px;
|
||||
width: auto;
|
||||
height: auto;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.pagination-info {
|
||||
float: right;
|
||||
margin: 0 6px 0 0;
|
||||
padding: 0;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.pagination span {
|
||||
font-size: 12px;
|
||||
}
|
||||
.pagination-first {
|
||||
background: url('images/pagination_icons.png') no-repeat 0 0;
|
||||
}
|
||||
.pagination-prev {
|
||||
background: url('images/pagination_icons.png') no-repeat -16px 0;
|
||||
}
|
||||
.pagination-next {
|
||||
background: url('images/pagination_icons.png') no-repeat -32px 0;
|
||||
}
|
||||
.pagination-last {
|
||||
background: url('images/pagination_icons.png') no-repeat -48px 0;
|
||||
}
|
||||
.pagination-load {
|
||||
background: url('images/pagination_icons.png') no-repeat -64px 0;
|
||||
}
|
||||
.pagination-loading {
|
||||
background: url('images/loading.gif') no-repeat;
|
||||
}
|
||||
.pagination-page-list,
|
||||
.pagination .pagination-num {
|
||||
border-color: #c3d9e0;
|
||||
}
|
118
OpenAuth.Web/Scripts/easyui/themes/metro-blue/panel.css
Normal file
@ -0,0 +1,118 @@
|
||||
.panel {
|
||||
overflow: hidden;
|
||||
font-size: 12px;
|
||||
text-align: left;
|
||||
}
|
||||
.panel-header,
|
||||
.panel-body {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.panel-header {
|
||||
padding: 5px;
|
||||
position: relative;
|
||||
}
|
||||
.panel-title {
|
||||
background: url('images/blank.gif') no-repeat;
|
||||
}
|
||||
.panel-header-noborder {
|
||||
border-width: 0 0 1px 0;
|
||||
}
|
||||
.panel-body {
|
||||
overflow: auto;
|
||||
border-top-width: 0px;
|
||||
}
|
||||
.panel-body-noheader {
|
||||
border-top-width: 1px;
|
||||
}
|
||||
.panel-body-noborder {
|
||||
border-width: 0px;
|
||||
}
|
||||
.panel-with-icon {
|
||||
padding-left: 18px;
|
||||
}
|
||||
.panel-icon,
|
||||
.panel-tool {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -8px;
|
||||
height: 16px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.panel-icon {
|
||||
left: 5px;
|
||||
width: 16px;
|
||||
}
|
||||
.panel-tool {
|
||||
right: 5px;
|
||||
width: auto;
|
||||
}
|
||||
.panel-tool a {
|
||||
display: inline-block;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
opacity: 0.6;
|
||||
filter: alpha(opacity=60);
|
||||
margin: 0 0 0 2px;
|
||||
vertical-align: top;
|
||||
}
|
||||
.panel-tool a:hover {
|
||||
opacity: 1;
|
||||
filter: alpha(opacity=100);
|
||||
background-color: #9cc8f7;
|
||||
-moz-border-radius: -2px -2px -2px -2px;
|
||||
-webkit-border-radius: -2px -2px -2px -2px;
|
||||
border-radius: -2px -2px -2px -2px;
|
||||
}
|
||||
.panel-loading {
|
||||
padding: 11px 0px 10px 30px;
|
||||
}
|
||||
.panel-noscroll {
|
||||
overflow: hidden;
|
||||
}
|
||||
.panel-fit,
|
||||
.panel-fit body {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
.panel-loading {
|
||||
background: url('images/loading.gif') no-repeat 10px 10px;
|
||||
}
|
||||
.panel-tool-close {
|
||||
background: url('images/panel_tools.png') no-repeat -16px 0px;
|
||||
}
|
||||
.panel-tool-min {
|
||||
background: url('images/panel_tools.png') no-repeat 0px 0px;
|
||||
}
|
||||
.panel-tool-max {
|
||||
background: url('images/panel_tools.png') no-repeat 0px -16px;
|
||||
}
|
||||
.panel-tool-restore {
|
||||
background: url('images/panel_tools.png') no-repeat -16px -16px;
|
||||
}
|
||||
.panel-tool-collapse {
|
||||
background: url('images/panel_tools.png') no-repeat -32px 0;
|
||||
}
|
||||
.panel-tool-expand {
|
||||
background: url('images/panel_tools.png') no-repeat -32px -16px;
|
||||
}
|
||||
.panel-header,
|
||||
.panel-body {
|
||||
border-color: #c3d9e0;
|
||||
}
|
||||
.panel-header {
|
||||
background-color: #daeef5;
|
||||
}
|
||||
.panel-body {
|
||||
background-color: #fafafa;
|
||||
color: #404040;
|
||||
}
|
||||
.panel-title {
|
||||
font-weight: bold;
|
||||
color: #404040;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
.progressbar {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
-moz-border-radius: 0px 0px 0px 0px;
|
||||
-webkit-border-radius: 0px 0px 0px 0px;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.progressbar-text {
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
}
|
||||
.progressbar-value {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
width: 0;
|
||||
-moz-border-radius: 0px 0 0 0px;
|
||||
-webkit-border-radius: 0px 0 0 0px;
|
||||
border-radius: 0px 0 0 0px;
|
||||
}
|
||||
.progressbar {
|
||||
border-color: #c3d9e0;
|
||||
}
|
||||
.progressbar-text {
|
||||
color: #404040;
|
||||
}
|
||||
.progressbar-value .progressbar-text {
|
||||
background-color: #6caef5;
|
||||
color: #fff;
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
.propertygrid .datagrid-view1 .datagrid-body td {
|
||||
padding-bottom: 1px;
|
||||
border-width: 0 1px 0 0;
|
||||
}
|
||||
.propertygrid .datagrid-group {
|
||||
height: 21px;
|
||||
overflow: hidden;
|
||||
border-width: 0 0 1px 0;
|
||||
border-style: solid;
|
||||
}
|
||||
.propertygrid .datagrid-group span {
|
||||
font-weight: bold;
|
||||
}
|
||||
.propertygrid .datagrid-view1 .datagrid-body td {
|
||||
border-color: #dedede;
|
||||
}
|
||||
.propertygrid .datagrid-view1 .datagrid-group {
|
||||
border-color: #daeef5;
|
||||
}
|
||||
.propertygrid .datagrid-view2 .datagrid-group {
|
||||
border-color: #dedede;
|
||||
}
|
||||
.propertygrid .datagrid-group,
|
||||
.propertygrid .datagrid-view1 .datagrid-body,
|
||||
.propertygrid .datagrid-view1 .datagrid-row-over,
|
||||
.propertygrid .datagrid-view1 .datagrid-row-selected {
|
||||
background: #daeef5;
|
||||
}
|
79
OpenAuth.Web/Scripts/easyui/themes/metro-blue/searchbox.css
Normal file
@ -0,0 +1,79 @@
|
||||
.searchbox {
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
overflow: hidden;
|
||||
}
|
||||
.searchbox .searchbox-text {
|
||||
font-size: 12px;
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 20px;
|
||||
height: 20px;
|
||||
*margin-top: -1px;
|
||||
*height: 18px;
|
||||
*line-height: 18px;
|
||||
_height: 18px;
|
||||
_line-height: 18px;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
.searchbox .searchbox-prompt {
|
||||
font-size: 12px;
|
||||
color: #ccc;
|
||||
}
|
||||
.searchbox-button {
|
||||
width: 18px;
|
||||
height: 20px;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
cursor: pointer;
|
||||
opacity: 0.6;
|
||||
filter: alpha(opacity=60);
|
||||
}
|
||||
.searchbox-button-hover {
|
||||
opacity: 1.0;
|
||||
filter: alpha(opacity=100);
|
||||
}
|
||||
.searchbox a.l-btn-plain {
|
||||
height: 20px;
|
||||
border: 0;
|
||||
padding: 0 6px 0 0;
|
||||
vertical-align: top;
|
||||
-moz-border-radius: 0;
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
opacity: 0.6;
|
||||
filter: alpha(opacity=60);
|
||||
}
|
||||
.searchbox a.l-btn .l-btn-left {
|
||||
padding: 2px 0 2px 4px;
|
||||
}
|
||||
.searchbox a.l-btn-plain:hover {
|
||||
-moz-border-radius: 0;
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
border: 0;
|
||||
padding: 0 6px 0 0;
|
||||
opacity: 1.0;
|
||||
filter: alpha(opacity=100);
|
||||
}
|
||||
.searchbox a.m-btn-plain-active {
|
||||
-moz-border-radius: 0;
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
.searchbox-button {
|
||||
background: url('images/searchbox_button.png') no-repeat center center;
|
||||
}
|
||||
.searchbox {
|
||||
border-color: #c3d9e0;
|
||||
background-color: #fff;
|
||||
}
|
||||
.searchbox a.l-btn-plain {
|
||||
background: #daeef5;
|
||||
}
|
98
OpenAuth.Web/Scripts/easyui/themes/metro-blue/slider.css
Normal file
@ -0,0 +1,98 @@
|
||||
.slider-disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
}
|
||||
.slider-h {
|
||||
height: 22px;
|
||||
}
|
||||
.slider-v {
|
||||
width: 22px;
|
||||
}
|
||||
.slider-inner {
|
||||
position: relative;
|
||||
height: 6px;
|
||||
top: 7px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-radius: 0px;
|
||||
}
|
||||
.slider-handle {
|
||||
position: absolute;
|
||||
display: block;
|
||||
outline: none;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
top: -7px;
|
||||
margin-left: -10px;
|
||||
}
|
||||
.slider-tip {
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
line-height: 12px;
|
||||
white-space: nowrap;
|
||||
top: -22px;
|
||||
}
|
||||
.slider-rule {
|
||||
position: relative;
|
||||
top: 15px;
|
||||
}
|
||||
.slider-rule span {
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
font-size: 0;
|
||||
height: 5px;
|
||||
border-width: 0 0 0 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.slider-rulelabel {
|
||||
position: relative;
|
||||
top: 20px;
|
||||
}
|
||||
.slider-rulelabel span {
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
}
|
||||
.slider-v .slider-inner {
|
||||
width: 6px;
|
||||
left: 7px;
|
||||
top: 0;
|
||||
float: left;
|
||||
}
|
||||
.slider-v .slider-handle {
|
||||
left: 3px;
|
||||
margin-top: -10px;
|
||||
}
|
||||
.slider-v .slider-tip {
|
||||
left: -10px;
|
||||
margin-top: -6px;
|
||||
}
|
||||
.slider-v .slider-rule {
|
||||
float: left;
|
||||
top: 0;
|
||||
left: 16px;
|
||||
}
|
||||
.slider-v .slider-rule span {
|
||||
width: 5px;
|
||||
height: 'auto';
|
||||
border-left: 0;
|
||||
border-width: 1px 0 0 0;
|
||||
border-style: solid;
|
||||
}
|
||||
.slider-v .slider-rulelabel {
|
||||
float: left;
|
||||
top: 0;
|
||||
left: 23px;
|
||||
}
|
||||
.slider-handle {
|
||||
background: url('images/slider_handle.png') no-repeat;
|
||||
}
|
||||
.slider-inner {
|
||||
border-color: #c3d9e0;
|
||||
background: #daeef5;
|
||||
}
|
||||
.slider-rule span {
|
||||
border-color: #c3d9e0;
|
||||
}
|
||||
.slider-rulelabel span {
|
||||
color: #404040;
|
||||
}
|