示例#1
0
        public void Update(RoleDto item)
        {
            using (var ctx = ObjectContextManager <PTrackerEntities> .GetManager("PTrackerEntities"))
            {
                var data = (from r in ctx.ObjectContext.Roles
                            where r.Id == item.Id
                            select r).FirstOrDefault();
                if (data == null)
                {
                    throw new DataNotFoundException("Role");
                }
                if (!data.LastChanged.Matches(item.LastChanged))
                {
                    throw new ConcurrencyException("Role");
                }

                data.Name = item.Name;
                var count = ctx.ObjectContext.SaveChanges();
                if (count == 0)
                {
                    throw new UpdateFailureException("Role");
                }
                item.LastChanged = data.LastChanged;
            }
        }
示例#2
0
            public void MultipleLevelScoping()
            {
                ObjectContextManager <TestObjectContextContainer> manager = null;

                using (manager = ObjectContextManager <TestObjectContextContainer> .GetManager())
                {
                    Assert.AreEqual(1, manager.RefCount);

                    using (ObjectContextManager <TestObjectContextContainer> .GetManager())
                    {
                        Assert.AreEqual(2, manager.RefCount);

                        using (ObjectContextManager <TestObjectContextContainer> .GetManager())
                        {
                            Assert.AreEqual(3, manager.RefCount);
                        }

                        Assert.AreEqual(2, manager.RefCount);
                    }

                    Assert.AreEqual(1, manager.RefCount);
                }

                Assert.AreEqual(0, manager.RefCount);
            }
示例#3
0
 public void WorksForObjectContext()
 {
     using (var manager = ObjectContextManager <TestObjectContextContainer> .GetManager())
     {
         Assert.IsNotNull(manager);
     }
 }
示例#4
0
        protected override void DataPortal_Insert()
        {
            using (var manager =
                       ObjectContextManager <RolodexEF.RolodexEntities> .GetManager(DataConnection.EFConnectionName, true))
            {
                var newCompany = new Companies();
                newCompany.CompanyName = ReadProperty(CompanyNameProperty);
                SmartDate added = ReadProperty(DateAddedProperty);
                if (!added.IsEmpty)
                {
                    newCompany.DateAdded = added.Date;
                }
                DataPortal.UpdateChild(ReadProperty(ContactsProperty), this, newCompany);

                manager.ObjectContext.AddToCompanies(newCompany);
                if (ReadProperty(CompanyIdProperty) == 0)
                {
                    newCompany.PropertyChanged += newCompany_PropertyChanged;
                }

                DataPortal.UpdateChild(ReadProperty(ContactsProperty), this, newCompany);
                manager.ObjectContext.SaveChanges();
                LoadProperty(CompanyIdProperty, newCompany.CompanyId);
            }
        }
示例#5
0
        public CartogrammLabels(SimpleGride gride)
        {
            _gride = gride;

            TopRow    = new List <TableField>();
            BottomRow = new List <TableField>();

            PreTopRow       = new List <TableField>();
            AmountTopRow    = new List <TableField>();
            PreBottomRow    = new List <TableField>();
            AmountBottomRow = new List <TableField>();

            ObjectContextManager    ocm = HostApplicationServices.WorkingDatabase.ObjectContextManager;
            ObjectContextCollection occ = ocm.GetContextCollection("ACDB_ANNOTATIONSCALES");

            _scale = (AnnotationScale)occ.CurrentContext;

            _tableRowHeight       /= _scale.Scale;
            _firstColumnWidth     /= _scale.Scale;
            _preOrPostColumnWidth /= _scale.Scale;

            _tableTextHeight  /= _scale.Scale;
            _grideTextHeight  /= _scale.Scale;
            _volumeTextHeight /= _scale.Scale;

            _horizontalVector = gride.HorizontalVector;
            _verticalVector   = gride.VerticalVector;
        }
