コード例 #1
0
ファイル: TableLink.cs プロジェクト: undyings/Commune
 public static TableLink LoadTableLink(IDataLayer dbConnection, IPrimaryKeyCreator primaryKeyCreator,
   FieldBlank[] fields, IndexBlank[] indicies,
   string database, string select, string conditionWithoutWhere, params DbParameter[] conditionParameters)
 {
   return LoadTableLink(dbConnection, primaryKeyCreator, fields, indicies, new LinkConstraint[0],
     database, select, conditionWithoutWhere, conditionParameters);
 }
コード例 #2
0
ファイル: XpoServerId.cs プロジェクト: aries544/eXpand
 public static string GetSequencePrefix(IDataLayer dataLayer) {
     if (dataLayer == null)
         throw new ArgumentNullException("dataLayer");
     lock (SyncRoot) {
         if (dataLayerForCachedServerPrefix/*.Target*/ != dataLayer) {
             using (var session = new Session(dataLayer)) {
                 var sid = session.GetObjectByKey<XpoServerId>(0);
                 if (sid == null) {
                     // we can throw exception here instead of creating random prefix
                     sid = new XpoServerId(session) {
                         SequencePrefix = XpoDefault.NewGuid().ToString()
                     };
                     try {
                         sid.Save();
                     } catch {
                         sid = session.GetObjectByKey<XpoServerId>(0, true);
                         if (sid == null)
                             throw;
                     }
                 }
                 cachedSequencePrefix = sid.SequencePrefix;
                 dataLayerForCachedServerPrefix = dataLayer;
                 // dataLayerForCachedServerPrefix.Target = dataLayer; <<< if WeakReference
             }
         }
         return cachedSequencePrefix;
     }
 }
コード例 #3
0
ファイル: DataBaseHlp.cs プロジェクト: undyings/Commune
 public static int GetNewId(IDataLayer dbConnection, string tableName, string idColumnName)
 {
   object maxObj = dbConnection.GetScalar("", string.Format("Select Max({0}) From {1}", idColumnName, tableName));
   if (maxObj == DBNull.Value)
     return 0;
   return Convert.ToInt32(maxObj) + 1;
 }
コード例 #4
0
        public AppManager(IDataLayer dl)
        {
            data = dl;
            cache = new CacheManager();

            this.firstDataDate = DateTime.Now;
        }
コード例 #5
0
ファイル: ITableProvider.cs プロジェクト: undyings/Commune
 public DatabaseTableProvider(IDataLayer dbConnection, string database, DataTable table, string updateQuery)
 {
   this.dbConnection = dbConnection;
   this.database = database;
   this.updateQuery = updateQuery;
   this.table = table;
 }
コード例 #6
0
ファイル: ITableProvider.cs プロジェクト: undyings/Commune
 public DatabaseTableProvider(IDataLayer dbConnection, string database,
   string select, string conditionWithoutWhere, params DbParameter[] conditionParameters) :
   this(dbConnection, database, dbConnection.GetTable(database, 
     StringHlp.IsEmpty(conditionWithoutWhere) ? select : string.Format("{0} Where {1}", select, conditionWithoutWhere),
     conditionParameters), select)
 {
 }
コード例 #7
0
 protected override ISecuredSerializableObjectLayer CreateDefaultSecuredSerializableObjectLayer(IDataLayer dataLayer,
     RequestSecurityStrategyProvider securityStrategyProvider, EventHandler<DataServiceOperationEventArgs> committingDelegate,
     bool allowICommandChannelDoWithSecurityContext) {
     string connectionString = ((ConnectionProviderSql)((BaseDataLayer)dataLayer).ConnectionProvider).ConnectionString;
     var threadSafeDataLayer = new ThreadSafeDataLayer(dataLayer.Dictionary, new MultiDataStoreProxy(connectionString));
     return new SecuredSerializableObjectLayer(threadSafeDataLayer, securityStrategyProvider, allowICommandChannelDoWithSecurityContext);
 }
 public WorkitemDescriptor(Entity entity, IEnumerable<ColumnSetting> columns, PropertyUpdateSource updateSource, bool iconless) {
     this.entity = entity;
     this.updateSource = updateSource;
     this.iconless = iconless;
     dataLayer = ServiceLocator.Instance.Get<IDataLayer>();
     ConfigurePropertyDescriptors(columns);
 }
コード例 #9
0
ファイル: XpoSequencer.cs プロジェクト: aries544/eXpand
        public static int GetNextValue(IDataLayer dataLayer, string sequencePrefix) {
            if(dataLayer == null)
                throw new ArgumentNullException("dataLayer");
            if(sequencePrefix == null)
                sequencePrefix = string.Empty;

            int attempt = 1;
            while(true) {
                try {
                    using(var generatorSession = new Session(dataLayer)) {
                        var generator =
                            generatorSession.FindObject<XpoSequencer>(new OperandProperty("SequencePrefix") ==sequencePrefix) ??
                            new XpoSequencer(generatorSession) {SequencePrefix = sequencePrefix};
                        generator.Counter++;
                        generator.Save();
                        return generator.Counter;
                    }
                }
                catch(LockingException) {
                    if(attempt >= MaxIdGenerationAttempts)
                        throw;
                }
                if(attempt > MaxIdGenerationAttempts / 2)
                    Thread.Sleep(new Random().Next(MinConflictDelay, MaxConflictDelay));

                attempt++;
            }
        }
コード例 #10
0
ファイル: DataBaseHlp.cs プロジェクト: undyings/Commune
 public static int RowCount(IDataLayer dbConnection, string database, string tableName, 
   string conditionWithoutWhere, params DbParameter[] parameters)
 {
   object rawCount = dbConnection.GetScalar(database, string.Format("Select count(*) From {0} Where {1}",
     tableName, conditionWithoutWhere), parameters);
   return Convert.ToInt32(rawCount);
 }
コード例 #11
0
ファイル: ITableProvider.cs プロジェクト: undyings/Commune
 public DatabaseTableProvider(IDataLayer dbConnection, string database,
   string select, string conditionWithoutWhere, params DbParameter[] conditionParameters) :
   this(dbConnection, database, select, dbConnection.GetTable(database, 
     StringHlp.IsEmpty(conditionWithoutWhere) ? select : string.Format("{0} Where {1}", select, conditionWithoutWhere),
     conditionParameters))
 {
   //table.PrimaryKey = new DataColumn[] { table.Columns[0] };
 }
コード例 #12
0
ファイル: BgTask.cs プロジェクト: hoffmannj/hrsystem
 public BgTask(IIoCContainer container)
 {
     _container = container;
     _dataLayer = _container.Resolve<IDataLayer>();
     _parameters = _container.Resolve<IApplicationParameters>();
     _tokenSource = new CancellationTokenSource();
     _token = _tokenSource.Token;
 }
