private void GetAndSetUserName(InsertSqlClauseBuilder uIC, DataRow oRow) { string strObjName = (string)oRow[_DataColumns[ContainsValue(0, "OBJ_NAME")][2]]; string strFirstName, strLastName; if (ContainsValue(0, "FIRST_NAME") >= 0) { strFirstName = (string)oRow[_DataColumns[ContainsValue(0, "FIRST_NAME")][2]]; } else { if (strObjName.Length == 2) { strFirstName = strObjName.Substring(1, 1); } else { strFirstName = strObjName.Substring(strObjName.Length - 2, 2); } } uIC.AppendItem("FIRST_NAME", strFirstName); if (ContainsValue(0, "LAST_NAME") >= 0) { strLastName = (string)oRow[_DataColumns[ContainsValue(0, "LAST_NAME")][2]]; } else { strLastName = strObjName.Substring(0, strObjName.LastIndexOf(strFirstName)); } uIC.AppendItem("LAST_NAME", strLastName); }
/// <summary> /// 创建现在SQL语句生成器 /// </summary> /// <param name="obj"></param> /// <param name="mapping"></param> /// <returns></returns> protected virtual InsertSqlClauseBuilder PrepareInsertSqlBuilder(DEEntityInstanceBase obj) { InsertSqlClauseBuilder builder = new InsertSqlClauseBuilder(); foreach (var filed in obj.Fields) { if (filed.Definition.IsInSnapshot) { builder.AppendItem(filed.Definition.Name, filed.GetRealValue()); } } if (!builder.ContainsDataField("ID")) { builder.AppendItem("ID", obj.ID); } if (!builder.ContainsDataField("CreateTime")) { builder.AppendItem("CreateTime", obj.CreateDate); } if (!builder.ContainsDataField("CreatorID")) { builder.AppendItem("CreatorID", obj.Creator.ID); } if (!builder.ContainsDataField("CreatorName")) { builder.AppendItem("CreatorName", obj.Creator.Name); } return(builder); }
private static string BuildRowsUsersSql(WfMatrixRowUsersCollection rowsUsers) { StringBuilder strB = new StringBuilder(); foreach (WfMatrixRowUsers rowUsers in rowsUsers) { foreach (IUser user in rowUsers.Users) { InsertSqlClauseBuilder builder = new InsertSqlClauseBuilder(); builder.AppendItem("MATRIX_ID", rowUsers.Row.Matrix.MatrixID); builder.AppendItem("MATRIX_ROW_ID", rowUsers.Row.RowNumber); builder.AppendItem("USER_ID", user.ID); builder.AppendItem("USER_NAME", user.DisplayName); builder.AppendTenantCode(); if (strB.Length > 0) { strB.Append(TSqlBuilder.Instance.DBStatementSeperator); } strB.AppendFormat("INSERT INTO WF.MATRIX_ROWS_USERS {0}", builder.ToSqlString(TSqlBuilder.Instance)); } } return(strB.ToString()); }
private void InsertOrgOrGroups(DataRow oRow, string strObjClass) { string strParent, strSelfAllPathName, strRootGuid, strInnerSort; DataRow row = PrepareForInsert(oRow, out strParent, out strSelfAllPathName, out strRootGuid, out strInnerSort); string strGuid = Guid.NewGuid().ToString(); InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); ic.AppendItem("GUID", strGuid); ic.AppendItem("PARENT_GUID", strRootGuid); for (int i = 2; i < oRow.Table.Columns.Count; i++) { string strRealColumnName = _DataColumns[ContainsValue(2, oRow.Table.Columns[i].ColumnName)][0]; if (strRealColumnName == "NAME" && strObjClass == "ORGANIZATIONS") { ic.AppendItem("RANK_CODE", GetRankCode(strObjClass, (string)oRow[i])); } else { if (strRealColumnName == "GUID" || strRealColumnName.IndexOf("GUID") >= 0) { continue; } else { if (CheckXsdExist(strRealColumnName, strObjClass)) { ic.AppendItem(strRealColumnName, oRow[i]); } } } } if (ContainsValue(0, "NAME") < 0 && strObjClass == "ORGANIZATIONS") { ic.AppendItem("RANK_CODE", GetRankCode(strObjClass, string.Empty)); } if (ContainsValue(0, "ALL_PATH_NAME") < 0) { ic.AppendItem("ALL_PATH_NAME", strSelfAllPathName); } ic.AppendItem("INNER_SORT", strInnerSort); ic.AppendItem("GLOBAL_SORT", OGUCommonDefine.DBValueToString(row["GLOBAL_SORT"]) + strInnerSort); ic.AppendItem("ORIGINAL_SORT", OGUCommonDefine.DBValueToString(row["ORIGINAL_SORT"]) + strInnerSort); ic.AppendItem("STATUS", "1"); string strSql = "INSERT INTO " + strObjClass + ic.ToSqlString(TSqlBuilder.Instance) + ";\n"; _StrBuild.Append(strSql); InnerCommon.ExecuteDataset(strSql); if (strObjClass == "ORGANIZATIONS") { _RootHash.Add(strSelfAllPathName, strGuid); } }
private static string GetInsertConditionCalculateResultSql(string ownerID, string objectID) { InsertSqlClauseBuilder insertBuilder = new InsertSqlClauseBuilder(); insertBuilder.AppendItem("OwnerID", ownerID); insertBuilder.AppendItem("ObjectID", objectID); return(string.Format("INSERT INTO SC.ConditionCalculateResults{0}", insertBuilder.ToSqlString(TSqlBuilder.Instance))); }
private static string PrepareInsertSql(UserAndContainerSnapshot obj, ORMappingItemCollection mapping) { InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(obj); builder.AppendItem("VersionStartTime", "@currentTime", "=", true); builder.AppendItem("VersionEndTime", SCConnectionDefine.MaxVersionEndTime); return(string.Format("INSERT INTO {0}{1}", mapping.TableName, builder.ToSqlString(TSqlBuilder.Instance))); }
private static string PrepareUserInsert(string userID, string userName, string gender) { InsertSqlClauseBuilder builder = new InsertSqlClauseBuilder(); builder.AppendItem("UserID", userID); builder.AppendItem("UserName", userName); builder.AppendItem("Gender", gender); return(string.Format("INSERT INTO Users{0}", builder.ToSqlString(TSqlBuilder.Instance))); }
private static string PrepareValueSql(string roleID, SOARolePropertyRow row, SOARolePropertyValue propValue) { InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(propValue); builder.AppendItem("ROLE_ID", roleID); builder.AppendItem("PROPERTIES_ROW_ID", row.RowNumber); builder.AppendItem("PROPERTY_NAME", propValue.Column.Name); return("INSERT INTO WF.ROLE_PROPERTIES_CELLS" + builder.ToSqlString(TSqlBuilder.Instance)); }
protected override string GetInsertSql(WfDelegation data, ORMappingItemCollection mappings, Dictionary <string, object> context, string[] ignoreProperties) { InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(data, mappings, "ApplicationName", "ProgramName"); builder.AppendItem("APPLICATION_NAME", data.ApplicationName.IsNotEmpty() ? data.ApplicationName : string.Empty); builder.AppendItem("PROGRAM_NAME", data.ProgramName.IsNotEmpty() ? data.ProgramName : string.Empty); return(string.Format("INSERT INTO {0} {1}", mappings.TableName, builder.ToSqlString(TSqlBuilder.Instance))); }
private static void WriteInsertAttachmentSql(TextWriter writer, EmailAttachment attachment, string messageID, int index) { InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(attachment); builder.AppendItem("MESSAGE_ID", messageID); builder.AppendItem("SORT_ID", index); string sql = string.Format("INSERT INTO MSG.EMAIL_ATTACHMENTS{0}", builder.ToSqlString(TSqlBuilder.Instance)); writer.WriteLine(sql); }
private static void WriteInsertAddressSql(TextWriter writer, EmailAddress address, string messageID, string className, int index) { if (address != null) { InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(address); builder.AppendItem("MESSAGE_ID", messageID); builder.AppendItem("SORT_ID", index); builder.AppendItem("CLASS", className); string sql = string.Format("INSERT INTO MSG.EMAIL_ADDRESSES{0}", builder.ToSqlString(TSqlBuilder.Instance)); writer.WriteLine(sql); } }
private static string BuildInsertCellSql(string wfMatrixID, WfMatrixRow row, WfMatrixCell cell) { StringBuilder result = new StringBuilder(); InsertSqlClauseBuilder insertBuilder = new InsertSqlClauseBuilder(); insertBuilder.AppendItem(DB_FIELD_MATRIX_ID, wfMatrixID); insertBuilder.AppendItem(DB_FIELD_MATRIX_ROW_ID, row.RowNumber); insertBuilder.AppendItem(DB_FIELD_DIMENSION_KEY, cell.Definition.DimensionKey); insertBuilder.AppendItem(DB_FIELD_STRING_VALUE, cell.StringValue); insertBuilder.AppendTenantCode(); result.Append(INSERT_MC_SQL_CLAUSE_PREFIX); result.Append(insertBuilder.ToSqlString(TSqlBuilder.Instance)); result.Append(TSqlBuilder.Instance.DBStatementSeperator); return(result.ToString()); }
private static string BuildInsertRowSql(string wfMatrixID, WfMatrixRow row) { StringBuilder result = new StringBuilder(); InsertSqlClauseBuilder insertBuilder = new InsertSqlClauseBuilder(); insertBuilder.AppendItem(DB_FIELD_MATRIX_ID, wfMatrixID); insertBuilder.AppendItem(DB_FIELD_MATRIX_ROW_ID, row.RowNumber); insertBuilder.AppendItem(DB_FIELD_OPERATOR_TYPE, (int)row.OperatorType); insertBuilder.AppendItem(DB_FIELD_OPERATOR, row.Operator); insertBuilder.AppendTenantCode(); result.Append(INSERT_MR_SQL_CLAUSE_PREFIX); result.Append(insertBuilder.ToSqlString(TSqlBuilder.Instance)); result.Append(TSqlBuilder.Instance.DBStatementSeperator); return(result.ToString()); }
private static string PrepareRowSql(string roleID, SOARolePropertyRow row) { InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(row); builder.AppendItem("ROLE_ID", roleID); return("INSERT INTO WF.ROLE_PROPERTIES_ROWS" + builder.ToSqlString(TSqlBuilder.Instance)); }
private static string PrepareInsertPropertyDefineSql(SchemaDefine data, SchemaPropertyDefine pd) { InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(pd); builder.AppendItem("SchemaName", data.Name); return(string.Format("INSERT INTO {0}{1}", ORMapping.GetMappingInfo(pd.GetType()).TableName, builder.ToSqlString(TSqlBuilder.Instance))); }
public override void AddOperation() { //添加用户表 DataView users = new DataView(this.Context.OriginalData.Tables["USERS"], string.Empty, "GUID", DataViewRowState.Added); Database db = DatabaseFactory.Create(this.Context.InitialParams.AccreditAdminConnectionName); foreach (DataRowView drs in users) { InsertSqlClauseBuilder builder = new InsertSqlClauseBuilder(); builder.AppendItem("GUID", drs["GUID"].ToString()); builder.AppendItem("FIRST_NAME", drs["FIRST_NAME"].ToString()); builder.AppendItem("LAST_NAME", drs["LAST_NAME"].ToString()); builder.AppendItem("LOGON_NAME", drs["LOGON_NAME"].ToString()); builder.AppendItem("PWD_TYPE_GUID", drs["PWD_TYPE_GUID"].ToString()); builder.AppendItem("USER_PWD", drs["USER_PWD"].ToString()); builder.AppendItem("RANK_CODE", drs["RANK_CODE"].ToString()); builder.AppendItem("POSTURAL", drs["POSTURAL"].ToString()); builder.AppendItem("PINYIN", drs["PINYIN"].ToString()); builder.AppendItem("E_MAIL", drs["E_MAIL"].ToString()); string sql = string.Format("INSERT INTO USERS {0}", builder.ToSqlString(TSqlBuilder.Instance)); try { int count = db.ExecuteNonQuery(CommandType.Text, sql); if (count == 1) { this.AddCount++; //this.Context.InitialParams.Log.Write(string.Format("USERS表GUID是{0}的记录添加成功", // drs["GUID"].ToString())); } } catch (Exception ex) { this.Context.InitialParams.Log.Write(string.Format("USERS表GUID 是{0},LogonName是{1}的记录执行插入时出错,错误是{2}", drs["GUID"].ToString(), drs["LOGON_NAME"].ToString(), ex.Message)); } } }
protected override void AfterInnerUpdate(JobBase data, Dictionary <string, object> context) { //更新任务-计划映射表JOB_SCHEDULES StringBuilder insertClause = new StringBuilder(); insertClause.Append(GetJobSchedulesDeleteClause(data.JobID)); insertClause.Append(TSqlBuilder.Instance.DBStatementSeperator); foreach (var schedule in data.Schedules) { InsertSqlClauseBuilder insertBuilder = new InsertSqlClauseBuilder(); insertBuilder.AppendItem("JOB_ID", data.JobID); insertBuilder.AppendItem("SCHEDULE_ID", schedule.ID); insertClause.Append(INSERT_JOB_SCHEDULES_SQL_CLAUSE + insertBuilder.ToSqlString(TSqlBuilder.Instance)); insertClause.Append(TSqlBuilder.Instance.DBStatementSeperator); } DbHelper.RunSql(insertClause.ToString(), GetConnectionName()); }
private static void WriteEmailMessageBodySql(TextWriter writer, EmailMessage message, string tableName, bool generateSentTime) { ORMappingItemCollection mappingInfo = GetMappingInfo(); InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(message, mappingInfo); builder.AppendItem("BODY_ENCODING", message.BodyEncoding.ToDescription()); builder.AppendItem("HEADERS_ENCODING", message.HeadersEncoding.ToDescription()); builder.AppendItem("SUBJECT_ENCODING", message.SubjectEncoding.ToDescription()); if (generateSentTime) { builder.AppendItem("SENT_TIME", "GETDATE()", "=", true); builder.AppendItem("SORT_ID", message.SortID); } string sql = string.Format("INSERT INTO {0}{1}", tableName, builder.ToSqlString(TSqlBuilder.Instance)); writer.WriteLine(sql); }
/// <summary> /// 保持ITicket信息 /// </summary> /// <param name="ticket">ITicket信息</param> /// <param name="signInUrl">登录Url</param> /// <param name="logOffCBUrl">注销的Url</param> /// <remarks> /// <code source="..\Framework\TestProjects\DeluxeWorks.Library.Passport.Test\DataObjectsTest.cs" region="TicketPersistTest" lang="cs" title="保存Ticket对象" /> /// </remarks> public void SaveTicket(ITicket ticket, Uri signInUrl, Uri logOffCBUrl) { ORMappingItemCollection mapping = LoadMappingFromResource("MCS.Library.Passport.DataObjects.TicketInfoMapping.xml", typeof(ITicket)); WhereSqlClauseBuilder whereBuilder = ORMapping.GetWhereSqlClauseBuilderByPrimaryKey(ticket, mapping); whereBuilder.AppendItem("SIGNIN_ID", ticket.SignInInfo.SignInSessionID); UpdateSqlClauseBuilder updateBuilder = ORMapping.GetUpdateSqlClauseBuilder(ticket, mapping); updateBuilder.AppendItem("APP_SIGNIN_URL", signInUrl.ToString()); updateBuilder.AppendItem("APP_LOGOFF_URL", logOffCBUrl.ToString()); string sql = string.Format("UPDATE PASSPORT_TICKET SET {0} WHERE {1}", updateBuilder.ToSqlString(TSqlBuilder.Instance), whereBuilder.ToSqlString(TSqlBuilder.Instance)); using (TransactionScope scope = TransactionScopeFactory.Create()) { using (DbContext context = DbContext.GetContext(DataAdapter.DBConnectionName)) { Database db = DatabaseFactory.Create(DataAdapter.DBConnectionName); if (db.ExecuteNonQuery(CommandType.Text, sql) == 0) { InsertSqlClauseBuilder insertBuilder = ORMapping.GetInsertSqlClauseBuilder(ticket, mapping); insertBuilder.AppendItem("SIGNIN_ID", ticket.SignInInfo.SignInSessionID); insertBuilder.AppendItem("APP_SIGNIN_URL", signInUrl.ToString()); insertBuilder.AppendItem("APP_LOGOFF_URL", logOffCBUrl.ToString()); sql = string.Format("INSERT INTO PASSPORT_TICKET {0}", insertBuilder.ToSqlString(TSqlBuilder.Instance)); db.ExecuteNonQuery(CommandType.Text, sql); } } scope.Complete(); } }
public void MoveQueueItemToArchived(WfPersistQueue pq) { pq.NullCheck("pq"); ORMappingItemCollection mappingInfo = ORMapping.GetMappingInfo(typeof(WfPersistQueue)); InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(pq, mappingInfo); builder.AppendItem("SORT_ID", pq.SortID); builder.AppendItem("PROCESS_TIME", "GETUTCDATE()", "=", true); StringBuilder sql = new StringBuilder(); sql.AppendFormat("DELETE {0} WHERE SORT_ID = {1}", "WF.PERSIST_QUEUE_ARCHIEVED", pq.SortID); sql.Append(TSqlBuilder.Instance.DBStatementSeperator); sql.AppendFormat("INSERT INTO {0}{1}", "WF.PERSIST_QUEUE_ARCHIEVED", builder.ToSqlString(TSqlBuilder.Instance)); sql.Append(TSqlBuilder.Instance.DBStatementSeperator); sql.AppendFormat("DELETE {0} WHERE PROCESS_ID = {1}", mappingInfo.TableName, TSqlBuilder.Instance.CheckUnicodeQuotationMark(pq.ProcessID)); DbHelper.RunSqlWithTransaction(sql.ToString(), GetConnectionName()); }
public override InsertSqlClauseBuilder PrepareInsertSqlBuilder(VersionedSchemaObjectBase obj, ORMappingItemCollection mapping, string[] ignoreProperties) { InsertSqlClauseBuilder builder = new InsertSqlClauseBuilder(); obj.SchemaToSqlClauseBuilder(this._ModeDefinition, builder); builder.AppendItem(GetPropertyFieldName("VersionStartTime", mapping), "@currentTime", "=", true); builder.AppendItem(GetPropertyFieldName("VersionEndTime", mapping), DBTimePointActionContext.MaxVersionEndTime); if (obj.CreateDate != DateTime.MinValue) { builder.AppendItem("CreateDate", obj.CreateDate); } if (OguBase.IsNotNullOrEmpty(obj.Creator)) { builder.AppendItem("CreatorID", obj.Creator.ID); builder.AppendItem("CreatorName", obj.Creator.Name); } return(builder); }
public void Update() { XElementFormatter formatter = new XElementFormatter(); formatter.OutputShortType = WorkflowSettings.GetConfig().OutputShortType; string properties = formatter.Serialize(this).ToString(); string updateSQL = string.Format("UPDATE WF.GLOBAL_PARAMETERS SET [PROPERTIES] = {0} WHERE {1}", TSqlBuilder.Instance.CheckQuotationMark(properties, true), GetWhereSqlClauseBuilder(this.Key).ToSqlString(TSqlBuilder.Instance)); using (DbContext context = DbContext.GetContext(WorkflowSettings.GetConfig().ConnectionName)) { using (TransactionScope scope = TransactionScopeFactory.Create()) { if (DbHelper.RunSql(updateSQL, WorkflowSettings.GetConfig().ConnectionName) == 0) { InsertSqlClauseBuilder iBuilder = new InsertSqlClauseBuilder(); iBuilder.AppendItem("[KEY]", this.Key); iBuilder.AppendItem("[PROPERTIES]", properties); iBuilder.AppendTenantCode(typeof(WfGlobalParameters)); string insertSQL = string.Format("INSERT INTO WF.GLOBAL_PARAMETERS {0}", iBuilder.ToSqlString(TSqlBuilder.Instance)); DbHelper.RunSql(insertSQL, WorkflowSettings.GetConfig().ConnectionName); } scope.Complete(); } } CacheNotifyData notifyData = new CacheNotifyData(typeof(WfGlobalParametersCache), CalculateCacheKey(this.Key), CacheNotifyType.Invalid); UdpCacheNotifier.Instance.SendNotifyAsync(notifyData); MmfCacheNotifier.Instance.SendNotify(notifyData); }
/// <summary> /// 更新相关的数据。先删除某个ResouceID和ClassName下相关的数据,然后再插入集合中的数据 /// </summary> /// <typeparam name="TRelative"></typeparam> /// <param name="resourceID"></param> /// <param name="className"></param> /// <param name="dataCollection"></param> public virtual void UpdateRelativeData <TRelative>(string resourceID, string className, IEnumerable <TRelative> dataCollection) where TRelative : GenericFormRelativeData { resourceID.CheckStringIsNullOrEmpty("resourceID"); className.CheckStringIsNullOrEmpty("className"); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); builder.AppendItem("RESOURCE_ID", resourceID).AppendItem("CLASS", className); builder.AppendTenantCode(typeof(TRelative)); StringBuilder strB = new StringBuilder(); strB.AppendFormat("DELETE WF.GENERIC_FORM_RELATIVE_DATA WHERE {0}", builder.ToSqlString(TSqlBuilder.Instance)); int i = 0; foreach (TRelative data in dataCollection) { data.ResourceID = resourceID; data.Class = className; strB.Append(TSqlBuilder.Instance.DBStatementSeperator); InsertSqlClauseBuilder insertBuilder = ORMapping.GetInsertSqlClauseBuilder(data, "ResourceID", "Class", "SortID", "XmlContent"); data.SortID = i++; insertBuilder.AppendItem("RESOURCE_ID", resourceID).AppendItem("CLASS", className).AppendItem("SORT_ID", data.SortID); XmlDocument xdoc = XmlHelper.SerializeObjectToXml(data); data.XmlContent = xdoc.OuterXml; insertBuilder.AppendItem("XML_CONTENT", xdoc.OuterXml); strB.AppendFormat("INSERT WF.GENERIC_FORM_RELATIVE_DATA{0}", insertBuilder.ToSqlString(TSqlBuilder.Instance)); } DbHelper.RunSqlWithTransaction(strB.ToString(), GetConnectionName()); }
private void InnerInsertWithStream(MaterialContent data, Stream stream, Dictionary <string, object> context) { ORMappingItemCollection mappings = GetMappingInfo(context); InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(data, "ContentData"); builder.AppendItem("CONTENT_DATA", stream); string sql = string.Format("INSERT INTO {0}{1} ", mappings.TableName, builder.ToSqlString(TSqlBuilder.Instance)); DbHelper.RunSql(sql, GetConnectionName()); }
/// <summary> /// 颁发认证码 /// </summary> /// <param name="authenticationType"></param> /// <param name="codeLength"></param> /// <returns></returns> public AuthenticationCode IssueCode(string authenticationType, int codeLength) { AuthenticationCode result = AuthenticationCode.Create(authenticationType, codeLength); InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(result); builder.AppendItem("EXPIRE_TIME", string.Format("DATEADD(second, {0}, GETDATE())", 1800), "=", true); string sql = string.Format("INSERT INTO {0} {1}", this.GetMappingInfo().TableName, builder.ToSqlString(TSqlBuilder.Instance)); ExecuteNonQuery(sql); return(result); }
private void InsertAppType() { XmlNode xNode = _XmlRequest.DocumentElement.SelectSingleNode(".//SET"); XmlNode root = null; string insertSql = string.Empty; string strSql = string.Empty; if (_XmlRequest.DocumentElement.SelectSingleNode("APP_OPERATION_TYPE") != null) { root = _XmlRequest.DocumentElement.SelectSingleNode("APP_OPERATION_TYPE"); insertSql = "INSERT APP_OPERATION_TYPE "; string appGuid = ((XmlElement)root).GetAttribute("appGuid"); string strOrgSort = ((XmlElement)root).GetAttribute("strSort"); string typeGuid = Guid.NewGuid().ToString(); InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); ic.AppendItem <string>("GUID", typeGuid); ic.AppendItem <string>("APP_GUID", appGuid); ic.AppendItem <string>("DISPLAYNAME", xNode.SelectSingleNode("DISPLAYNAME").InnerText); ic.AppendItem <string>("CODE_NAME", xNode.SelectSingleNode("CODE_NAME").InnerText); ic.AppendItem <string>("DISCRIPTION", xNode.SelectSingleNode("DESCRIPTION").InnerText); ic.AppendItem <string>("VISIBLE", "y"); ic.AppendItem <string>("CLASS", LogReader.GetNewClassValue(appGuid, strOrgSort)); strSql = insertSql + ic.ToSqlString(TSqlBuilder.Instance); UserDataWrite.InsertUserLog("APP_LOG", "", "", "", "ADD_OP_TYPE", "向日志审计系统添加新的操作类型:" + xNode.SelectSingleNode("DISPLAYNAME").InnerText, _XmlRequest.DocumentElement.InnerXml, true); } else { root = _XmlRequest.DocumentElement.SelectSingleNode("APP_LOG_TYPE"); insertSql = "INSERT APP_LOG_TYPE "; string appGuid = Guid.NewGuid().ToString(); InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); ic.AppendItem <string>("GUID", appGuid); ic.AppendItem <string>("CODE_NAME", xNode.SelectSingleNode("CODE_NAME").InnerText); ic.AppendItem <string>("DISPLAYNAME", xNode.SelectSingleNode("DISPLAYNAME").InnerText); ic.AppendItem <string>("VISIBLE", "y"); ic.AppendItem <string>("DISCRIPTION", xNode.SelectSingleNode("DESCRIPTION").InnerText); ic.AppendItem <string>("CLASS", LogReader.GetClassForApp()); strSql = insertSql + ic.ToSqlString(TSqlBuilder.Instance); UserDataWrite.InsertUserLog("APP_LOG", "ADD_APP_TYPE", "向日志审计系统添加新的应用:" + xNode.SelectSingleNode("DISPLAYNAME").InnerText, _XmlRequest.DocumentElement.InnerXml, true); } InnerCommon.ExecuteNonQuery(strSql); }
private void InsertAppType() { XmlNode xNode = _XmlRequest.DocumentElement.SelectSingleNode(".//SET"); XmlNode root = null; string insertSql = string.Empty; string strSql = string.Empty; if (_XmlRequest.DocumentElement.SelectSingleNode("APP_OPERATION_TYPE") != null) { root = _XmlRequest.DocumentElement.SelectSingleNode("APP_OPERATION_TYPE"); insertSql = "INSERT APP_OPERATION_TYPE "; string appGuid = ((XmlElement)root).GetAttribute("appGuid"); string strOrgSort = ((XmlElement)root).GetAttribute("strSort"); string typeGuid = Guid.NewGuid().ToString(); InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); ic.AppendItem<string>("GUID", typeGuid); ic.AppendItem<string>("APP_GUID", appGuid); ic.AppendItem<string>("DISPLAYNAME", xNode.SelectSingleNode("DISPLAYNAME").InnerText); ic.AppendItem<string>("CODE_NAME", xNode.SelectSingleNode("CODE_NAME").InnerText); ic.AppendItem<string>("DISCRIPTION", xNode.SelectSingleNode("DESCRIPTION").InnerText); ic.AppendItem<string>("VISIBLE", "y"); ic.AppendItem<string>("CLASS", LogReader.GetNewClassValue(appGuid, strOrgSort)); strSql = insertSql + ic.ToSqlString(TSqlBuilder.Instance); UserDataWrite.InsertUserLog("APP_LOG", "", "", "", "ADD_OP_TYPE", "向日志审计系统添加新的操作类型:" + xNode.SelectSingleNode("DISPLAYNAME").InnerText, _XmlRequest.DocumentElement.InnerXml, true); } else { root = _XmlRequest.DocumentElement.SelectSingleNode("APP_LOG_TYPE"); insertSql = "INSERT APP_LOG_TYPE "; string appGuid = Guid.NewGuid().ToString(); InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); ic.AppendItem<string>("GUID", appGuid); ic.AppendItem<string>("CODE_NAME", xNode.SelectSingleNode("CODE_NAME").InnerText); ic.AppendItem<string>("DISPLAYNAME", xNode.SelectSingleNode("DISPLAYNAME").InnerText); ic.AppendItem<string>("VISIBLE", "y"); ic.AppendItem<string>("DISCRIPTION", xNode.SelectSingleNode("DESCRIPTION").InnerText); ic.AppendItem<string>("CLASS", LogReader.GetClassForApp()); strSql = insertSql + ic.ToSqlString(TSqlBuilder.Instance); UserDataWrite.InsertUserLog("APP_LOG", "ADD_APP_TYPE", "向日志审计系统添加新的应用:" + xNode.SelectSingleNode("DISPLAYNAME").InnerText, _XmlRequest.DocumentElement.InnerXml, true); } InnerCommon.ExecuteNonQuery(strSql); }
protected override string GetInsertSql(TxProcess data, ORMappingItemCollection mappings, Dictionary <string, object> context, string[] ignoreProperties) { InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(data, mappings, ignoreProperties); string serilizedProcess = context.GetValue("SerilizedProcess", string.Empty); if (serilizedProcess.IsNullOrEmpty()) { serilizedProcess = GetSerilizedProcess(data); } builder.AppendItem("DATA", serilizedProcess); return(string.Format("INSERT INTO {0} {1}", this.GetTableName(), builder.ToSqlString(TSqlBuilder.Instance))); }
private void PrepareRoleContainers(string roleID, SOARolePropertyRowRolesCollection rowsRoles, StringBuilder strB) { foreach (SOARolePropertyRowRoles rowRoles in rowsRoles) { foreach (IRole role in rowRoles.Roles) { InsertSqlClauseBuilder builder = new InsertSqlClauseBuilder(); strB.Append(TSqlBuilder.Instance.DBStatementSeperator); builder.AppendItem("ROLE_ID", roleID); builder.AppendItem("ROW_NUMBER", rowRoles.Row.RowNumber); builder.AppendItem("OPERATOR_TYPE", (int)rowRoles.Row.OperatorType); builder.AppendItem("OPERATOR_ID", role.ID); builder.AppendItem("OPERATOR_NAME", role.FullCodeName); builder.AppendTenantCode(); string sql = string.Format("INSERT INTO WF.ROLE_PROPERTIES_USER_CONTAINERS {0}", builder.ToSqlString(TSqlBuilder.Instance)); strB.Append(sql); } } }
/// <summary> /// 更新给定的数据实体集合 /// </summary> /// <param name="whereAction">where委托,用来限定需要设置VersionEndTime的数据</param> /// <param name="data">数据实体集合,用来新增的数据集合</param> /// <param name="versionTime">版本时间</param> /// <returns>更新数据使用时间</returns> public DateTime UpdateCurrentData(Action <WhereSqlClauseBuilder> whereAction, TCollection data, DateTime versionTime) { StringBuilder strB = new StringBuilder(); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); if (whereAction != null) { whereAction(builder); } builder.AppendItem("VersionEndTime", DBNull.Value, "IS"); if (versionTime != DateTime.MinValue) { strB.AppendFormat(@"DECLARE @CURRENTTIME DATETIME SET @CURRENTTIME = {0} UPDATE {1} SET VersionEndTime = @CURRENTTIME WHERE {2}", TSqlBuilder.Instance.FormatDateTime(versionTime), GetMappingInfo(new Dictionary <string, object>()).TableName, builder.ToSqlString(TSqlBuilder.Instance)); } else { strB.AppendFormat(@"DECLARE @CURRENTTIME DATETIME SET @CURRENTTIME =GETDATE() UPDATE {0} SET VersionEndTime = @CURRENTTIME WHERE {1}", GetMappingInfo(new Dictionary <string, object>()).TableName, builder.ToSqlString(TSqlBuilder.Instance)); } ORMappingItemCollection mappings = GetMappingInfo(new Dictionary <string, object>()); foreach (var item in data) { strB.Append(TSqlBuilder.Instance.DBStatementSeperator); InsertSqlClauseBuilder insertBuilder = ORMapping.GetInsertSqlClauseBuilder(item, mappings, "VersionStartTime"); insertBuilder.AppendItem("VersionStartTime", "@CURRENTTIME", null, true); strB.Append(string.Format(" INSERT INTO {0} {1};", mappings.TableName, insertBuilder.ToSqlString(TSqlBuilder.Instance)) ); } strB.Append(TSqlBuilder.Instance.DBStatementSeperator); strB.Append("SELECT @CURRENTTIME"); return((DateTime)DbHelper.RunSqlReturnScalar(strB.ToString(), GetConnectionName())); }
protected override InsertSqlClauseBuilder PrepareInsertSqlBuilder(VersionedSchemaObjectBase obj, ORMappingItemCollection mapping) { VersionedSchemaObjectBase schemaObj = (VersionedSchemaObjectBase)obj; if (OguBase.IsNullOrEmpty(schemaObj.Creator)) { if (DeluxePrincipal.IsAuthenticated) { schemaObj.Creator = DeluxeIdentity.CurrentUser; } } InsertSqlClauseBuilder builder = base.PrepareInsertSqlBuilder(obj, mapping); builder.AppendItem("Data", obj.ToString()); return(builder); }
public static void SyncGroupMembers(string sourceDN, string destinationPath, ServerInfo serverInfo) { serverInfo.NullCheck("serverInfo"); ADHelper helper = ADHelper.GetInstance(serverInfo); helper.EntryExists(sourceDN).FalseThrow("{0}在域中不存在"); DataRow groupRow = FindGroup(destinationPath); (groupRow != null).FalseThrow("{0}在机构人员管理系统中不存在", destinationPath); StringBuilder strB = new StringBuilder(256); string groupID = groupRow["GUID"].ToString(); strB.AppendFormat("DELETE GROUP_USERS WHERE GROUP_GUID = {0}", TSqlBuilder.Instance.CheckUnicodeQuotationMark(groupID)); int index = 0; using (DirectoryEntry groupEntry = helper.NewEntry(sourceDN)) { IEnumerable<DataRow> rows = CollectGroupUserRows(groupEntry); foreach (DataRow row in rows) { strB.Append(TSqlBuilder.Instance.DBStatementSeperator); InsertSqlClauseBuilder builder = new InsertSqlClauseBuilder(); builder.AppendItem("GROUP_GUID", groupID); builder.AppendItem("USER_GUID", row["USER_GUID"].ToString()); builder.AppendItem("USER_PARENT_GUID", row["PARENT_GUID"].ToString()); builder.AppendItem("INNER_SORT", string.Format("{0:000000}", index)); builder.AppendItem("CREATE_TIME", "GETDATE()", "=", true); builder.AppendItem("MODIFY_TIME", "GETDATE()", "=", true); strB.AppendFormat("INSERT INTO GROUP_USERS{0}", builder.ToSqlString(TSqlBuilder.Instance)); index++; } } using (TransactionScope scope = TransactionScopeFactory.Create()) { DbHelper.ExecSql(db => db.ExecuteNonQuery(CommandType.Text, strB.ToString())); scope.Complete(); } }
private static string SaveStateToDB(string state) { InsertSqlClauseBuilder builder = new InsertSqlClauseBuilder(); builder.AppendItem("DATA", state); StringBuilder strB = new StringBuilder(5120); strB.Append("INSERT INTO PAGE_VIEW_STATE "); strB.Append(builder.ToSqlString(TSqlBuilder.Instance)); strB.Append("\nSELECT SCOPE_IDENTITY()"); using (DbContext context = DbContext.GetContext(ConnectionName)) { Database db = DatabaseFactory.Create(context); Decimal result = (Decimal)db.ExecuteScalar(CommandType.Text, strB.ToString()); return result.ToString(); } }
/// <summary> /// 取得填写日志的SQL语句 /// </summary> /// <param name="killInfo">杀毒软件</param> /// <param name="status">是否登陆成功</param> /// <param name="description">系统说明</param> /// <returns></returns> private static string GetInsertSysSql(string killInfo, string status, string description) { string systemInfo = string.Empty; string winVer = string.Empty; string ieVer = string.Empty; if (GlobalInfo.HttpEnvironment != null) { systemInfo = GlobalInfo.HttpEnvironment.UserAgent; } char[] split = new char[1]; split[0] = ';'; if ((systemInfo != null) && (systemInfo.Length != 0)) { string[] inforArr = systemInfo.Split(split, 3); winVer = inforArr[2]; ieVer = inforArr[1]; } string hostIP = GlobalInfo.HttpEnvironment.UserHostAddress; string hostName = GlobalInfo.HttpEnvironment.UserHostName; string userDisplayname = GlobalInfo.UserLogOnInfo.OuUsers[0].UserDisplayName; string userGuid = GlobalInfo.UserLogOnInfo.UserGuid; string userDistinctName = GlobalInfo.UserLogOnInfo.OuUsers[0].AllPathName; string userLogonName = GlobalInfo.UserLogOnInfo.UserLogOnName; InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); ic.AppendItem("USER_GUID", userGuid); ic.AppendItem("USER_DISPLAYNAME", userDisplayname); ic.AppendItem("USER_DISTINCTNAME", userDistinctName); ic.AppendItem("USER_LOGONNAME", userLogonName); ic.AppendItem("HOST_IP", hostIP); ic.AppendItem("HOST_NAME", hostName); ic.AppendItem("WINDOWS_VERSION", winVer); ic.AppendItem("IE_VERSION", ieVer); ic.AppendItem("KILL_VIRUS", killInfo); ic.AppendItem("STATUS", status); ic.AppendItem("DESCRIPTION", description); return " INSERT INTO SYS_USER_LOGON " + ic.ToSqlString(TSqlBuilder.Instance); }
/// <summary> /// 取得填写日志的SQL语句 /// </summary> /// <param name="userLogonName">用户登录名</param> /// <param name="winVer">windows版本</param> /// <param name="ieVer">IE版本</param> /// <param name="hostIP">客户端IP地址</param> /// <param name="hostName">客户端机器名</param> /// <param name="killInfo">杀毒软件</param> /// <param name="status">是否登陆成功</param> /// <param name="description">系统说明</param> /// <returns>INSERT INTO SYS_USER_LOGON + WHERE ......</returns> private static string GetInsertSysSql2(string userLogonName, string winVer, string ieVer, string hostIP, string hostName, string killInfo, string status, string description) { DataRow row = OGUReader.GetObjectsDetail("USERS", userLogonName, SearchObjectColumn.SEARCH_LOGON_NAME).Tables[0].Rows[0]; string strUserDisplayname = (string)row["DISPLAY_NAME"]; string strUserGuid = (string)row["USER_GUID"]; string strUserAllPathName = (string)row["ALL_PATH_NAME"]; InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); ic.AppendItem("USER_GUID", strUserGuid); ic.AppendItem("USER_DISPLAYNAME", strUserDisplayname); ic.AppendItem("USER_DISTINCTNAME", strUserAllPathName); ic.AppendItem("USER_LOGONNAME", userLogonName); ic.AppendItem("HOST_IP", hostIP); ic.AppendItem("HOST_NAME", hostName); ic.AppendItem("WINDOWS_VERSION", winVer); ic.AppendItem("IE_VERSION", ieVer); ic.AppendItem("KILL_VIRUS", killInfo); ic.AppendItem("STATUS", status); ic.AppendItem("DESCRIPTION", description); return " INSERT INTO SYS_USER_LOGON " + ic.ToSqlString(TSqlBuilder.Instance); }
private void GetAndSetUserName(InsertSqlClauseBuilder uIC, DataRow oRow) { string strObjName = (string)oRow[_DataColumns[ContainsValue(0, "OBJ_NAME")][2]]; string strFirstName, strLastName; if (ContainsValue(0, "FIRST_NAME") >= 0) strFirstName = (string)oRow[_DataColumns[ContainsValue(0, "FIRST_NAME")][2]]; else { if (strObjName.Length == 2) strFirstName = strObjName.Substring(1, 1); else strFirstName = strObjName.Substring(strObjName.Length - 2, 2); } uIC.AppendItem("FIRST_NAME", strFirstName); if (ContainsValue(0, "LAST_NAME") >= 0) strLastName = (string)oRow[_DataColumns[ContainsValue(0, "LAST_NAME")][2]]; else strLastName = strObjName.Substring(0, strObjName.LastIndexOf(strFirstName)); uIC.AppendItem("LAST_NAME", strLastName); }
//取得填写日志的SQL语句 private static string GetInsertUserSql(string strAppName, string strGoalID, string strGoalName, string strGoalDisplayName, string strOpType, string strExplain, string strOriginalData, bool bOpSucceed) { string strUserDisplayname = GlobalInfo.UserLogOnInfo.OuUsers[0].UserDisplayName; string strUserGuid = GlobalInfo.UserLogOnInfo.UserGuid; string strUserAllPathName = GlobalInfo.UserLogOnInfo.OuUsers[0].AllPathName; string strUserLogonName = GlobalInfo.UserLogOnInfo.UserLogOnName; string strHostIP = GlobalInfo.HttpEnvironment.UserHostAddress; string strHostName = GlobalInfo.HttpEnvironment.UserHostName; string strUrl = GlobalInfo.HttpEnvironment.Url.ToString(); InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); ic.AppendItem("OP_USER_DISPLAYNAME", strUserDisplayname); ic.AppendItem("OP_USER_GUID", strUserGuid); ic.AppendItem("OP_USER_DISTINCTNAME", strUserAllPathName); ic.AppendItem("OP_USER_LOGONNAME", strUserLogonName); ic.AppendItem("HOST_IP", strHostIP); ic.AppendItem("HOST_NAME", strHostName); ic.AppendItem("APP_GUID", GetGuidByType(strAppName, "", "CODE_NAME")); ic.AppendItem("OP_URL", strUrl); ic.AppendItem("GOAL_ID", strGoalID); ic.AppendItem("GOAL_NAME", strGoalName); ic.AppendItem("GOAL_DISNAME", strGoalDisplayName); ic.AppendItem("OP_GUID", GetGuidByType(strAppName, strOpType, "CODE_NAME")); ic.AppendItem("GOAL_EXPLAIN", strExplain); ic.AppendItem("ORIGINAL_DATA", strOriginalData); ic.AppendItem("LOG_SUCCED", bOpSucceed ? "y" : "n"); return " INSERT INTO USER_OPEATION_LOG " + ic.ToSqlString(TSqlBuilder.Instance); }
/// <summary> /// /// </summary> /// <param name="userLogonName"></param> /// <param name="strAppName"></param> /// <param name="strHostIP"></param> /// <param name="strHostName"></param> /// <param name="strUrl"></param> /// <param name="strGoalID"></param> /// <param name="strGoalName"></param> /// <param name="strGoalDisplayName"></param> /// <param name="strOpType"></param> /// <param name="strExplain"></param> /// <param name="strOriginalData"></param> /// <param name="bOpSucceed"></param> /// <returns></returns> private static string GetInsertUserSql2(string userLogonName, string strAppName, string strHostIP, string strHostName, string strUrl, string strGoalID, string strGoalName, string strGoalDisplayName, string strOpType, string strExplain, string strOriginalData, bool bOpSucceed) { DataRow row = OGUReader.GetObjectsDetail("USERS", userLogonName, SearchObjectColumn.SEARCH_LOGON_NAME).Tables[0].Rows[0]; string strUserDisplayname = (string)row["DISPLAY_NAME"]; string strUserGuid = (string)row["USER_GUID"]; string strUserAllPathName = (string)row["ALL_PATH_NAME"]; InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); ic.AppendItem("OP_USER_DISPLAYNAME", strUserDisplayname); ic.AppendItem("OP_USER_GUID", strUserGuid); ic.AppendItem("OP_USER_DISTINCTNAME", strUserAllPathName); ic.AppendItem("OP_USER_LOGONNAME", userLogonName); ic.AppendItem("HOST_IP", strHostIP); ic.AppendItem("HOST_NAME", strHostName); ic.AppendItem("APP_GUID", GetGuidByType(strAppName, "", "CODE_NAME")); //ic.AppendItem("APP_GUID", strAppName); ic.AppendItem("OP_URL", strUrl); ic.AppendItem("GOAL_ID", strGoalID); ic.AppendItem("GOAL_NAME", strGoalName); ic.AppendItem("GOAL_DISNAME", strGoalDisplayName); ic.AppendItem("OP_GUID", GetGuidByType(strAppName, strOpType, "CODE_NAME")); //ic.AppendItem("OP_GUID", strAppName); ic.AppendItem("GOAL_EXPLAIN", strExplain); ic.AppendItem("ORIGINAL_DATA", strOriginalData); ic.AppendItem("LOG_SUCCED", bOpSucceed ? "y" : "n"); return " INSERT INTO USER_OPEATION_LOG " + ic.ToSqlString(TSqlBuilder.Instance); }
private static void PrepareSetUserSideline(XmlDocument xmlDoc, XmlDocument orgUserXsd, Dictionary<object, object> context) { XmlElement root = xmlDoc.DocumentElement; XmlNode nodeSet = xmlDoc.DocumentElement.SelectSingleNode(".//SET"); CheckAllPathNameInSystem(nodeSet.SelectSingleNode(".//ALL_PATH_NAME").InnerText); InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); foreach (XmlElement elem in nodeSet.ChildNodes) { if (InnerCommon.GetXSDColumnNode(orgUserXsd, elem.LocalName) != null) ic.AppendItem(elem.LocalName, elem.InnerText); } ic.AppendItem("INNER_SORT", "@U_INNER_SORT", "other", true); ic.AppendItem("ORIGINAL_SORT", "@O_ORIGINAL_SORT + @U_INNER_SORT", "other", true); ic.AppendItem("GLOBAL_SORT", "@O_GLOBAL_SORT + @U_INNER_SORT", "other", true); ic.AppendItem("MODIFY_TIME", "GETDATE()", "other", true); ic.AppendItem("STATUS", "1"); string strSql = @" DECLARE @U_INNER_SORT NVARCHAR(6); DECLARE @O_ORIGINAL_SORT NVARCHAR(255); DECLARE @O_GLOBAL_SORT NVARCHAR(255); UPDATE ORGANIZATIONS SET CHILDREN_COUNTER = CHILDREN_COUNTER + 1, MODIFY_TIME = GETDATE(), @U_INNER_SORT = REPLACE(STR(CHILDREN_COUNTER + 1, 6), ' ', '0'), @O_ORIGINAL_SORT = ORIGINAL_SORT, @O_GLOBAL_SORT = GLOBAL_SORT WHERE GUID = {0}; INSERT INTO OU_USERS " + ic.ToSqlString(TSqlBuilder.Instance); strSql = string.Format(strSql, TSqlBuilder.Instance.CheckQuotationMark(nodeSet.SelectSingleNode("PARENT_GUID").InnerText, true)); context.Add("Sql", strSql); // InnerCommon.ExecuteNonQuery(strSql); }
private void InsertOrgOrGroups(DataRow oRow, string strObjClass) { string strParent, strSelfAllPathName, strRootGuid, strInnerSort; DataRow row = PrepareForInsert(oRow, out strParent, out strSelfAllPathName, out strRootGuid, out strInnerSort); string strGuid = Guid.NewGuid().ToString(); InsertSqlClauseBuilder ic = new InsertSqlClauseBuilder(); ic.AppendItem("GUID", strGuid); ic.AppendItem("PARENT_GUID", strRootGuid); for (int i = 2; i < oRow.Table.Columns.Count; i++) { string strRealColumnName = _DataColumns[ContainsValue(2, oRow.Table.Columns[i].ColumnName)][0]; if (strRealColumnName == "NAME" && strObjClass == "ORGANIZATIONS") ic.AppendItem("RANK_CODE", GetRankCode(strObjClass, (string)oRow[i])); else { if (strRealColumnName == "GUID" || strRealColumnName.IndexOf("GUID") >= 0) continue; else { if (CheckXsdExist(strRealColumnName, strObjClass)) ic.AppendItem(strRealColumnName, oRow[i]); } } } if (ContainsValue(0, "NAME") < 0 && strObjClass == "ORGANIZATIONS") ic.AppendItem("RANK_CODE", GetRankCode(strObjClass, string.Empty)); if (ContainsValue(0, "ALL_PATH_NAME") < 0) ic.AppendItem("ALL_PATH_NAME", strSelfAllPathName); ic.AppendItem("INNER_SORT", strInnerSort); ic.AppendItem("GLOBAL_SORT", OGUCommonDefine.DBValueToString(row["GLOBAL_SORT"]) + strInnerSort); ic.AppendItem("ORIGINAL_SORT", OGUCommonDefine.DBValueToString(row["ORIGINAL_SORT"]) + strInnerSort); ic.AppendItem("STATUS", "1"); string strSql = "INSERT INTO " + strObjClass + ic.ToSqlString(TSqlBuilder.Instance) + ";\n"; _StrBuild.Append(strSql); InnerCommon.ExecuteDataset(strSql); if (strObjClass == "ORGANIZATIONS") _RootHash.Add(strSelfAllPathName, strGuid); }
private static string PrepareUserInsert(string userID, string userName, string gender) { InsertSqlClauseBuilder builder = new InsertSqlClauseBuilder(); builder.AppendItem("UserID", userID); builder.AppendItem("UserName", userName); builder.AppendItem("Gender", gender); return string.Format("INSERT INTO Users{0}", builder.ToSqlString(TSqlBuilder.Instance)); }
public override void AddOperation() { //添加用户表 DataView ouusers = new DataView(this.Context.OriginalData.Tables["OU_USERS"], string.Empty, "PARENT_GUID,USER_GUID", DataViewRowState.Added); Database db = DatabaseFactory.Create(this.Context.InitialParams.AccreditAdminConnectionName); foreach (DataRowView dr in ouusers) { InsertSqlClauseBuilder builder = new InsertSqlClauseBuilder(); builder.AppendItem("USER_GUID", dr["USER_GUID"].ToString()); builder.AppendItem("PARENT_GUID", dr["PARENT_GUID"].ToString()); builder.AppendItem("ALL_PATH_NAME", dr["ALL_PATH_NAME"].ToString()); builder.AppendItem("DISPLAY_NAME", dr["DISPLAY_NAME"].ToString()); builder.AppendItem("OBJ_NAME", dr["OBJ_NAME"].ToString()); builder.AppendItem("STATUS", dr["STATUS"].ToString()); builder.AppendItem("ORIGINAL_SORT", dr["ORIGINAL_SORT"].ToString()); builder.AppendItem("GLOBAL_SORT", dr["GLOBAL_SORT"].ToString()); builder.AppendItem("RANK_NAME", dr["RANK_NAME"].ToString()); builder.AppendItem("DESCRIPTION", dr["DESCRIPTION"].ToString()); builder.AppendItem("ATTRIBUTES", Convert.ToInt32(dr["ATTRIBUTES"])); builder.AppendItem("SEARCH_NAME", dr["SEARCH_NAME"]); string sql = string.Format("INSERT INTO OU_USERS {0}", builder.ToSqlString(TSqlBuilder.Instance)); try { int count = db.ExecuteNonQuery(CommandType.Text, sql); if (count == 1) { this.AddCount++; //this.Context.InitialParams.Log.Write(string.Format("OU_USERS表 PARENT_GUID是{0},USER_GUID是{1}的记录添加成功,ALL_PATH_NAME是'{2}'", //dr["PARENT_GUID"].ToString(), dr["USER_GUID"].ToString(), dr["ALL_PATH_NAME"]).ToString()); } } catch (Exception ex) { this.Context.InitialParams.Log.Write(string.Format("OU_USERS表 PARENT_GUID是{0},USER_GUID 是{1}的记录执行插入时出错,错误是{2}", dr["PARENT_GUID"].ToString(), dr["USER_GUID"].ToString(), ex.Message)); } } }
public void AddOperationByUsers() { DataView users_add = new DataView(this.Context.OriginalData.Tables["USERS"], string.Empty, "GUID", DataViewRowState.Added); Database db = DatabaseFactory.Create(this.Context.InitialParams.UserInfoExtend); foreach (DataRowView dr in users_add) { int index = this.Context.ADUserExtendGuidView.Find(dr["GUID"]); DataRowView drv = this.Context.ADUserExtendGuidView[index]; InsertSqlClauseBuilder builder = new InsertSqlClauseBuilder(); builder.AppendItem("ID", drv["ID"].ToString()); builder.AppendItem("MOBILE", drv["MOBILE"].ToString()); builder.AppendItem("OFFICE_TEL", drv["OFFICE_TEL"].ToString()); builder.AppendItem("GENDER", drv["GENDER"].ToString()); builder.AppendItem("NATION", drv["NATION"].ToString()); builder.AppendItem("IM_ADDRESS", drv["IM_ADDRESS"].ToString()); string sql = string.Format("INSERT INTO USERS_INFO_EXTEND {0}", builder.ToSqlString(TSqlBuilder.Instance)); try { int count = db.ExecuteNonQuery(CommandType.Text, sql); if (count == 1) { this.AddCount++; //this.Context.InitialParams.Log.Write(string.Format("USERS_INFO_EXTEND表ID是{0}的记录添加成功", //dr["GUID"].ToString())); } } catch (Exception ex) { this.Context.InitialParams.Log.Write(string.Format("USERS_INFO_EXTEND表 ID 是{0}的执行插入时出错,错误是{1}", drv["ID"].ToString(), ex.Message)); } } }
private void InsertUsers(DataRow oRow) { ExceptionHelper.TrueThrow(ContainsValue(0, "LOGON_NAME") < 0, "对不起,导入人员数据必须包含该人员的“登录名称”!"); string strParent, strSelfAllPathName, strRootGuid, strInnerSort; DataRow row = PrepareForInsert(oRow, out strParent, out strSelfAllPathName, out strRootGuid, out strInnerSort); string strGuid = Guid.NewGuid().ToString(); InsertSqlClauseBuilder uIC = new InsertSqlClauseBuilder(); InsertSqlClauseBuilder ouIC = new InsertSqlClauseBuilder(); uIC.AppendItem("GUID", strGuid); //uIC.AppendItem("PERSON_ID", string.Empty);// strGuid.Substring(0, 8)); ouIC.AppendItem("USER_GUID", strGuid); ouIC.AppendItem("PARENT_GUID", strRootGuid); for (int i = 2; i < oRow.Table.Columns.Count; i++) { if (string.IsNullOrEmpty(oRow[i].ToString()) == false) { string strRealColumnName = _DataColumns[ContainsValue(2, oRow.Table.Columns[i].ColumnName)][0]; if (strRealColumnName == "NAME") uIC.AppendItem("RANK_CODE", GetRankCode("USERS", (string)oRow[i])); else { if (strRealColumnName == "GUID" || strRealColumnName.IndexOf("GUID") >= 0) continue; else { if (CheckXsdExist(strRealColumnName, "USERS")) uIC.AppendItem(strRealColumnName, oRow[i]); if (CheckXsdExist(strRealColumnName, "OU_USERS")) ouIC.AppendItem(strRealColumnName, oRow[i]); } } } } if (ContainsValue(0, "NAME") < 0) uIC.AppendItem("RANK_CODE", GetRankCode("USERS", string.Empty)); GetAndSetUserName(uIC, oRow); if (ContainsValue(0, "ALL_PATH_NAME") < 0) ouIC.AppendItem("ALL_PATH_NAME", strSelfAllPathName); ouIC.AppendItem("INNER_SORT", strInnerSort); ouIC.AppendItem("GLOBAL_SORT", OGUCommonDefine.DBValueToString(row["GLOBAL_SORT"]) + strInnerSort); ouIC.AppendItem("ORIGINAL_SORT", OGUCommonDefine.DBValueToString(row["ORIGINAL_SORT"]) + strInnerSort); ouIC.AppendItem("STATUS", "1"); string strSql = "INSERT INTO USERS " + uIC.ToSqlString(TSqlBuilder.Instance) + ";\n" + "INSERT INTO OU_USERS " + ouIC.ToSqlString(TSqlBuilder.Instance) + ";\n"; InnerCommon.ExecuteDataset(strSql); _StrBuild.Append(strSql); }
private static string GetInsertConditionCalculateResultSql(string ownerID, string userID) { InsertSqlClauseBuilder insertBuilder = new InsertSqlClauseBuilder(); insertBuilder.AppendItem("OwnerID", ownerID); insertBuilder.AppendItem("UserID", userID); return string.Format("INSERT INTO SC.ConditionCalculateResult{0}", insertBuilder.ToSqlString(TSqlBuilder.Instance)); }