示例#6
0
        private void InitAsync(object sender, ElapsedEventArgs args)
        {
            ISQLDatabase database;

            lock (_timer)
            {
                database = ServiceRegistration.Get <ISQLDatabase>(false);
                if (database == null)
                {
                    return;
                }
                _timer.Close();
                _timer.Dispose();
            }

            using (var transaction = database.BeginTransaction())
                if (transaction.Connection.GetCloneFactory(TVDB_NAME, out _dbProviderFactory, out _cloneConnection))
                {
                    EntityFrameworkHelper.AssureKnownFactory(_dbProviderFactory);
                    // Register our factory to create new cloned connections
                    ObjectContextManager.SetDbConnectionCreator(ClonedConnectionFactory);
                }

            IntegrationProviderHelper.Register(@"Plugins\SlimTv.Service", @"Plugins\SlimTv.Service\castle.config");
            _tvServiceThread = new TvServiceThread(Environment.GetCommandLineArgs()[0]);
            _tvServiceThread.Start();
        }
示例#7
0
        /// <summary>
        /// 删除实体的缩放比例
        /// </summary>
        /// <param name="entId">实体的Id</param>
        /// <param name="scaleNames">缩放比例名列表</param>
        public static void RemoveScale(this ObjectId entId, params string[] scaleNames)
        {
            //获取entId指示的实体对象
            DBObject obj = entId.GetObject(OpenMode.ForRead);

            //如果实体对象支持注释缩放
            if (obj.Annotative != AnnotativeStates.NotApplicable)
            {
                //获得对象所有的注释比例
                List <ObjectContext> scales = entId.GetAllScales();
                obj.UpgradeOpen();//切换实体为写的状态
                //获取当前图形的对象比例管理器
                ObjectContextManager ocm = obj.Database.ObjectContextManager;
                //获取当前图形的注释比例列表,名为ACDB_ANNOTATIONSCALES
                ObjectContextCollection occ = ocm.GetContextCollection("ACDB_ANNOTATIONSCALES");
                //遍历需要设置的注释比例
                foreach (string scaleName in scaleNames)
                {
                    //获取名为scaleName的注释比例
                    ObjectContext scale = occ.GetContext(scaleName);
                    //若不存在scaleName的注释比例,则结束本次循环
                    if (scale == null)
                    {
                        continue;
                    }
                    //删除名为scaleName的注释比例
                    ObjectContexts.RemoveContext(obj, scale);
                }
                obj.DowngradeOpen();//为了安全将实体切换为读的状态
            }
        }
示例#8
0
        private void Child_Insert(Company company, Companies entityCompany)
        {
            using (var manager =
                       ObjectContextManager <RolodexEntities> .GetManager(DataConnection.EFConnectionName, true))
            {
                LoadProperty(CompanyIdProperty, company.CompanyId);
                RolodexEF.Ranks newRank = GetRank(ReadProperty(RankIdProperty));

                var newContact = new CompanyContacts();
                newContact.BaseSalary = ReadProperty(BaseSalaryProperty);
                var birthday = ReadProperty(BirthdayProperty);
                if (!birthday.IsEmpty)
                {
                    newContact.Birthday = birthday.Date;
                }
                newContact.Companies = entityCompany;
                newContact.FirstName = ReadProperty(FirstNameProperty);
                newContact.LastName  = ReadProperty(LastNameProperty);
                newContact.Ranks     = newRank;

                LoadProperty(InitialRankIdProperty, ReadProperty(RankIdProperty));
                if (ReadProperty(CompanyContactIdProperty) == 0)
                {
                    newContact.PropertyChanged += entityContact_PropertyChanged;
                }

                DataPortal.UpdateChild(ReadProperty(ContactsPhonesProperty), this, newContact);
            }
        }