コード例 #13
0
    public static bool TableExist(IDataLayer dbConnection, string database, string tableName)
    {
      object rawCount = dbConnection.GetScalar(database,
        "Select count(*) From sqlite_master Where name = @tableName",
        new DbParameter("tableName", tableName));

      return Convert.ToInt32(rawCount) != 0;
    }
コード例 #14
0
 public WorkManager(IDataLayer dataLayer)
 {
     this.dataLayer = dataLayer;
     this.cacheManager = new CacheManager();
     this.firstDataDate = DateTime.Now;
     
     Weeks = new ObservableCollection<Week>();
 }
コード例 #15
0
 private static void Show(IDataLayer dl, string s)
 {
     Console.WriteLine(s);
     foreach (SampleData ti in dl.GetTestItems(null))
     {
         Console.WriteLine(ti);
     }
     Console.WriteLine();
 }
 public void SetUp() {
     dataLayerMock = MockRepository.StrictMock<IDataLayer>();
     settingsStub = MockRepository.Stub<ISettings>();
     eventDispatcherMock = MockRepository.StrictMock<IEventDispatcher>();
     viewMock = MockRepository.StrictMock<IOptionsPageView>();
     loggerFactoryMock = MockRepository.DynamicMock<ILoggerFactory>();
     loggerFactoryMock.Stub(x => x.GetLogger(null)).IgnoreArguments().Return(MockRepository.Stub<ILogger>());
     controller = new OptionsPageController(loggerFactoryMock, dataLayerMock, settingsStub, eventDispatcherMock);
 }
コード例 #17
0
        public RepoManager(IDataLayer dataLayer)
        {
            if (dataLayer == null)
            {
                throw new ArgumentException("please pass an IDataLayer concrete implementation");
            }

            this.DataLayer = dataLayer;
        }
コード例 #18
0
 public MaxPrimaryKeyCreator(IDataLayer dbConnection, string database, 
   string tableName, string fieldName, FieldBlank<int> primaryKeyField)
 {
   this.dbConnection = dbConnection;
   this.database = database;
   this.tableName = tableName;
   this.fieldName = fieldName;
   this.primaryKeyField = primaryKeyField;
 }
コード例 #19
0
 public StandartPrimaryKeyCreator(IDataLayer dbConnection, string primaryKeyTableName, int reservationStep,
   string tableName, FieldBlank<int> primaryKeyField)
 {
   this.dbConnection = dbConnection;
   this.primaryKeyTableName = primaryKeyTableName;
   this.reservationStep = reservationStep;
   this.tableName = tableName;
   this.primaryKeyField = primaryKeyField;
 }
コード例 #20
0
		public MealManager(IDataLayer dataLayer)
		{
		    this.dataLayer = dataLayer;
			Meals = new ObservableCollection<Meal> ();
            Task.Run(async () =>
            {
                await LoadMeals();
                Reset();
            }).Wait(); ;
		}
コード例 #21
0
 // With Singleton pattern this method is used rather than constructor
 public static IDataLayer GetInstance()
 {
     lock (padlock) //   only one thread can entry this block of code
     {
         if (dataLayerSingletonInstance == null)
         {
             dataLayerSingletonInstance = new DataLayer();
         }
         return dataLayerSingletonInstance;
     }
 }
コード例 #22
0
ファイル: TableLink.cs プロジェクト: undyings/Commune
 public static TableLink Load(IDataLayer dbConnection, FieldBlank[] fields, IndexBlank[] indices,
   string database, string select, string conditionWithoutWhere, params DbParameter[] conditionParameters)
 {
   return new TableLink(
     new ReadonlyTableProvider(
       dbConnection.GetTable(database,
         StringHlp.IsEmpty(conditionWithoutWhere) ? select : string.Format("{0} Where {1}", select, conditionWithoutWhere),
         conditionParameters
       )
     ), null, fields, indices
   );
 }
コード例 #23
0
ファイル: TableLink.cs プロジェクト: undyings/Commune
    public static TableLink LoadTableLink(IDataLayer dbConnection, IPrimaryKeyCreator primaryKeyCreator,
      FieldBlank[] fields, IndexBlank[] indicies, LinkConstraint[] constraints,
      string database, string select, string conditionWithoutWhere, params DbParameter[] conditionParameters)
    {
      TableLink link = new TableLink(
        new DatabaseTableProvider(dbConnection, database, select, conditionWithoutWhere, conditionParameters),
        primaryKeyCreator, fields, indicies, constraints);

      if (primaryKeyCreator != null)
        link.Table.PrimaryKey = new DataColumn[] { link.Table.Columns[0] };

      return link;
    }
コード例 #24
0
    public static void CheckAndCreateTables(IDataLayer mailConnection)
    {
      if (!SQLiteHlp.TableExist(mailConnection, "", "account"))
      {
        mailConnection.GetScalar("",
          @"CREATE TABLE account (
              id        integer PRIMARY KEY AUTOINCREMENT NOT NULL,
              login     varchar(50) NOT NULL UNIQUE,
              password  varchar(50)
            );

            CREATE UNIQUE INDEX account_login_index
              ON account
              (login);
          "
        );
      }

      if (!SQLiteHlp.TableExist(mailConnection, "", "letter"))
      {
        mailConnection.GetScalar("",
          @"
            CREATE TABLE letter (
              id         integer PRIMARY KEY AUTOINCREMENT NOT NULL,
              sender     varchar(50),
              recipient  varchar(50),
              time       datetime NOT NULL,
              subject    varchar(50),
              content    text,
              folder     varchar(25),
              status     boolean NOT NULL DEFAULT false,
              filenames  text,
              filebytes  blob,
              read       integer NOT NULL DEFAULT 0
            );

            CREATE INDEX letter_recipient_folder_read_time_index
              ON letter
              (recipient, folder, read, time);

            CREATE INDEX letter_recipient_folder_time_index
              ON letter
              (recipient, folder, time);

            CREATE INDEX letter_sender_folder_time_index
              ON letter
              (sender, folder, time);
            "
         );
      }
    }
 public void SetUp() {
     dataLayerMock = mockRepository.StrictMock<IDataLayer>();
     assetCacheMock = mockRepository.StrictMock<IAssetCache>();
     settingsMock = mockRepository.StrictMock<ISettings>();
     viewMock = mockRepository.StrictMock<IWorkitemTreeView>();
     waitCursorStub = mockRepository.Stub<IWaitCursor>();
     eventDispatcherMock = mockRepository.Stub<IEventDispatcher>();
     loggerFactoryMock = mockRepository.DynamicMock<ILoggerFactory>();
     effortTrackingMock = mockRepository.StrictMock<IEffortTracking>();
     loggerFactoryMock.Stub(x => x.GetLogger(null)).IgnoreArguments().Return(mockRepository.Stub<ILogger>());
     configuration = new Configuration();
     Container.Rebind<IDataLayer>().ToConstant(dataLayerMock);
     controller = new WorkitemTreeController(loggerFactoryMock, dataLayerMock, configuration, settingsMock, eventDispatcherMock);
 }
