Esempio n. 1
0
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnQuery_Click(object sender, EventArgs e)
        {
            queryHistoryFlag.Value = "";
            DbConnectionMappingContext.ClearAllMappings();

            ExecQuery();
        }
        private void UpdateInfo(string materialId, string url, string connectionName, string rootPath)
        {
            materialId.CheckStringIsNullOrEmpty("materialId");
            url.CheckStringIsNullOrEmpty("url");
            connectionName.CheckStringIsNullOrEmpty("connectionName");

            var material  = MaterialHelper.LoadMaterial(materialId, connectionName);
            var extraData = material.ExtraDataDictionary;

            if (extraData.ContainsKey(SyncMaterialFileToDocCenterOperation.ShowFileUrlKey))
            {
                extraData[SyncMaterialFileToDocCenterOperation.ShowFileUrlKey] = url;
            }
            else
            {
                extraData.Add(SyncMaterialFileToDocCenterOperation.ShowFileUrlKey, url);
            }

            var deltaMaterialList = new DeltaMaterialList();

            deltaMaterialList.RootPathName = rootPath;
            deltaMaterialList.Updated.Add(material);

            DbConnectionMappingContext.DoMappingAction(
                MaterialAdapter.Instance.GetConnectionName(),
                connectionName,
                () =>
            {
                MaterialAdapter.Instance.SaveDeltaMaterials(deltaMaterialList, false);
            });
        }
        public virtual void DoModifyFileOperations(string rootPath, MaterialFileOeprationInfo fileOperation, MaterialContent content)
        {
            var task = new InvokeServiceTask()
            {
                TaskID    = UuidHelper.NewUuidString(),
                TaskTitle = string.Format(this.taskTitleTemplate, fileOperation.Material.OriginalName, fileOperation.Material.ID),
            };

            var parameters = new WfServiceOperationParameterCollection
            {
                new WfServiceOperationParameter("rootPath", rootPath),
                new WfServiceOperationParameter("fileOperation", fileOperation.Operation.ToString()),
                new WfServiceOperationParameter("materialConnectionName",
                                                DbConnectionMappingContext.GetMappedConnectionName(MaterialAdapter.Instance.GetConnectionName())),
                new WfServiceOperationParameter("contentConnectionName",
                                                DbConnectionMappingContext.GetMappedConnectionName(MaterialContentAdapter.Instance.ConnectionName)),
                new WfServiceOperationParameter("materialId", fileOperation.Material.ID),
                new WfServiceOperationParameter("url", fileOperation.Material.ShowFileUrl)
            };


            task.SvcOperationDefs.Add(new WfServiceOperationDefinition(
                                          new WfServiceAddressDefinition(WfServiceRequestMethod.Post, null, ResourceUriSettings.GetConfig().Paths[this.resourceUri].Uri.ToString()),
                                          "DoFileToDocService", parameters, "ReturnValue")
                                      );

            DbConnectionMappingContext.DoMappingAction(
                DbConnectionMappingContext.GetMappedConnectionName(InvokeServiceTaskAdapter.Instance.ConnectionName),
                InvokeServiceTaskAdapter.Instance.ConnectionName,
                () =>
            {
                InvokeServiceTaskAdapter.Instance.Update(task);
            });
        }
Esempio n. 4
0
        public void MaterialCloneAndPersistTest()
        {
            Material source = PrepareSourceMaterial();
            Material dest   = source.Clone();

            MaterialList list = new MaterialList();

            list.Add(dest);

            DbConnectionMappingContext.DoMappingAction(
                MaterialAdapter.Instance.GetConnectionName(), "SubjectDB",
                () =>
            {
                TransactionScopeFactory.DoAction(() =>
                {
                    MaterialAdapter.Instance.InsertWithContent(list);

                    MaterialList loadedList = MaterialAdapter.Instance.LoadMaterialByMaterialID(dest.ID);

                    Assert.IsTrue(loadedList.Count > 0);

                    loadedList[0].EnsureMaterialContent();
                    ValidateMaterial(source, loadedList[0]);
                });
            });
        }
