static void UpdateReferenceField(SoodaTransaction tran)
        {
            FieldInfo fi = tran.Schema.FindClassByName("PKInt32").FindFieldByName(ReferenceField);

            fi.IsNullable = true;
            DynamicFieldManager.Update(fi, tran);
        }
示例#2
0
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);
            try
            {
                // transactionLogger.Debug("Disposing transaction");
                if (disposing)
                {
                    foreach (SoodaDataSource source in _dataSources)
                    {
                        source.Close();
                    }
#if DOTNET35
                    DynamicFieldManager.CloseTransaction(this);
#endif
                    if ((transactionOptions & SoodaTransactionOptions.Implicit) != 0 && this != _defaultTransactionStrategy.SetDefaultTransaction(previousTransaction))
                    {
                        transactionLogger.Warn("ActiveTransactionDataStoreSlot has been overwritten by someone.");
                    }
                }
            }
            catch (Exception ex)
            {
                transactionLogger.Error("Error while disposing transaction {0}", ex);
                throw;
            }
        }
 static void AddDateTimeField(SoodaTransaction tran)
 {
     DynamicFieldManager.Add(new FieldInfo {
         ParentClass = tran.Schema.FindClassByName("PKInt32"),
         Name        = DateTimeField,
         Type        = typeof(DateTime?)
     }, tran);
 }
示例#4
0
 public RoleController(RoleManager <Role> roleManager, UserManager <ResearchUser> userManager, ArcDBContext arcDBContext, ILogger <RoleController> logger)
 {
     this.roleManager  = roleManager;
     this.userManager  = userManager;
     this._context     = arcDBContext;
     this._logger      = logger;
     this.fieldManager = new DynamicFieldManager(_context);
 }
 static void AddReferenceField(SoodaTransaction tran)
 {
     DynamicFieldManager.Add(new FieldInfo {
         ParentClass = tran.Schema.FindClassByName("PKInt32"),
         Name        = ReferenceField,
         Type        = typeof(Contact),
         IsNullable  = false
     }, tran);
 }
 static void AddIntField(SoodaTransaction tran)
 {
     DynamicFieldManager.Add(new FieldInfo {
         ParentClass = tran.Schema.FindClassByName("PKInt32"),
         Name        = IntField,
         TypeName    = "Integer",
         IsNullable  = false
     }, tran);
 }
 static void AddStringField(SoodaTransaction tran)
 {
     DynamicFieldManager.Add(new FieldInfo {
         ParentClass = tran.Schema.FindClassByName("PKInt32"),
         Name        = StringField,
         TypeName    = "String",
         Size        = 128,
         IsNullable  = false
     }, tran);
 }
 public void DuplicateFieldWithStatic()
 {
     using (SoodaTransaction tran = new SoodaTransaction())
     {
         DynamicFieldManager.Add(new FieldInfo {
             ParentClass = tran.Schema.FindClassByName("PKInt32"),
             Name        = "Data",
             TypeName    = "Integer",
             IsNullable  = false
         }, tran);
     }
 }
 public void CreateIndex()
 {
     using (SoodaTransaction tran = new SoodaTransaction())
     {
         AddIntField(tran);
         try
         {
             FieldInfo fi = tran.Schema.FindClassByName("PKInt32").FindFieldByName(IntField);
             DynamicFieldManager.CreateIndex(fi, tran);
         }
         finally
         {
             Remove(IntField, tran);
         }
     }
 }
        static void Remove(string name, SoodaTransaction tran)
        {
            FieldInfo fi = tran.Schema.FindClassByName("PKInt32").FindFieldByName(name);

            DynamicFieldManager.Remove(fi, tran);
        }