コード例 #26
0
        public ProjectTreeControl(Configuration configuration, ISettings settings, IDataLayer dataLayer, [Named("Projects")] ComponentResolver<IParentWindow> parentWindowResolver) 
                : base(parentWindowResolver, dataLayer) {
            InitializeComponent();

            this.configuration = configuration;
            this.settings = settings;
            this.parentWindowResolver = parentWindowResolver;

            tvProjects.AfterSelect += tvProjects_AfterSelect;
            btnRefresh.Click += btnRefresh_Click;
            
            VisibleChanged += (sender, e) => RefreshProperties();
            CursorChanged += (sender, e) => RefreshProperties();
            Enter += (sender, e) => RefreshProperties();
        }
コード例 #27
0
ファイル: Common.cs プロジェクト: pitchalt/IntecoAG.XAFExt
        public static void PrepareDB() {

            string _ConnectionString = Common.GetConfigParam("ConnectionString");

            if (_ConnectionString == "InMemory") {
                // Create the data store and a DataCacheRoot
                dataStore = new InMemoryDataStore(AutoCreateOption.DatabaseAndSchema);

                /*
                // ---------------------------------
                // Образец с применением кэшей
                DataCacheRoot cacheRoot = new DataCacheRoot((IDataStoreForTests)dataStore);

                // Create two DataCacheNodes for the same DataCacheRoot
                cacheNode1 = new DataCacheNode(cacheRoot);
                //cacheNode2 = new DataCacheNode(cacheRoot);

                // Create two data layers and two sessions
                dataLayer1 = new SimpleDataLayer(cacheNode1);
                //dataLayer2 = new SimpleDataLayer(cacheNode2);
                session1 = new Session(dataLayer1);
                //session2 = new Session(dataLayer2);
                // ---------------------------------
                */

                // Образец без создания кэшей
                dataLayer = new SimpleDataLayer(dataStore);
                //session1 = new Session(dataLayer1);

                XpoDefault.DataLayer = dataLayer as IDataLayer;
                XpoDefault.Session = null;

            } else if (_ConnectionString == "DefaultAccess") {
                session0 = new Session();
                //dataStore = session0.;
                dataLayer = session0.DataLayer as SimpleDataLayer;
            } else {
                // Испольуется полученная строка подключения
                IDataLayer dl = XpoDefault.GetDataLayer(_ConnectionString, AutoCreateOption.DatabaseAndSchema);
                dataLayer = dl;
                XpoDefault.DataLayer = dl;
                XpoDefault.Session = null;
            }

            CheckValidationRule = (Common.GetConfigParam("CheckValidationRule") == "Y") ? true : false;
        }
コード例 #28
0
ファイル: DataHlp.cs プロジェクト: undyings/Dodo.StateMachine
    public static RowLink LoadLetter(IDataLayer dbConnection, int messageId)
    {
      TableLink letterTable = TableLink.LoadTableLink(dbConnection, null,
        new FieldBlank[] { LetterType.Id, LetterType.Sender, LetterType.Recipient,
            LetterType.Time, LetterType.Subject, LetterType.Content,
            LetterType.Read, LetterType.Folder },
        new IndexBlank[] { LetterType.LetterById },
        "", "Select id, sender, recipient, time, subject, content, read, folder From letter",
        "id = @messageId",
        new DbParameter("messageId", messageId)
      );

      if (letterTable.AllRows.Length == 0)
        return null;

      return letterTable.AllRows[0];
    }
コード例 #29
0
        public void Initialize()
        {
            SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());

            _DataLayer = CreateDataLayer();

            using (var uow = CreateUnitOfWork())
            {
                for (int i = 0; i < 100; i++)
                {
                    new TestObject(uow)
                    {
                        Name = "Name" + i
                    };
                }
                uow.CommitChanges();
            }
        }
コード例 #30
0
 // cut out from here , List<IReservation> reservationList
 // The constructor is private as its a singleton and I only allow one instance which is created with the GetInstance() method
 private Model(IDataLayer
         _DataLayer)
 {
     userList = new List<IUser>();
             dataLayer = _DataLayer;
         userList = dataLayer.getAllUsers(); // setup Models userList so we can login
     _reservationList = dataLayer.GetAllReservations();//  ReservationList;    // CHANGED to Capital R
             _roomTypeList = dataLayer.getAllRoomTypes();
             _roomList = dataLayer.getAllRooms();
             _supplierList = dataLayer.getAllSuppliers();
         _stockRoomList = dataLayer.getAllStockRooms();
     _stockRoomItemsList = dataLayer.getAllStockRoomItems();
         _productList = dataLayer.getAllProducts();
     _guestList = dataLayer.getAllGuests();
     _restaurantItemsList = dataLayer.getAllRestaurantItems();
     _stockItemsList = dataLayer.GetAllStockItems();
     _faultList = dataLayer.getAllFaults();
     _stockOrderList = dataLayer.getAllStockOrders();
     _stockOrderItemsList = dataLayer.getAllStockOrderItems();
         _creditCards = dataLayer.GetAllCreditCards();
     _laundryList = dataLayer.getAllLaundry();
         _additionalGuestList = dataLayer.getAllAdditionalGuests();
 }
コード例 #31
0
 public DataLayerResult DoResponse(IDataLayer dataLayer, Object response)
 {
     return(DataLayerResult.HostUserNameOrPwdError);
 }