示例#9
0
        private void Child_Update(Company company, Companies entityCompany)
        {
            using (var manager =
                       ObjectContextManager <RolodexEntities> .GetManager(DataConnection.EFConnectionName, true))
            {
                RolodexEF.Ranks newRank = GetRank(ReadProperty(RankIdProperty));
                RolodexEF.Ranks oldRank = GetRank(ReadProperty(InitialRankIdProperty));

                var newContact = new CompanyContacts();
                newContact.CompanyContactId = ReadProperty(CompanyContactIdProperty);
                newContact.EntityKey        = new System.Data.EntityKey("RolodexEntities.CompanyContacts", "CompanyContactId",
                                                                        ReadProperty(CompanyContactIdProperty));

                manager.ObjectContext.Attach(newContact);
                entityCompany.CompanyContacts.Attach(newContact);
                oldRank.CompanyContacts.Attach(newContact);
                newContact.Ranks = newRank;

                newContact.BaseSalary = ReadProperty(BaseSalaryProperty);
                var birthday = ReadProperty(BirthdayProperty);
                if (!birthday.IsEmpty)
                {
                    newContact.Birthday = birthday.Date;
                }
                else
                {
                    newContact.Birthday = null;
                }

                newContact.FirstName = ReadProperty(FirstNameProperty);
                newContact.LastName  = ReadProperty(LastNameProperty);

                DataPortal.UpdateChild(ReadProperty(ContactsPhonesProperty), this, newContact);
            }
        }
示例#10
0
        private RolodexEF.Ranks GetRank(int rankID)
        {
            using (var manager =
                       ObjectContextManager <RolodexEntities> .GetManager(DataConnection.EFConnectionName, true))
            {
                RolodexEF.Ranks rank;

                System.Data.EntityKey rankKey = new System.Data.EntityKey("RolodexEntities.Ranks", "RankId", rankID);

                System.Data.Objects.ObjectStateEntry entry;
                if (!manager.ObjectContext.ObjectStateManager.TryGetObjectStateEntry(rankKey, out entry))
                {
                    rank           = new RolodexEF.Ranks();
                    rank.RankId    = rankID;
                    rank.EntityKey = rankKey;
                    manager.ObjectContext.Attach(rank);
                }
                else
                {
                    rank = entry.Entity as RolodexEF.Ranks;
                }

                return(rank);
            }
        }
示例#11
0
 public void Update(AssignmentDto item)
 {
     using (var ctx = ObjectContextManager <PTrackerEntities> .GetManager("PTrackerEntities"))
     {
         var data = (from r in ctx.ObjectContext.Assignments
                     where r.ProjectId == item.ProjectId && r.ResourceId == item.ResourceId
                     select r).FirstOrDefault();
         if (data == null)
         {
             throw new DataNotFoundException("Assignment");
         }
         if (!data.LastChanged.Matches(item.LastChanged))
         {
             throw new ConcurrencyException("Assignment");
         }
         data.Assigned = item.Assigned;
         data.RoleId   = item.RoleId;
         var count = ctx.ObjectContext.SaveChanges();
         if (count == 0)
         {
             throw new UpdateFailureException("Assignment");
         }
         item.LastChanged = data.LastChanged;
     }
 }
        public void SetUp()
        {
            ObjectContextManager.InitStorage(new SimpleObjectContextStorage());
            ObjectContextManager.Init("DefaultDb", new[] { "Infrastructure.Tests" }, true);

            customerRepository = new CustomerRepository();
            repository         = new GenericRepository();
        }
示例#13
0
        public static ObjectId AppendBlockItem(Point3d insertPoint, ObjectId blockTableRecordId,
                                               List <string> attrTextValues, Matrix3d toWcsTransform)
        {
            ObjectId resBlockId = ObjectId.Null;

            Tools.StartTransaction(() =>
            {
                Transaction trans = Tools.GetTopTransaction();

                // Add a block reference to the model space
                BlockTableRecord ms = Tools.GetAcadBlockTableRecordModelSpace(OpenMode.ForWrite);

                BlockTableRecord btr = blockTableRecordId.GetObjectForRead <BlockTableRecord>();

                BlockReference br = new BlockReference(insertPoint, blockTableRecordId);
                br.SetDatabaseDefaults();
                br.TransformBy(toWcsTransform);

                ObjectContextManager ocm    = btr.Database.ObjectContextManager;
                ObjectContextCollection occ = ocm.GetContextCollection("ACDB_ANNOTATIONSCALES");

                if (btr.Annotative == AnnotativeStates.True)
                {
                    br.AddContext(occ.CurrentContext);
                }

                resBlockId = ms.AppendEntity(br);
                trans.AddNewlyCreatedDBObject(br, true);

                // Add attributes from the block table record
                List <AttributeDefinition> attributes = GetAttributes(btr, trans);
                int i = 0;
                foreach (AttributeDefinition acAtt in attributes)
                {
                    if (!acAtt.Constant)
                    {
                        using (AttributeReference acAttRef = new AttributeReference())
                        {
                            acAttRef.SetAttributeFromBlock(acAtt, br.BlockTransform);

                            if (attrTextValues != null)
                            {
                                acAttRef.TextString = attrTextValues[i++];
                            }
                            else
                            {
                                acAttRef.TextString = acAtt.TextString;
                            }

                            br.AttributeCollection.AppendAttribute(acAttRef);
                            trans.AddNewlyCreatedDBObject(acAttRef, true);
                        }
                    }
                }
                br.RecordGraphicsModified(true);
            });
            return(resBlockId);
        }
