コード例 #1
0
        internal BusinessObjectActionReport <DataRepositoryActionStatus> Update(CMSGroup cmsGroup)
        {
            BusinessObjectActionReport <DataRepositoryActionStatus> businessObjectActionReport = new BusinessObjectActionReport <DataRepositoryActionStatus>(DataRepositoryActionStatus.Success);

            businessObjectActionReport.ValidationResult = BusinessObjectManager.Validate(cmsGroup);
            if (businessObjectActionReport.ValidationResult.IsValid)
            {
                try
                {
                    using (IDataStoreContext dataStoreContext = this._DataStore.CreateContext())
                        businessObjectActionReport.Status = (DataRepositoryActionStatus)dataStoreContext.cms_Groups_InsertOrUpdate(cmsGroup.CMSGroupId, cmsGroup.Name, cmsGroup.Description, cmsGroup.CMSGroupType);

                    return(businessObjectActionReport);
                }
                catch (Exception ex)
                {
                    _Log.Error("Error at cms_Groups_InsertOrUpdate", ex);
                    throw new DataStoreException(ex, true);
                }
            }
            else
            {
                businessObjectActionReport.Status = DataRepositoryActionStatus.ValidationFailed;
                _Log.WarnFormat("CMSGroup {0} was not updated at the database because the validation failed.\nReport: {1}"
                                , DebugUtility.GetObjectString(cmsGroup)
                                , businessObjectActionReport.ValidationResult.ToString(TextFormat.ASCII));
            }
            return(businessObjectActionReport);
        }
コード例 #2
0
        internal BusinessObjectActionReport <DataRepositoryActionStatus> Delete(CMSGroup cmsGroup)
        {
            BusinessObjectActionReport <DataRepositoryActionStatus> businessObjectActionReport = new BusinessObjectActionReport <DataRepositoryActionStatus>(DataRepositoryActionStatus.Success);

            businessObjectActionReport.ValidationResult = BusinessObjectManager.Validate(cmsGroup);
            if (businessObjectActionReport.ValidationResult.IsValid)
            {
                int num = 0;
                try
                {
                    using (IDataStoreContext dataStoreContext = this._DataStore.CreateContext())
                        num = dataStoreContext.cms_Groups_Delete(cmsGroup.CMSGroupId);
                }
                catch (Exception ex)
                {
                    _Log.Error("Error at cms_Groups_Delete", ex);
                    throw new DataStoreException(ex, true);
                }
                if (num == 0)
                {
                    businessObjectActionReport.Status = DataRepositoryActionStatus.SqlError;
                    _Log.WarnFormat("CMSGroup {0} was not deleted from the database (ErrorCode: {1})."
                                    , DebugUtility.GetObjectString(cmsGroup)
                                    , num);
                }
            }
            else
            {
                businessObjectActionReport.Status = DataRepositoryActionStatus.ValidationFailed;
                _Log.WarnFormat("CMSGroup {0} was not deleted from the database because the validation failed.\nReport: {1}"
                                , DebugUtility.GetObjectString(cmsGroup)
                                , businessObjectActionReport.ValidationResult.ToString(TextFormat.ASCII));
            }
            return(businessObjectActionReport);
        }
コード例 #3
0
        public ContentPlaceholderGroup GetContentPlaceholderGroup(int groupId)
        {
            CMSGroup group = _CMSGroupManager.GetGroup(groupId);

            if (group != null)
            {
                return(new ContentPlaceholderGroup(group));
            }
            return(null);
        }
コード例 #4
0
        internal static void Delete(IDataStore dataStore, CMSGroup group)
        {
            CMSGroupManager manager = new CMSGroupManager(dataStore);

            BusinessObjectActionReport <DataRepositoryActionStatus> report = manager.Delete(group);

            Assert.AreEqual(DataRepositoryActionStatus.Success, report.Status);
            Assert.IsNull(manager.GetGroup(group.CMSGroupId));

            Trace.WriteLine("Successfully deleted group " + group.Name);
        }
コード例 #5
0
        internal CMSGroup Create(IDataStore dataStore, Random random)
        {
            CMSGroupManager manager = new CMSGroupManager(dataStore);

            int groupId = random.Next(int.MinValue + 1, -100000);

            CMSGroup group = new CMSGroup(groupId, "TestGroup " + random.Next(1000000, 10000000), "Description " + random.Next(1000000, 10000000), DebugUtility.GetRandomEnum <CMSGroupType>(random));

            BusinessObjectActionReport <DataRepositoryActionStatus> report = manager.Create(group);

            Assert.AreEqual(DataRepositoryActionStatus.Success, report.Status);

            CMSGroup dsGroup = manager.GetGroup(groupId);

            Assert.IsNotNull(dsGroup);

            return(dsGroup);
        }
コード例 #6
0
        public void Test_CreateUpdateDeleteGroup()
        {
            CMSGroupManager manager = new CMSGroupManager(this.DataStore);
            CMSGroup        record  = Create(this.DataStore, this.Random);

            CMSGroup recordToCompare;

            for (int i = 0; i < this.DefaultUpdateTestIterations; i++)
            {
                PopulateWithRandomValues(record, this.DummyDataManager, this.Random);
                recordToCompare = record;

                manager.Update(record);
                record = manager.GetGroup(record.CMSGroupId);

                string errors = string.Empty;
                // TODO (Roman): relax datetime comparisons
                Assert.IsTrue(DebugUtility.ArePropertyValuesEqual(record, recordToCompare, out errors), errors);
                Trace.WriteLine("Update test successfull.");
            }

            Delete(this.DataStore, record);
        }
コード例 #7
0
 internal ContentPlaceholderGroup(CMSGroup cmsGroup)
 {
     this._CMSGroup = cmsGroup;
 }
コード例 #8
0
 public ContentPlaceholderGroup(int groupId, string name)
 {
     this._CMSGroup = new CMSGroup(groupId, name, CMSGroupType.Content);
 }
コード例 #9
0
 internal static void PopulateWithRandomValues(CMSGroup record, DummyDataManager dtm, Random random)
 {
     record.Name         = "TestGroup " + random.Next(1000000, 10000000);
     record.Description  = "Description " + random.Next(1000000, 10000000);
     record.CMSGroupType = DebugUtility.GetRandomEnum <CMSGroupType>(random);
 }
コード例 #10
0
        internal static CMSSection Create(IDataStore dataStore, IApplicationSettings applicationSettings, IApplication application, CMSGroup group, Random random)
        {
            CMSSectionManager manager = new CMSSectionManager(dataStore);

            CMSSectionType sectionType = DebugUtility.GetRandomEnum <CMSSectionType>(random);

            CMSSection section = new CMSSection(
                application.ApplicationId
                , "TestSection " + random.Next(1000000, 10000000)
                , true
                , false
                , sectionType);

            if (group != null)
            {
                section.CMSGroupId = group.CMSGroupId;
            }

            BusinessObjectActionReport <DataRepositoryActionStatus> report = manager.Create(section);

            Assert.AreEqual(DataRepositoryActionStatus.Success, report.Status);
            Assert.Greater(section.CMSSectionId, 0);

            CMSSection dsSection = manager.GetSection(sectionType, section.CMSSectionId);

            Assert.IsNotNull(dsSection);
            if (group != null)
            {
                Assert.AreEqual(section.CMSGroupId, group.CMSGroupId);
            }

            return(dsSection);
        }