コード例 #32
0
        private void addItemToolStripMenuItem_Click(object sender, EventArgs e)
        {
            IMapControl3 mapControl = (IMapControl3)axMapControl1.Object;

            IEngineNAWindowCategory2 activeCategory = m_naWindow.ActiveCategory as IEngineNAWindowCategory2;
            IDataLayer pDataLayer = activeCategory.DataLayer;

            // In order to add an item, we need to create a new row in the class and populate it
            // with the initial default values for that class.
            ITable       table       = pDataLayer as ITable;
            IRow         row         = table.CreateRow();
            IRowSubtypes rowSubtypes = row as IRowSubtypes;

            rowSubtypes.InitDefaultValues();

            IFeatureLayer    ipFeatureLayer    = activeCategory.Layer as IFeatureLayer;
            IStandaloneTable ipStandaloneTable = pDataLayer as IStandaloneTable;
            string           name = "";

            if (ipFeatureLayer != null)
            {
                name = ipFeatureLayer.DisplayField;
            }
            else if (ipStandaloneTable != null)
            {
                name = ipStandaloneTable.DisplayField;
            }

            string currentName = "";
            int    fieldIndex  = row.Fields.FindField(name);

            if (fieldIndex >= 0)
            {
                currentName = row.get_Value(fieldIndex) as string;
                if (currentName.Length <= 0)
                {
                    row.set_Value(fieldIndex, "Item" + ++autogenInt);
                }
            }

            INAClassDefinition naClassDef = activeCategory.NAClass.ClassDefinition;

            if (naClassDef.Name == "OrderPairs")
            {
                fieldIndex = row.Fields.FindField("SecondOrderName");
                if (fieldIndex >= 0)
                {
                    string secondName = row.get_Value(fieldIndex) as string;
                    if (secondName.Length <= 0)
                    {
                        row.set_Value(fieldIndex, "Item" + ++autogenInt);
                    }
                }
            }

            row.Store();

            // notify that the context has changed because we have added an item to a NAClass within it
            INAContextEdit contextEdit = m_naEnv.NAWindow.ActiveAnalysis.Context as INAContextEdit;

            contextEdit.ContextChanged();

            // refresh the NAWindow and the Screen
            INALayer naLayer = m_naWindow.ActiveAnalysis;

            mapControl.Refresh(esriViewDrawPhase.esriViewGeography, naLayer, mapControl.Extent);
            m_naWindow.UpdateContent(m_naWindow.ActiveCategory);
        }
コード例 #33
0
        public BookService(IDataLayer dataLayer)
        {
            System.Diagnostics.Trace.WriteLine("BookService instance: Create!");

            _dataLayer = dataLayer;
        }
コード例 #34
0
        protected override ISecuredSerializableObjectLayer CreateDefaultSecuredSerializableObjectLayer(IDataLayer dataLayer,
                                                                                                       RequestSecurityStrategyProvider securityStrategyProvider, EventHandler <DataServiceOperationEventArgs> committingDelegate,
                                                                                                       bool allowICommandChannelDoWithSecurityContext)
        {
            string connectionString    = ((ConnectionProviderSql)((BaseDataLayer)dataLayer).ConnectionProvider).ConnectionString;
            var    threadSafeDataLayer = new ThreadSafeDataLayer(dataLayer.Dictionary, new MultiDataStoreProxy(connectionString));

            return(new SecuredSerializableObjectLayer(threadSafeDataLayer, securityStrategyProvider, allowICommandChannelDoWithSecurityContext));
        }
コード例 #35
0
 public XpandSecuredDataServer(IDataLayer dataLayer, QueryRequestSecurityStrategyHandler querySecurityEnvironmentHandler, ILogger logger, EventHandler <DataServiceOperationEventArgs> committingDelegate, bool allowICommandChannelDoWithSecurityContext)
     : base(dataLayer, querySecurityEnvironmentHandler, logger, committingDelegate, allowICommandChannelDoWithSecurityContext)
 {
 }