示例#14
0
 protected override void PrepareConnection(ITransaction transaction)
 {
     if (transaction.Connection.GetCloneFactory(TVDB_NAME, out _dbProviderFactory, out _cloneConnection))
     {
         EntityFrameworkHelper.AssureKnownFactory(_dbProviderFactory);
         // Register our factory to create new cloned connections
         ObjectContextManager.SetDbConnectionCreator(ClonedConnectionFactory);
     }
 }
示例#15
0
 public void ConnectionSetting_with_Invalid_DB_Throws_ConfigurationErrorsException_for_EntitiesContextDataContext()
 {
     using (var objectContextManager = ObjectContextManager <DataPortalTestDatabaseEntities> .GetManager(EntityConnectionWithMissingDB, true))
     {
         Assert.IsNotNull(objectContextManager);
         //Throws EntityException
         var table = (from p in objectContextManager.ObjectContext.Table2
                      select p).ToList();
     }
 }
示例#16
0
 public bool Exists(int id)
 {
     using (var ctx = ObjectContextManager <PTrackerEntities> .GetManager("PTrackerEntities"))
     {
         var result = (from r in ctx.ObjectContext.Projects
                       where r.Id == id
                       select r.Id).Count() > 0;
         return(result);
     }
 }
示例#17
0
文件: Rank.cs 项目: zuiwanting/csla
 protected override void DataPortal_Insert()
 {
     using (ObjectContextManager <RolodexEntities> manager = ObjectContextManager <RolodexEF.RolodexEntities> .GetManager(DataConnection.EFConnectionName, true))
     {
         RolodexEF.Ranks newRank = new RolodexEF.Ranks();
         newRank.Rank = ReadProperty(RankNameProperty);
         manager.ObjectContext.AddToRanks(newRank);
         manager.ObjectContext.SaveChanges();
         LoadProperty(RankIdProperty, newRank.RankId);
     }
 }
示例#18
0
 public List <RoleDto> Fetch()
 {
     using (var ctx = ObjectContextManager <PTrackerEntities> .GetManager("PTrackerEntities"))
     {
         var result = from r in ctx.ObjectContext.Roles
                      select new RoleDto {
             Id = r.Id, Name = r.Name, LastChanged = r.LastChanged
         };
         return(result.ToList());
     }
 }
示例#19
0
 protected void DataPortal_Fetch()
 {
     RaiseListChangedEvents = false;
     using (ObjectContextManager <RolodexEntities> manager = ObjectContextManager <RolodexEF.RolodexEntities> .GetManager(DataConnection.EFConnectionName, true))
     {
         foreach (var item in manager.ObjectContext.Ranks)
         {
             Add(Rank.GetRank(item));
         }
     }
     RaiseListChangedEvents = true;
 }
示例#20
0
        public void Table2_retreived_through_LingToEntitiesDataContext_has_records()
        {
            using (var objectContextManager = ObjectContextManager <DataPortalTestDatabaseEntities> .GetManager("DataPortalTestDatabaseEntities", true))
            {
                Assert.IsNotNull(objectContextManager);

                var query = from p in objectContextManager.ObjectContext.Table2
                            select p;

                Assert.IsTrue(query.ToList().Count > 0, "Data in table is missing");
            }
        }
