예제 #1
0
        private void Import()
        {
            var repositoryType    = typeof(IRepository <>).MakeGenericType(TargetType);
            var insertOrGetMethod = repositoryType.GetMethod("InsertOrGetWithEquality");
            var saveMethod        = repositoryType.GetMethod("Save");
            var accountProperty   = TargetType.GetProperties()
                                    .Single(info => info.PropertyType.IsInstanceOfType(OwningEntity));
            var repository = ComponentContext.Resolve(repositoryType);
            var toInsert   = FileParser.Parse(Source).ToList();

            toInsert = Order(toInsert);
            if (UniqueIdGroupingFunc != null)
            {
                var grouping = toInsert.GroupBy(UniqueIdGroupingFunc);
                foreach (var group in grouping)
                {
                    var uniqueId = 1;
                    var subList  = Order(group);
                    foreach (var bankTransactionEntity in subList)
                    {
                        var prop = bankTransactionEntity.GetType().GetProperty("UniqueId");
                        prop.SetValue(bankTransactionEntity, uniqueId++);
                    }
                }
            }
            foreach (var entity in toInsert)
            {
                accountProperty.SetValue(entity, OwningEntity);
                var persistedEntity = insertOrGetMethod.Invoke(repository, new[] { entity });
            }
            saveMethod.Invoke(repository, null);
        }
예제 #2
0
 public MainView()
 {
     applicationService = ComponentContext.Resolve <IApplicationService>();
     Pages       = new ObservableCollection <PageTabItem>();
     DataContext = this;
     InitializeComponent();
     InitializeEventHandlers();
 }
예제 #3
0
        private object GetOwningEntity(AccountType accountType, long accountId)
        {
            var repositoryType = typeof(IRepository <>).MakeGenericType(accountType.GetAccountType());
            var getById        = repositoryType.GetMethod("GetById");
            var repository     = ComponentContext.Resolve(repositoryType);

            return(getById.Invoke(repository, new object[] { accountId }));
        }
 public TagReadRpcServerHandler(
     ILoggerFactory loggerFactory,
     IComponentContext componentContext
     )
     : base(loggerFactory, componentContext)
 {
     if (ComponentContext.IsRegistered <IBiz>())
     {
         _biz = ComponentContext.Resolve <IBiz>();
     }
     else
     {
         Logger.LogError("IBiz not Registered!");
     }
 }
 public ConnectionStatusRpcHandler(
     ILoggerFactory loggerFactory,
     IComponentContext componentContext
     )
     : base(loggerFactory, componentContext)
 {
     if (ComponentContext.IsRegistered <IBiz>())
     {
         _biz = ComponentContext.Resolve <IBiz>();
     }
     else
     {
         Logger.LogError("IBiz not Registered!");
     }
 }