コード例 #36
0
        /// <summary>
        /// Create initial database Scheme and Initial scripts
        /// </summary>
        /// <param name="ConnectionString"></param>
        /// <param name="DatabaseType"></param>
        /// <param name="DatabaseName"></param>
        /// <returns></returns>
        public static bool CreateDatabaseSchema(string pXpoConnectionString, DatabaseType pDatabaseType, string pDatabaseName)
        {
            //Log4Net
            log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

            bool         result = false;
            string       xpoConnectionString  = pXpoConnectionString;
            DatabaseType databaseType         = pDatabaseType;
            string       databaseTypeString   = Enum.GetName(typeof(DatabaseType), GlobalFramework.DatabaseType);
            string       databaseName         = pDatabaseName;
            IDataLayer   xpoDataLayer         = null;
            bool         onErrorsDropDatabase = true;
            string       sql = string.Empty;
            object       resultCmd;
            Hashtable    commands         = new Hashtable();
            string       commandSeparator = ";";
            bool         databaseExists   = false;
            Session      xpoSession;
            Dictionary <string, string> replace = GetReplaceables(pDatabaseType);

            string sqlDatabaseSchema             = FrameworkUtils.OSSlash(string.Format(SettingsApp.FileDatabaseSchema, databaseTypeString));
            string sqlDatabaseOtherDatabaseType  = FrameworkUtils.OSSlash(string.Format(SettingsApp.FileDatabaseOtherDatabaseType, databaseTypeString));
            string sqlDatabaseOtherCommon        = FrameworkUtils.OSSlash(SettingsApp.FileDatabaseOtherCommon);
            string sqlDatabaseOtherCommonAppMode = string.Format("{0}/{1}", FrameworkUtils.OSSlash(SettingsApp.FileDatabaseOtherCommonAppMode), GlobalFramework.Settings["appOperationModeToken"].ToLower());
            string sqlDatabaseOtherCommonPluginsSoftwareVendor = FrameworkUtils.OSSlash(SettingsApp.FileDatabaseOtherCommonPluginsSoftwareVendor);
            string FileDatabaseOtherCommonPluginsSoftwareVendorOtherCommonCountry = FrameworkUtils.OSSlash(SettingsApp.FileDatabaseOtherCommonPluginsSoftwareVendor);
            string sqlDatabaseData     = FrameworkUtils.OSSlash(SettingsApp.FileDatabaseData);
            string sqlDatabaseDataDemo = FrameworkUtils.OSSlash(SettingsApp.FileDatabaseDataDemo);
            string sqlDatabaseViews    = FrameworkUtils.OSSlash(SettingsApp.FileDatabaseViews);
            bool   useDatabaseDataDemo = Convert.ToBoolean(GlobalFramework.Settings["useDatabaseDataDemo"]);

            switch (databaseType)
            {
            case DatabaseType.SQLite:
            case DatabaseType.MonoLite:
                //connectionstring = string.Format(GlobalFramework.Settings["xpoConnectionString"], databaseName);
                break;

            case DatabaseType.MSSqlServer:
                //Required to Remove DataBase Name From Connection String
                xpoConnectionString = xpoConnectionString.Replace(string.Format("Initial Catalog={0};", pDatabaseName), string.Empty);
                commands.Add("select_schema", string.Format(@"SELECT name FROM sys.databases WHERE name = '{0}' AND name NOT IN ('master', 'tempdb', 'model', 'msdb');", databaseName));
                commands.Add("create_database", string.Format(@"IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = '{0}') CREATE DATABASE {0};", databaseName));
                commands.Add("use_database", string.Format(@"USE {0};", databaseName));
                commands.Add("drop_database", string.Format(@"USE master; IF EXISTS(SELECT name FROM sys.databases WHERE name = '{0}') DROP DATABASE {0};", databaseName));
                //ByPass Default commandSeparator ;
                commandSeparator = "GO";
                break;

            case DatabaseType.MySql:
                //Required to Remove DataBase Name From Connection String
                xpoConnectionString = xpoConnectionString.Replace(string.Format("database={0};", pDatabaseName), string.Empty);
                commands.Add("select_schema", string.Format(@"SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '{0}';", databaseName));
                commands.Add("create_database", string.Format(@"CREATE DATABASE IF NOT EXISTS {0} CHARACTER SET utf8 COLLATE utf8_bin /*!40100 DEFAULT CHARACTER SET utf8*/;", databaseName));
                commands.Add("use_database", string.Format(@"USE {0};", databaseName));
                commands.Add("drop_database", string.Format(@"DROP DATABASE IF EXISTS {0};", databaseName));
                break;
            }

            //Get DataLayer
            try
            {
                xpoDataLayer = XpoDefault.GetDataLayer(xpoConnectionString, AutoCreateOption.None);
            }
            catch (Exception ex)
            {
                log.Error(string.Format("CreateDatabaseSchema(): {0}", ex.Message), ex);
                throw;
            }

            //Init Session
            xpoSession = new Session(xpoDataLayer);

            //Start CreateDatabaseSchema Process
            try
            {
                switch (databaseType)
                {
                case DatabaseType.SQLite:
                case DatabaseType.MonoLite:
                    string filename = string.Format("{0}.db", databaseName);
                    databaseExists = (File.Exists(filename) && new FileInfo(filename).Length > 0);
                    log.Debug(string.Format("DatabaseExists: [{0}], databaseName: [{1}]", databaseExists, string.Format("{0}.db", databaseName)));
                    break;

                case DatabaseType.MSSqlServer:
                case DatabaseType.MySql:
                default:
                    sql = commands["select_schema"].ToString();
                    //log.Debug(string.Format("ExecuteScalar: [{0}]", sql));
                    resultCmd = xpoSession.ExecuteScalar(sql);
                    log.Debug(string.Format("Use Database resultCmd: [{0}]", resultCmd));
                    databaseExists = ((string)resultCmd == databaseName);
                    log.Debug(string.Format("DatabaseExists:[{0}] [{1}]", databaseName, databaseExists));
                    break;
                }

                //Create Database and Data
                if (!databaseExists)
                {
                    log.Debug(string.Format("Creating {0} Database: [{1}]", databaseType, databaseName));

                    //Always Delete Old appsession.json file when Create new Database
                    if (File.Exists(Utils.GetSessionFileName()))
                    {
                        File.Delete(Utils.GetSessionFileName());
                    }

                    if (pDatabaseType != DatabaseType.SQLite && pDatabaseType != DatabaseType.MonoLite)
                    {
                        sql = commands["create_database"].ToString();
                        log.Debug(string.Format("ExecuteScalar: [{0}]", sql));
                        resultCmd = xpoSession.ExecuteScalar(sql);
                        log.Debug(string.Format("Create Database resultCmd: [{0}]", resultCmd));

                        sql = commands["use_database"].ToString();
                        log.Debug(string.Format("ExecuteScalar: [{0}]", sql));
                        resultCmd = xpoSession.ExecuteScalar(sql);
                        log.Debug(string.Format("Use Database resultCmd: [{0}]", resultCmd));
                    }

                    //Restore Script Files

                    //Schema
                    result = ProcessDump(xpoSession, sqlDatabaseSchema, commandSeparator, replace);
                    //Data
                    if (result)
                    {
                        result = ProcessDump(xpoSession, sqlDatabaseData, ";", replace);
                    }
                    //DataDemo
                    if (useDatabaseDataDemo && result)
                    {
                        result = ProcessDump(xpoSession, sqlDatabaseDataDemo, ";", replace);
                    }
                    //Process Other Files: DatabaseOtherCommonPluginsSoftwareVendor
                    if (result)
                    {
                        result = ProcessDumpDirectory(xpoSession, sqlDatabaseOtherCommonPluginsSoftwareVendor, ";", replace);
                    }
                    //Views
                    if (result)
                    {
                        result = ProcessDump(xpoSession, sqlDatabaseViews, ";", replace);
                    }
                    //Directory Scripts
                    //Process Other Files: DatabaseOtherDatabaseType
                    if (result)
                    {
                        result = ProcessDumpDirectory(xpoSession, sqlDatabaseOtherDatabaseType, commandSeparator, replace);
                    }
                    //Process Other Files: DatabaseOtherCommon
                    if (result)
                    {
                        result = ProcessDumpDirectory(xpoSession, sqlDatabaseOtherCommon, commandSeparator, replace);
                    }
                    ////Process Other Files: DatabaseOtherCommonPluginsSoftwareVendor
                    //if (result)
                    //{
                    //    result = ProcessDumpDirectory(xpoSession, sqlDatabaseOtherCommonPluginsSoftwareVendor, commandSeparator, replace);
                    //}
                    //Process Other Files: DatabaseOtherCommonAppMode
                    if (result)
                    {
                        result = ProcessDumpDirectory(xpoSession, sqlDatabaseOtherCommonAppMode, commandSeparator, replace);
                    }

                    //Clean ConfigurationPreferenceParameter
                    string sqlConfigurationPreferenceParameter = @"UPDATE cfg_configurationpreferenceparameter SET Value = NULL WHERE (Token = 'COMPANY_COUNTRY' OR Token = 'COMPANY_COUNTRY_CODE2' OR Token = 'SYSTEM_CURRENCY' OR Token = 'COMPANY_COUNTRY_OID' OR Token = 'SYSTEM_CURRENCY_OID')";
                    if (result && Debugger.IsAttached == true)
                    {
                        xpoSession.ExecuteScalar(sqlConfigurationPreferenceParameter);
                    }
                    else
                    {
                        sqlConfigurationPreferenceParameter = string.Format("{0} {1}", sqlConfigurationPreferenceParameter, "OR (FormPageNo = 1 AND FormType = 1 AND Token <> 'COMPANY_TAX_ENTITY')");
                        xpoSession.ExecuteScalar(sqlConfigurationPreferenceParameter);
                    }
                }
                else
                {
                    log.Debug(string.Format("{0} Database: [{1}] Already Exist! Skip Creating Database", databaseType, databaseName));
                    result = false;
                    return(false);
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message, ex);
                result = false;
            }

            //If detect errors Drop Incompleted Database
            if (onErrorsDropDatabase && !result)
            {
                //Drop Database
                sql = commands["drop_database"].ToString();
                log.Debug(string.Format("ExecuteScalar: [{0}]", sql));
                resultCmd = xpoSession.ExecuteScalar(sql);
                log.Debug(string.Format("Create Database resultCmd: [{0}]", resultCmd));
            }

            return(result);
        }
