Пример #1
0
        /// <summary>
        /// 判断指定的数据字段是否存在
        /// </summary>
        /// <param name="tableName"></param>
        /// <param name="fieldName"></param>
        /// <returns></returns>
        public static bool HasDataField(string tableName, string fieldName)
        {
            IDBQuery  query = CFAspect.Resolve <IDBQuery>();
            DBBuilder sql   = DBBuilder.Select().Append(dbAdapter => "count(*) from " + dbAdapter.FormatFunction("getcolumns", dbAdapter.FormatValue(tableName)) + " where column_name=" + dbAdapter.FormatValue(fieldName));

            return(Convert.ToInt32(query.ToScalar(sql)) > 0);
        }
Пример #2
0
 protected override void Init()
 {
     CFAspect.RegisterType <IRepository <SYSDept>, Repository <SYSDept> >();
     CFAspect.RegisterType <IRepository <SYSDept>, Repository <SYSDept> >();
     CFAspect.RegisterType <IAppService, AppService>();
     CFAspect.RegisterType <IMenuService, MenuService>();
 }
Пример #3
0
 protected override void Init()
 {
     CFAspect.RegisterType <IRepository <SYSSystem>, Repository <SYSSystem> >();
     CFAspect.RegisterType <IRepository <SYSSystemCertificate>, Repository <SYSSystemCertificate> >();
     CFAspect.RegisterType <IRepository <SYSApp>, Repository <SYSApp> >();
     CFAspect.RegisterType <IRepository <SYSAppAccess>, Repository <SYSAppAccess> >();
     CFAspect.RegisterType <IRepository <SYSMenu>, Repository <SYSMenu> >();
 }
Пример #4
0
        static void Main(string[] args)
        {
            CFConfig.Default
            .RegisterContainer()
            .RegisterDataMapping()
            .RegisterEFRepository();

            Console.WriteLine("1. 运行Data示例");
            Console.WriteLine("2. 运行Domain示例");
            Console.WriteLine("3. 运行CQRS示例");
            Console.WriteLine("4. 运行Actor示例");
            Console.WriteLine("请输入序号:");

            ISampleService service = null;
            char           key     = Console.ReadKey(true).KeyChar;

            if (key == '1')
            {
                service = new DALService();
            }
            else if (key == '2')
            {
                service = new DDDService();
            }
            else if (key == '3')
            {
                CFConfig.Default
                .RegisterMessageDispatcher();
                service = CFAspect.Resolve <ISampleService>();
            }
            else if (key == '4')
            {
                CFConfig.Default
                .RegisterMessageBroker("127.0.0.1")
                .RegisterMessageDispatcher("127.0.0.1");
                service = CFAspect.Resolve <ISampleService>();
            }
            if (service != null)
            {
                try
                {
                    Console.WriteLine(service.GetType().Name + " Running...");
                    long orderID1 = service.CreateUser("张三");
                    var  order1   = service.FindUser("张三");

                    long orderID2 = service.CreateUser("李四");
                    var  order2   = service.FindUser("李四");

                    long orderID3 = service.CreateUser("王五");
                    var  order3   = service.FindUser("王五");
                }
                catch (Exception ex)
                {
                    Console.WriteLine("异常:" + ex.Message);
                }
            }
            Console.ReadKey();
        }
Пример #5
0
 /// <summary>
 /// 获得指定数据表的全部字段
 /// </summary>
 /// <param name="tableName"></param>
 /// <returns></returns>
 private string[] GetTableFields(string tableName)
 {
     if (!sysTableFields.ContainsKey(tableName))
     {
         //DataTable dt = CFAspect.Resolve<IDBQuery>().ToDataTable(new DBBuilder("SELECT * FROM " + DBAdapter.FormatFunction("getcolumns", DBAdapter.FormatValue(tableName))));
         DataTable dt = CFAspect.Resolve <IDBQuery>().ToDataTable(new DBBuilder("SELECT * FROM ").Append(dbAdapter => dbAdapter.FormatFunction("getcolumns", dbAdapter.FormatValue(tableName))));
         sysTableFields[tableName] = dt.AsEnumerable().Select(d => d[0].ToString()).ToArray();
     }
     return(sysTableFields[tableName]);
 }
Пример #6
0
 protected override void Init()
 {
     CFAspect.RegisterType <IRepository <SYSTagGroup>, Repository <SYSTagGroup> >();
     CFAspect.RegisterType <IRepository <SYSTagClass>, Repository <SYSTagClass> >();
     CFAspect.RegisterType <IRepository <SYSTag>, Repository <SYSTag> >();
 }
Пример #7
0
 /// <summary>
 /// 将工作单元注入到实现了ITransientDependency接口的私有属性
 /// </summary>
 public virtual void OnInject()
 {
     CFConfig.Default.ScanField <ITransientDependency>(this.GetType(), field => field.SetValue(this, CFAspect.Resolve(field.FieldType)));
 }
Пример #8
0
 protected override void Init()
 {
     CFAspect.RegisterType <IRepository <STDContact>, Repository <STDContact> >();
     CFAspect.RegisterType <IRepository <STDContactDetail>, Repository <STDContactDetail> >();
     //11111
 }
Пример #9
0
 protected override void Init()
 {
     CFAspect.RegisterType <IRepository <STDArticle>, Repository <STDArticle> >();
     CFAspect.RegisterType <IRepository <STDArticleContent>, Repository <STDArticleContent> >();
 }
Пример #10
0
 private BoundedContext(UnitOfWorkOptions options)
 {
     getInstance = () => CFAspect.Resolve <IUnitOfWork>(options);
 }
Пример #11
0
 /// <summary>
 /// 注册AOP容器
 /// </summary>
 /// <param name="config"></param>
 /// <returns></returns>
 public static CFConfig RegisterContainer(this CFConfig config)
 {
     ApplicationModule.RegisterIocContainer(config);
     CFAspect.RegisterAopContainer(config);
     return(config);
 }
Пример #12
0
 protected override void Init()
 {
     CFAspect.RegisterType <IBiAttach, STDAttachBO>();
 }
Пример #13
0
 public UnitOfWorkBase(UnitOfWorkOptions options)
 {
     dbQuery = CFAspect.Resolve <IDBQuery>(options.ConnectionName);
 }
Пример #14
0
 protected override void Init()
 {
     CFAspect.RegisterType <IRepository <SYSPassport>, Repository <SYSPassport> >();
     CFAspect.RegisterType <IRepository <SYSAccount>, Repository <SYSAccount> >();
     CFAspect.RegisterType <IRepository <SYSToken>, Repository <SYSToken> >();
 }