Esempio n. 5
0
 private static void InitConnectionMappings(Dictionary <string, string> connectionMappings)
 {
     foreach (KeyValuePair <string, string> kp in connectionMappings)
     {
         DbConnectionMappingContext.CreateMapping(kp.Key, kp.Value);
     }
 }
Esempio n. 6
0
 private void InitConnectionMappings()
 {
     foreach (KeyValuePair <string, string> kp in this.RequestMessage.ConnectionMappings)
     {
         DbConnectionMappingContext.CreateMapping(kp.Key, kp.Value);
     }
 }
Esempio n. 7
0
 public void SimpleConnectionMapping()
 {
     DbConnectionMappingContext.DoMappingAction("HB2008", "HB2008Test", () =>
     {
         Assert.AreEqual("HB2008Test", DbConnectionMappingContext.GetMappedConnectionName("HB2008"));
     });
 }
Esempio n. 8
0
        public void SimpleConnectionMappingTest()
        {
            DbConnectionMappingContext.DoMappingAction("HB2008", "HB2009", () =>
            {
                Assert.AreEqual("HB2009", DbConnectionMappingContextCache.Instance["HB2008"].DestinationConnectionName);
            });

            Assert.IsFalse(DbConnectionMappingContextCache.Instance.ContainsKey("HB2008"));
        }
Esempio n. 9
0
        public static void DoDbAction(Action method)
        {
            DbConnectionMappingContext.DoMappingAction(MCS.Library.SOA.DataObjects.Security.Adapters.SCConnectionDefine.DBConnectionName, GetMappedName(AUCommon.DBConnectionName), () =>
            {
                method();
            });

            return;
        }
Esempio n. 10
0
        protected void btnQueryHistory_Click(object sender, EventArgs e)
        {
            DbConnectionMappingContext.ClearAllMappings();
            ArchiveSettings.GetConfig().ConnectionMappings.CreateConnectionMappingContexts();

            queryHistoryFlag.Value = "QueryHistory";

            ExecQuery();
        }
Esempio n. 11
0
        public static R DoDbProcess <R>(Func <R> method)
        {
            R result = default(R);

            DbConnectionMappingContext.DoMappingAction(PC.Adapters.SCConnectionDefine.DBConnectionName, GetMappedName(AUCommon.DBConnectionName), () =>
            {
                result = method();
            });

            return(result);
        }
Esempio n. 12
0
        public void CascadeConnectionMapping()
        {
            DbConnectionMappingContext.DoMappingAction("HB2008", "HB2008Test", () =>
            {
                DbConnectionMappingContext.DoMappingAction("PermissionCenter", "HB2008", () =>
                {
                    Assert.AreEqual("HB2008Test", DbConnectionMappingContext.GetMappedConnectionName("PermissionCenter"));
                });

                Assert.AreEqual("HB2008Test", DbConnectionMappingContext.GetMappedConnectionName("HB2008"));
            });
        }
Esempio n. 13
0
        public ArchiveConnectionMappingContextCollection CreateConnectionMappingContexts()
        {
            ArchiveConnectionMappingContextCollection result = new ArchiveConnectionMappingContextCollection();

            foreach (ArchiveConnectionMappingElement elem in this)
            {
                DbConnectionMappingContext context = DbConnectionMappingContext.CreateMapping(elem.SourceConnection, elem.DestinationConnection);

                result.Add(context);
            }

            return(result);
        }
Esempio n. 14
0
        public void RestoreNestedConnectionMapping()
        {
            DbConnectionMappingContext.DoMappingAction("HB2008", "HB2008Test", () =>
            {
                Assert.AreEqual("HB2008Test", DbConnectionMappingContext.GetMappedConnectionName("HB2008"));

                DbConnectionMappingContext.DoMappingAction("HB2008", "HB2008Archive", () =>
                {
                    Assert.AreEqual("HB2008Archive", DbConnectionMappingContext.GetMappedConnectionName("HB2008"));
                });

                Assert.AreEqual("HB2008Test", DbConnectionMappingContext.GetMappedConnectionName("HB2008"));
            });
        }