コード例 #37
0
 public PauseLogicProvider(ILogicHandler logicHandler, IGameEngineInterface gameEngineInterface, IDataLayer dataLayer)
     : base(logicHandler, gameEngineInterface, dataLayer)
 {
     _pnlPauseMenu = null;
 }
コード例 #38
0
 public LikesController()
 {
     _dataLayer = new DataLayer(ConnectionString);
 }
コード例 #39
0
 public TaxServicesController(ICalculateTax calculateTax, IDataLayer dataLayer)
 {
     _dataLayer    = dataLayer;
     _calculateTax = calculateTax;
 }
コード例 #40
0
ファイル: ViewCommentHlp.cs プロジェクト: undyings/Basketball
        public static IHtmlControl GetCommentsPanel(IDataLayer commentConnection,
                                                    SiteState state, LightObject currentUser, TopicStorage topic, RowLink[] pageMessages)
        {
            HPanel addPanel = null;

            if (currentUser != null)
            {
                HPanel editPanel = null;
                if (state.BlockHint == "commentAdd")
                {
                    string commentValue = BasketballHlp.AddCommentFromCookie();

                    editPanel = new HPanel(
                        new HTextArea("commentContent", commentValue).Width("100%").Height("10em").MarginTop(5).MarginBottom(5),
                        Decor.Button("отправить")
                        .OnClick(BasketballHlp.AddCommentToCookieScript("commentContent"))
                        .Event("comment_add_save", "commentData",
                               delegate(JsonData json)
                    {
                        lock (lockObj)
                        {
                            string content = json.GetText("commentContent");
                            if (StringHlp.IsEmpty(content))
                            {
                                return;
                            }

                            if (BasketballHlp.IsDuplicate(topic, currentUser.Id, content))
                            {
                                return;
                            }

                            InsertMessageAndUpdate(commentConnection, topic, currentUser, null, content);

                            state.BlockHint = "";

                            BasketballHlp.ResetAddComment();
                        }
                    }
                               ),
                        new HElementControl(
                            h.Script(h.type("text/javascript"), "$('.commentContent').focus();"),
                            ""
                            )
                        ).EditContainer("commentData");
                }

                addPanel = new HPanel(
                    Decor.ButtonMini("оставить комментарий").FontBold().FontSize(12).Padding(2, 7).
                    Event("comment_add", "", delegate
                {
                    state.SetBlockHint("commentAdd");
                }
                          ),
                    new HButton("",
                                new HBefore().ContentIcon(11, 11).BackgroundImage(UrlHlp.ImageUrl("refresh.png"))
                                ).Color("#9c9c9c").MarginLeft(10).Title("Загрузить новые комментарии")
                    .Event("comments_refresh", "", delegate { }),
                    editPanel
                    );
            }

            Dictionary <int, string> htmlRepresentByMessageId = topic.HtmlRepresentByMessageId;

            //RowLink[] allMessages = topic.MessageLink.AllRows;
            RowLink bottomMessage = null;

            if (pageMessages.Length > 0)
            {
                bottomMessage = pageMessages[Math.Max(0, pageMessages.Length - 2)];
            }

            return(new HPanel(
                       new HAnchor("comments"),
                       new HLabel("Комментарии:").MarginTop(30).MarginBottom(20).FontSize("160%")
                       .Hide(commentConnection == context.ForumConnection),
                       new HPanel(
                           new HLabel("Автор").PositionAbsolute().Top(0).Left(0)
                           .BoxSizing().Width(100).Padding(7, 5, 5, 5),
                           new HLabel("Сообщение").Block().Padding(7, 5, 5, 5).BorderLeft(Decor.columnBorder)
                           ).PositionRelative().Align(null).PaddingLeft(100).Background("#dddddd").FontBold(),
                       new HGrid <RowLink>(pageMessages, delegate(RowLink comment)
            {
                IHtmlControl commentBlock = ViewCommentHlp.GetCommentBlock(
                    commentConnection, state, currentUser, topic, htmlRepresentByMessageId, comment
                    );

                if (bottomMessage == comment)
                {
                    return new HPanel(new HAnchor("bottom"), commentBlock);
                }
                return commentBlock;
            },
                                           new HRowStyle().Even(new HTone().Background(Decor.evenBackground))
                                           ).BorderBottom(Decor.bottomBorder).MarginBottom(10),
                       //new HAnchor("bottom"),
                       addPanel
                       ));
        }
コード例 #41
0
 public CommentsController()
 {
     _dataLayer = new DataLayer.Sql.DataLayer(ConnectionString);
 }
コード例 #42
0
 public PostsController()
 {
     _dataLayer = new DataLayer.SQL.DataLayer(ConnectionString);
 }