示例#21
0
        public ErrorStatus RoundHeight(int digits)
        {
            Database db = HostApplicationServices.WorkingDatabase;

            _AcDb.TransactionManager myTm       = db.TransactionManager;
            Transaction          myT            = db.TransactionManager.StartTransaction();
            Editor               ed             = Application.DocumentManager.MdiActiveDocument.Editor;
            ObjectContextManager conTextManager = db.ObjectContextManager;
            ErrorStatus          es             = ErrorStatus.KeyNotFound;

            if (this.HöheOrg != null)
            {
                if (MyString.Precision(this.HöheOrg) >= digits)
                {
                    try
                    {
                        using (DocumentLock dl = Application.DocumentManager.MdiActiveDocument.LockDocument())
                        {
                            BlockTable bt = (BlockTable)myT.GetObject(db.BlockTableId, OpenMode.ForRead);
                            ObjectId   id = bt[BlockTableRecord.ModelSpace];

                            AttributeCollection col = _blkRef.AttributeCollection;

                            foreach (ObjectId attId in col)
                            {
                                AttributeReference attRef = (AttributeReference)myT.GetObject(attId, OpenMode.ForWrite);

                                switch (attRef.Tag)
                                {
                                case "height":
                                    double Höhe = Convert.ToDouble(this.HöheOrg, CultureInfo.InvariantCulture);
                                    attRef.TextString = Höhe.ToString("F" + digits.ToString());
                                    attRef.Dispose();
                                    _Hdigits = digits;
                                    es       = ErrorStatus.OK;
                                    break;
                                }
                            }
                        }
                    }

                    catch { }

                    finally
                    {
                        myT.Commit();
                        myT.Dispose();
                        ed.Regen();
                    }
                }
            }
            return(es);
        }
示例#22
0
        public DashboardDto Fetch()
        {
            var result = new DashboardDto();

            using (var ctx = ObjectContextManager <PTrackerEntities> .GetManager("PTrackerEntities"))
            {
                result.ProjectCount     = ctx.ObjectContext.Projects.Count();
                result.OpenProjectCount = ctx.ObjectContext.Projects.Where(r => r.Ended == null).Count();
                result.ResourceCount    = ctx.ObjectContext.Resources.Count();
            }
            return(result);
        }
示例#23
0
文件: Rank.cs 项目: zuiwanting/csla
        protected override void DataPortal_Update()
        {
            using (ObjectContextManager <RolodexEntities> manager = ObjectContextManager <RolodexEF.RolodexEntities> .GetManager(DataConnection.EFConnectionName, true))
            {
                RolodexEF.Ranks newRank = new RolodexEF.Ranks();
                newRank.RankId    = ReadProperty(RankIdProperty);
                newRank.EntityKey = new System.Data.EntityKey("RolodexEntities.Ranks", "RankId", newRank.RankId);
                manager.ObjectContext.Attach(newRank);

                newRank.Rank = ReadProperty(RankNameProperty);
                manager.ObjectContext.SaveChanges();
            }
        }
示例#24
0
 public void Delete(int projectId, int resourceId)
 {
     using (var ctx = ObjectContextManager <PTrackerEntities> .GetManager("PTrackerEntities"))
     {
         var data = (from r in ctx.ObjectContext.Assignments
                     where r.ProjectId == projectId && r.ResourceId == resourceId
                     select r).FirstOrDefault();
         if (data != null)
         {
             ctx.ObjectContext.Assignments.DeleteObject(data);
             ctx.ObjectContext.SaveChanges();
         }
     }
 }
        private void Child_Update(CompanyContact companyContact, CompanyContacts entityContact)
        {
            using (ObjectContextManager <RolodexEntities> manager = ObjectContextManager <RolodexEF.RolodexEntities> .GetManager(DataConnection.EFConnectionName, true))
            {
                CompanyContactPhones newContactPhone = new CompanyContactPhones();
                newContactPhone.CompanyContactPhoneId = ReadProperty(CompanyContactPhoneIdProperty);
                newContactPhone.EntityKey             = new System.Data.EntityKey("RolodexEntities.CompanyContactPhones", "CompanyContactPhoneId", ReadProperty(CompanyContactPhoneIdProperty));
                manager.ObjectContext.Attach(newContactPhone);
                entityContact.CompanyContactPhones.Attach(newContactPhone);

                newContactPhone.FaxNumber   = ReadProperty(FaxNumberProperty);
                newContactPhone.PhoneNumber = ReadProperty(PhoneNumberProperty);
            }
        }