Esempio n. 15
0
        public static MaterialContent LoadMaterialContent(string materialId, string connectionName)
        {
            materialId.CheckStringIsNullOrEmpty("materialId");
            connectionName.CheckStringIsNullOrEmpty("connectionName");

            MaterialContent result = null;

            DbConnectionMappingContext.DoMappingAction(
                MaterialContentAdapter.Instance.ConnectionName,
                connectionName,
                () =>
            {
                result = MaterialContentAdapter.Instance.Load(p => p.AppendItem("CONTENT_ID", materialId)).FirstOrDefault();
            });

            return(result);
        }
Esempio n. 16
0
        public static Material LoadMaterial(string materialId, string connectionName)
        {
            materialId.CheckStringIsNullOrEmpty("materialId");
            connectionName.CheckStringIsNullOrEmpty("connectionName");

            Material result = null;

            DbConnectionMappingContext.DoMappingAction(
                MaterialContentAdapter.Instance.ConnectionName,
                connectionName,
                () =>
            {
                result = MaterialAdapter.Instance.LoadMaterialByMaterialID(materialId).FirstOrDefault();
            });

            return(result);
        }
        public void Archive(ArchiveBasicInfo info)
        {
            LoadOriginalData(info);

            using (DbConnectionMappingContext context =
                       DbConnectionMappingContext.CreateMapping(ConnectionDefine.DBConnectionName, "Archive"))
            {
                using (TransactionScope scope = TransactionScopeFactory.Create())
                {
                    SaveArchiveData(info);
                    scope.Complete();
                }
            }

            if (ArchiveSettings.GetConfig().DeleteOriginalData)
            {
                InnerDelete(info);
            }
        }
Esempio n. 18
0
        private object BuildWhere()
        {
            DbConnectionMappingContext.ClearAllMappings();

            FormQueryCondition queryCondition = new FormQueryCondition()
            {
                Subject               = this.Request.QueryString["sfSubject"],
                CreateTimeBegin       = GetRequestData <DateTime>("sfStart", DateTime.MinValue),
                CreateTimeEnd         = GetRequestData <DateTime>("sfEnd", DateTime.MinValue),
                DraftDepartmentName   = this.Request.QueryString["sfDept"] ?? string.Empty,
                CurrentUsersName      = this.Request.QueryString["sfApplicant"] ?? string.Empty,
                ApplicationName       = this.Request.QueryString[sfAppName.ClientID],
                ProgramName_SinoOcean = this.Request.QueryString[sfProgramName.ClientID]
            };

            WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(queryCondition,
                                                                                      new AdjustConditionValueDelegate(AdjustQueryConditionValue));

            //申请部门
            if (string.IsNullOrEmpty(queryCondition.DraftDepartmentName) == false)
            {
                builder.AppendItem("CONTAINS(DRAFT_DEPARTMENT_NAME," + GetFullTextParameter(queryCondition.DraftDepartmentName) + ")", "", "", true);
            }

            var allConditions = new ConnectiveSqlClauseCollection(builder);

            //if (MostSupervisor == false || NormalSupervisior == false)
            //{
            //    //检查是否具有分类授权
            //    WfApplicationAuthCollection authInfo = WfApplicationAuthAdapter.Instance.GetUserApplicationAuthInfo(DeluxeIdentity.Current.User);
            //    var builder2 = authInfo.GetApplicationAndProgramBuilder("APPLICATION_NAME", "PROGRAM_NAME");
            //    allConditions.Add(builder2);
            //}

            string whereCondition = allConditions.ToSqlString(TSqlBuilder.Instance);

            return(whereCondition);
        }