コード例 #43
0
ファイル: ViewCommentHlp.cs プロジェクト: undyings/Basketball
        public static IHtmlControl GetCommentBlock(IDataLayer commentConnection, SiteState state,
                                                   LightObject currentUser, TopicStorage topic, Dictionary <int, string> htmlRepresentByMessageId, RowLink comment)
        {
            LightObject user      = context.UserStorage.FindUser(comment.Get(MessageType.UserId));
            DateTime    localTime = comment.Get(MessageType.CreateTime).ToLocalTime();

            IHtmlControl whomBlock = GetWhomBlock(state, context.UserStorage, topic, htmlRepresentByMessageId, comment);

            int          commentId   = comment.Get(MessageType.Id);
            string       answerHint  = string.Format("answer_{0}", commentId);
            IHtmlControl answerBlock = null;

            if (currentUser != null && state.BlockHint == answerHint)
            {
                string commentValue = BasketballHlp.AddCommentFromCookie();

                answerBlock = new HPanel(
                    new HTextArea("answerContent", commentValue).Width("100%").Height("10em").MarginTop(5).MarginBottom(5),
                    Decor.Button("отправить")
                    .OnClick(BasketballHlp.AddCommentToCookieScript("answerContent"))
                    .Event("save_answer", "answerContainer",
                           delegate(JsonData json)
                {
                    lock (lockObj)
                    {
                        string content = json.GetText("answerContent");
                        if (StringHlp.IsEmpty(content))
                        {
                            return;
                        }

                        if (BasketballHlp.IsDuplicate(topic, currentUser.Id, content))
                        {
                            return;
                        }

                        InsertMessageAndUpdate(commentConnection, topic, currentUser, commentId, content);

                        state.BlockHint = "";

                        BasketballHlp.ResetAddComment();
                    }
                },
                           commentId
                           ),
                    new HElementControl(
                        h.Script(h.type("text/javascript"), "$('.answerContent').focus();"),
                        ""
                        )
                    ).EditContainer("answerContainer");
            }

            IHtmlControl editBlock = null;

            if (currentUser != null && currentUser.Id == user?.Id)
            {
                editBlock = new HPanel(
                    );
            }

            string  redoHint   = string.Format("redo_{0}", commentId);
            HButton redoButton = null;

            if (currentUser != null && currentUser.Id == user?.Id)
            {
                redoButton = Decor.ButtonMini("редактировать").Event("comment_redo", "",
                                                                     delegate(JsonData json)
                {
                    state.SetBlockHint(redoHint);
                },
                                                                     commentId
                                                                     );
            }

            IHtmlControl redoBlock = null;

            if (currentUser != null && state.BlockHint == redoHint)
            {
                redoBlock = new HPanel(
                    new HTextArea("redoContent", comment.Get(MessageType.Content))
                    .Width("100%").Height("10em").MarginTop(5).MarginBottom(5),
                    Decor.Button("изменить").Event("save_redo", "redoContainer",
                                                   delegate(JsonData json)
                {
                    string content = json.GetText("redoContent");
                    if (StringHlp.IsEmpty(content))
                    {
                        return;
                    }

                    //content = BasketballHlp.PreSaveComment(content);

                    commentConnection.GetScalar("",
                                                "Update message Set content=@content, modify_time=@time Where id=@id",
                                                new DbParameter("content", content),
                                                new DbParameter("time", DateTime.UtcNow),
                                                new DbParameter("id", commentId)
                                                );
                    topic.UpdateMessages();

                    state.BlockHint = "";
                },
                                                   commentId
                                                   ),
                    new HElementControl(
                        h.Script(h.type("text/javascript"), "$('.redoContent').focus();"),
                        ""
                        )
                    ).EditContainer("redoContainer");
            }

            IHtmlControl deleteElement = null;

            if (state.ModeratorMode)
            {
                deleteElement = new HButton("",
                                            std.BeforeAwesome(@"\f00d", 0)
                                            ).MarginLeft(5).Color(Decor.redColor).Title("удалить комментарий")
                                .Event("delete_comment", "", delegate
                {
                    MessageHlp.DeleteMessage(commentConnection, commentId);
                    topic.UpdateMessages();
                    context.UpdateLastComments(commentConnection == context.ForumConnection);
                },
                                       commentId
                                       );
            }

            string topicType = topic.Topic.Get(ObjectType.TypeId) == NewsType.News ? "news" : "article";

            string anchor = string.Format("reply{0}", commentId);

            return(new HXPanel(
                       new HAnchor(anchor),
                       new HPanel(
                           new HLink(UrlHlp.ShopUrl("user", user?.Id),
                                     user?.Get(UserType.Login)
                                     ).FontBold(),
                           new HLabel(user?.Get(UserType.FirstName)).Block()
                           .MediaTablet(new HStyle().InlineBlock().MarginLeft(5)),
                           new HPanel(
                               ViewUserHlp.AvatarBlock(user)
                               ).MarginTop(5)
                           .MediaTablet(new HStyle().Display("none"))
                           ).BoxSizing().WidthLimit("100px", "").Padding(7, 5, 10, 5)
                       .MediaTablet(new HStyle().Block().PaddingBottom(0).PaddingRight(110)),
                       new HPanel(
                           new HPanel(
                               new HLabel(localTime.ToString("dd.MM.yyyy HH:mm")).MarginRight(5)
                               .MediaTablet(new HStyle().MarginBottom(5)),
                               new HLink(string.Format("/{0}/{1}#{2}", topicType, topic.TopicId, anchor), "#").TextDecoration("none")
                               .Hide(commentConnection == context.ForumConnection),
                               deleteElement
                               ).Align(false).FontSize("90%").Color(Decor.minorColor),
                           whomBlock,
                           new HTextView(
                               DictionaryHlp.GetValueOrDefault(htmlRepresentByMessageId, commentId)
                               ).PaddingBottom(15).MarginBottom(5).BorderBottom("1px solid silver"),
                           new HPanel(
                               Decor.ButtonMini("ответить").Event("comment_answer", "",
                                                                  delegate
            {
                state.SetBlockHint(answerHint);
            },
                                                                  commentId
                                                                  ),
                               redoButton
                               ).Hide(currentUser == null),
                           answerBlock,
                           redoBlock
                           ).BoxSizing().Width("100%").BorderLeft(Decor.columnBorder).Padding(7, 5, 5, 5)
                       .MediaTablet(new HStyle().Block().MarginTop(-19))
                       ).BorderTop("2px solid #fff"));
        }
コード例 #44
0
 public UserService(IDataLayer layer)
 {
 }
コード例 #45
0
 public AnagramDataContext(IDataLayer dataLayer)
 {
     this.dataLayer = dataLayer;
 }
コード例 #46
0
 public LogBll(IDataLayer <ExceptionLog> exceptionDataLayer, IDataLayer <OperatingLog> operatingDataLayer)
 {
     _exceptionDataLayer = exceptionDataLayer;
     _operatingDataLayer = operatingDataLayer;
 }
コード例 #47
0
 public OrmCookbookUnitOfWork(IDataLayer layer, params IDisposable[] disposeOnDisconnect) : base(layer, disposeOnDisconnect)
 {
 }
コード例 #48
0
 public DataLayerResult DoResponse(IDataLayer dataLayer, Object response)
 {
     return(DataLayerResult.NoLogin);
 }
コード例 #49
0
 private static ISecuredSerializableObjectLayer CreateDefaultSecuredSerializableObjectLayer(IDataLayer dataLayer, IRequestSecurityStrategyProvider securityStrategyProvider)
 {
     return(new SecuredSerializableObjectLayer(dataLayer, securityStrategyProvider, false));
 }
コード例 #50
0
 public SettingsRepository(IDataLayer dataLayer, IOptions <SettingsCategories> categories,
                           BaseDbContext dbContext) : base(dbContext.Set <SettingEntity>(), dataLayer)
 {
     dataLayer.SetRepo(this);
     _categories = categories.Value.List;
 }