示例#26
0
文件: Ranks.cs 项目: zuiwanting/csla
 private void DataPortal_Fetch()
 {
     using (ObjectContextManager <RolodexEntities> manager = ObjectContextManager <RolodexEF.RolodexEntities> .GetManager(DataConnection.EFConnectionName, true))
     {
         RaiseListChangedEvents = false;
         IsReadOnly             = false;
         foreach (var item in manager.ObjectContext.Ranks)
         {
             Add(new Ranks.NameValuePair(item.RankId, item.Rank));
         }
         IsReadOnly             = true;
         RaiseListChangedEvents = true;
     }
 }
示例#27
0
 public void Delete(int id)
 {
     using (var ctx = ObjectContextManager <PTrackerEntities> .GetManager("PTrackerEntities"))
     {
         var data = (from r in ctx.ObjectContext.Roles
                     where r.Id == id
                     select r).FirstOrDefault();
         if (data != null)
         {
             ctx.ObjectContext.Roles.DeleteObject(data);
             ctx.ObjectContext.SaveChanges();
         }
     }
 }
示例#28
0
 public void Insert(RoleDto item)
 {
     using (var ctx = ObjectContextManager <PTrackerEntities> .GetManager("PTrackerEntities"))
     {
         var newItem = new Role
         {
             Name = item.Name
         };
         ctx.ObjectContext.AddToRoles(newItem);
         ctx.ObjectContext.SaveChanges();
         item.Id          = newItem.Id;
         item.LastChanged = newItem.LastChanged;
     }
 }
示例#29
0
文件: Rank.cs 项目: zuiwanting/csla
 protected override void DataPortal_DeleteSelf()
 {
     if (!this.IsNew)
     {
         using (ObjectContextManager <RolodexEntities> manager = ObjectContextManager <RolodexEF.RolodexEntities> .GetManager(DataConnection.EFConnectionName, true))
         {
             RolodexEF.Ranks deleted = new RolodexEF.Ranks();
             deleted.RankId    = ReadProperty(RankIdProperty);
             deleted.EntityKey = new System.Data.EntityKey("RolodexEntities.Ranks", "RankId", deleted.RankId);
             manager.ObjectContext.Attach(deleted);
             manager.ObjectContext.DeleteObject(deleted);
             manager.ObjectContext.SaveChanges();
         }
     }
 }
 private void Child_DeleteSelf(CompanyContact companyContact, CompanyContacts entityContact)
 {
     if (!this.IsNew)
     {
         using (ObjectContextManager <RolodexEntities> manager = ObjectContextManager <RolodexEF.RolodexEntities> .GetManager(DataConnection.EFConnectionName, true))
         {
             CompanyContactPhones deleted = new CompanyContactPhones();
             deleted.CompanyContactPhoneId = ReadProperty(CompanyContactPhoneIdProperty);
             deleted.EntityKey             = new System.Data.EntityKey("RolodexEntities.CompanyContactPhones", "CompanyContactPhoneId", deleted.CompanyContactPhoneId);
             manager.ObjectContext.Attach(deleted);
             entityContact.CompanyContactPhones.Attach(deleted);
             manager.ObjectContext.DeleteObject(deleted);
         }
     }
 }
示例#31
0
 /// <summary>
 /// Instantiates a new ObjectContextManager
 /// </summary>
 private static void InstantiateObjectContextManager()
 {
     //create ASP.NET now
     ObjectContextManager = new AspNetObjectContextManager<NopObjectContext>();
 }
示例#32
0
 private static void InstantiateTopUObjectContextManger()
 {
     TopUObjectContextManager = new AspNetObjectContextManager<EMDB>();
 }