コード例 #51
0
        public static void AddIdahoWms(List <string> idahoIds, string groupLayerName, string token)
        {
            // Don't do anything if the aren't any idaho id's to work with
            if (idahoIds.Count <= 0)
            {
                return;
            }

            IGroupLayer groupLayer = new GroupLayerClass();

            groupLayer.Name = groupLayerName;
            foreach (var id in idahoIds)
            {
                var wmsMapLayer = new WMSMapLayerClass();

                // create and configure wms connection name, this is used to store the connection properties
                IWMSConnectionName pConnName = new WMSConnectionNameClass();
                IPropertySet       propSet   = new PropertySetClass();

                // create the idaho wms url
                var idahoUrl = string.Format(
                    "http://idaho.geobigdata.io/v1/wms/idaho-images/{0}/{1}/mapserv?",
                    id,
                    token);

                Jarvis.Logger.Info("Adding WMS Layer to: " + idahoUrl);

                // setup the arcmap connection properties
                propSet.SetProperty("URL", idahoUrl);
                pConnName.ConnectionProperties = propSet;

                //uses the name information to connect to the service
                IDataLayer dataLayer = wmsMapLayer;
                try
                {
                    dataLayer.Connect((IName)pConnName);
                }
                catch (Exception e)
                {
                    Jarvis.Logger.Error("Problems connecting to WMS: " + e.Message);
                }

                // get wms service description
                var serviceDesc = wmsMapLayer.IWMSGroupLayer_WMSServiceDescription;

                ILayer wmsLayer = null;

                // add layers for the wms currently there will only be one.
                for (var i = 0; i <= serviceDesc.LayerDescriptionCount - 1; i++)
                {
                    var layerDesc = serviceDesc.LayerDescription[i];

                    var grpLayer = wmsMapLayer.CreateWMSGroupLayers(layerDesc);
                    for (var j = 0; j <= grpLayer.Count - 1; j++)
                    {
                        wmsLayer         = wmsMapLayer;
                        wmsMapLayer.Name = id;
                    }
                }

                // turn on sub layers, add it to arcmap and move it to top of TOC
                SublayerVisibleOn(wmsLayer);
                groupLayer.Add(wmsLayer);
            }
            // turn on sub layers, add it to arcmap and move it to top of TOC
            ArcMap.Document.AddLayer(groupLayer);
            ArcMap.Document.FocusMap.MoveLayer(groupLayer, 0);
        }
コード例 #52
0
 public DataLayerResult DoResponse(IDataLayer dataLayer, Object response)
 {
     return(DataLayerResult.UnknownFailure);
 }
コード例 #53
0
ファイル: FrmMxdRAR.cs プロジェクト: eglrp/TESTPROJECT-1
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                string LaySourcePath = "";

                //首先将mxd文件拷贝到目标路径下
                System.IO.File.Copy(txtMxdData.Text, textBoxX1.Text + "\\" + System.IO.Path.GetFileName(txtMxdData.Text), true);
                //FileCopy(txtMxdData.Text, textBoxX1.Text + "\\" + System.IO.Path.GetFileName(txtMxdData.Text));
                IMapDocument pMapDocumentDest = new MapDocumentClass();
                pMapDocumentDest.Open(textBoxX1.Text + "\\" + System.IO.Path.GetFileName(txtMxdData.Text));

                IMapDocument pMapDocument = new MapDocumentClass();
                pMapDocument.Open(txtMxdData.Text, null);
                IMap pMap = pMapDocument.Map[0];
                for (int i = 0; i < pMap.LayerCount; i++)
                {
                    ILayer pLayer = pMap.Layer[i];
                    //LaySourcePath=pLayer.
                    IDataLayer   pDataLayer = pLayer as IDataLayer;
                    IDatasetName pDName     = pDataLayer.DataSourceName as IDatasetName;
                    LaySourcePath = pDName.WorkspaceName.PathName;      //得到图层的源文件路径
                    string[] strArray = LaySourcePath.Split('\\');
                    if (strArray[strArray.Length - 1].Contains(".gdb")) //如果图层来源于gdb数据库
                    {
                        CopyDirectory(LaySourcePath, textBoxX1.Text + "\\" + strArray[strArray.Length - 1]);
                        ConnectSource(pMapDocumentDest.Map[0].Layer[i], textBoxX1.Text + "\\" + strArray[strArray.Length - 1], 0);
                    }
                    else if (!strArray[strArray.Length - 1].Contains(".gdb")) //图层来源不是gdb数据库,则只能为shp图层或TIF影像
                    {
                        if (pLayer is IFeatureLayer)                          //图层为矢量图
                        {
                            ExportDatatoShape(textBoxX1.Text + "\\" + pLayer.Name, pLayer);
                            ConnectSource(pMapDocumentDest.Map[0].Layer[i], textBoxX1.Text, 1);
                        }
                        else if (pLayer is IRasterLayer)
                        {
                            //File.Copy(LaySourcePath + "\\" + pDName.Name, textBoxX1.Text + "\\" + pLayer.Name);
                            //FileCopy(LaySourcePath + "\\" + pDName.Name, textBoxX1.Text + "\\" + pLayer.Name);
                            File.Copy(LaySourcePath + "\\" + pDName.Name, textBoxX1.Text + "\\" + pDName.Name);
                            ConnectSource(pMapDocumentDest.Map[0].Layer[i], textBoxX1.Text, 2);
                        }
                    }
                }

                //以相对路径存储新目录下Mxd文件
                pMapDocumentDest.Save(true, true);

                pMapDocumentDest.Close();

                //压缩文件
                ClsFileZip filezip = new ClsFileZip();
                filezip.ZipFileMain(textBoxX1.Text + "\\", textBoxX1.Text + ".zip", "*.*");

                this.Close();
            }
            catch (System.Exception ex)
            {
                if (ex.ToString().Contains("未能找到路径"))
                {
                    MessageBox.Show("Mxd文档对应的源文件被移动", "提示", MessageBoxButtons.OK);
                }
                else
                {
                    MessageBox.Show(ex.ToString());
                }
            }
        }
コード例 #54
0
 public HowToPlayLogicProvider(ILogicHandler logicHandler, IGameEngineInterface gameEngineInterface, IDataLayer dataLayer) : base(logicHandler, gameEngineInterface, dataLayer)
 {
 }
コード例 #55
0
 public XpandSecuredDataServer(IDataLayer dataLayer, QueryRequestSecurityStrategyHandler querySecurityEnvironmentHandler)
     : base(dataLayer, querySecurityEnvironmentHandler)
 {
 }
コード例 #56
0
 public StudentSubjectJoiner(IDataLayer <Subject> subjectService, IDataLayer <StudentToSubject> studentToSubjectService)
 {
     this.studentToSubjectService = studentToSubjectService;
     this.subjectService          = subjectService;
 }
 public XpoODataContext(string s1, string s2, IDataLayer dataLayer)
     : base(s1, s2, dataLayer)
 {
 }
コード例 #58
0
 public BasePipelineBehavior(IEnumerable <IValidator <TRequest> > validators, IDataLayer dataLayer)
 {
     _validators = validators;
     _dataLayer  = dataLayer;
 }
コード例 #59
0
 public GetAllIdentityHandler(IDataLayer dataLayer)
 {
     _dataLayer = dataLayer;
 }
コード例 #60
0
 public static void ResetCache()
 {
     dataLayerForCachedServerPrefix = null;
     // dataLayerForCachedServerPrefix.Target = null; <<< if WeakReference
 }