/// <summary> /// 保存前的操作 /// </summary> /// <param name="data">数据</param> /// <param name="isAdd">是否为新增</param> /// <returns>如果为否将阻止后续操作</returns> protected override bool OnSaving(PositionPersonnelData data, bool isAdd) { var personnel = new PersonnelData { FullName = data.Personnel, Six = data.Six, Birthday = data.Birthday, Tel = data.Tel, RoleId = data.RoleId, Mobile = data.Mobile }; var access = new PersonnelDataAccess(); if (data.PersonnelId == 0) { access.Insert(personnel); data.PersonnelId = personnel.Id; } else { personnel.Id = data.PersonnelId; access.Update(personnel); } return(base.OnSaving(data, isAdd)); }
/// <summary> /// 保存完成后期处理(Insert或Update) /// </summary> /// <param name="entity"></param> protected sealed override void OnDataSaved(DataOperatorType operatorType, PersonnelData entity) { using (var proxy = new RedisProxy(RedisProxy.DbComboCache)) { proxy.RemoveKey(treeKey); proxy.RemoveKey(comboKey); } }
/// <summary> /// 载入数据 /// </summary> /// <param name="reader">数据读取器</param> /// <param name="entity">读取数据的实体</param> protected sealed override void LoadEntity(MySqlDataReader reader, PersonnelData entity) { using (new EditScope(entity.__EntityStatus, EditArrestMode.All, false)) { entity._id = (int)reader.GetInt32(0); if (!reader.IsDBNull(1)) { entity._fullname = reader.GetString(1).ToString(); } entity._six = (bool)reader.GetBoolean(2); if (!reader.IsDBNull(3)) { try{ entity._birthday = reader.GetMySqlDateTime(3).Value; }catch {} } if (!reader.IsDBNull(4)) { entity._tel = reader.GetString(4).ToString(); } if (!reader.IsDBNull(5)) { entity._mobile = reader.GetString(5).ToString(); } if (!reader.IsDBNull(6)) { entity._memo = reader.GetString(6).ToString(); } if (!reader.IsDBNull(7)) { entity._datastate = (DataStateType)reader.GetInt32(7); } entity._isfreeze = (bool)reader.GetBoolean(8); entity._authorid = (int)reader.GetInt32(9); if (!reader.IsDBNull(10)) { try{ entity._adddate = reader.GetMySqlDateTime(10).Value; }catch {} } entity._lastreviserid = (int)reader.GetInt32(11); if (!reader.IsDBNull(12)) { try{ entity._lastmodifydate = reader.GetMySqlDateTime(12).Value; }catch {} } if (!reader.IsDBNull(13)) { entity._auditstate = (AuditStateType)reader.GetInt32(13); } entity._auditorid = (int)reader.GetInt32(14); if (!reader.IsDBNull(15)) { try{ entity._auditdate = reader.GetMySqlDateTime(15).Value; }catch {} } entity._roleid = (int)reader.GetInt32(16); if (!reader.IsDBNull(17)) { entity._role = reader.GetString(17).ToString(); } entity._userid = (int)reader.GetInt32(18); } }
/// <summary> /// 读取Form传过来的数据 /// </summary> /// <param name="data">数据</param> /// <param name="convert">转化器</param> protected void DefaultReadFormData(PersonnelData data, FormConvert convert) { //数据 data.FullName = convert.ToString("FullName"); data.Six = convert.ToBoolean("Six"); data.Birthday = convert.ToDateTime("Birthday"); data.Tel = convert.ToString("Tel"); data.Mobile = convert.ToString("Mobile"); //备注 data.Memo = convert.ToString("Memo"); }
public void Apply() { var firstByte = 0x0047141F; var lastByte = 0x00478F18; // Open file and write using (var executableConnection = new ExecutableConnection(_executableFilePath)) { // Create byte array of NOPs var nopInstructions = new byte[lastByte + 1 - firstByte]; for (var i = 0; i < nopInstructions.Length; i++) { nopInstructions[i] = 0x90; } // Write byte array of NOPs executableConnection.WriteByteArray(InstructionHelper.CalculateRealPositionFromVirtualPosition(firstByte), nopInstructions); // Get the data-laden instructions var teamInstructions = TeamData.GetInstructions(); var personnelInstructions = PersonnelData.GetInstructions(); var driverInstructions = DriverData.GetInstructions(); // Write instructions var writePosition = InstructionHelper.CalculateRealPositionFromVirtualPosition(firstByte); executableConnection.WriteByteArray(writePosition, teamInstructions); writePosition += teamInstructions.Length; executableConnection.WriteByteArray(writePosition, personnelInstructions); writePosition += personnelInstructions.Length; executableConnection.WriteByteArray(writePosition, driverInstructions); // Apply track changes firstByte = 0x005031C6; lastByte = 0x00503EE5; // Create byte array of NOPs var nopTrackInstructions = new byte[lastByte + 1 - firstByte]; for (var i = 0; i < nopTrackInstructions.Length; i++) { nopTrackInstructions[i] = 0x90; } // Write byte array of NOPs executableConnection.WriteByteArray(InstructionHelper.CalculateRealPositionFromVirtualPosition(firstByte), nopTrackInstructions); // Get the data-laden instructions var trackInstructions = TrackData.GetInstructions(); writePosition = InstructionHelper.CalculateRealPositionFromVirtualPosition(firstByte); executableConnection.WriteByteArray(writePosition, trackInstructions); } }
/// <summary> /// 载入数据 /// </summary> /// <param name="reader">数据读取器</param> /// <param name="entity">读取数据的实体</param> public override void SimpleLoad(MySqlDataReader reader, PersonnelData entity) { using (new EditScope(entity.__EntityStatus, EditArrestMode.All, false)) { entity._id = (int)reader.GetInt32(0); if (!reader.IsDBNull(1)) { entity._fullname = reader.GetString(1).ToString(); } entity._six = (bool)reader.GetBoolean(2); if (!reader.IsDBNull(3)) { try{ entity._birthday = reader.GetMySqlDateTime(3).Value; }catch {} } if (!reader.IsDBNull(4)) { entity._tel = reader.GetString(4).ToString(); } if (!reader.IsDBNull(5)) { entity._mobile = reader.GetString(5).ToString(); } if (!reader.IsDBNull(6)) { entity._memo = reader.GetString(6).ToString(); } if (!reader.IsDBNull(7)) { entity._datastate = (DataStateType)reader.GetInt32(7); } entity._isfreeze = (bool)reader.GetBoolean(8); if (!reader.IsDBNull(9)) { entity._auditstate = (AuditStateType)reader.GetInt32(9); } if (!reader.IsDBNull(10)) { entity._role = reader.GetString(10).ToString(); } entity._userid = (int)reader.GetInt32(11); } }
/// <summary> /// 设置插入数据的命令 /// </summary> /// <param name="entity">实体对象</param> /// <param name="cmd">命令</param> /// <returns>返回真说明要取主键</returns> protected sealed override bool SetInsertCommand(PersonnelData entity, MySqlCommand cmd) { cmd.CommandText = InsertSqlCode; CreateFullSqlParameter(entity, cmd); return(true); }
/// <summary> /// 设置更新数据的命令 /// </summary> /// <param name="entity">实体对象</param> /// <param name="cmd">命令</param> protected sealed override void SetUpdateCommand(PersonnelData entity, MySqlCommand cmd) { cmd.CommandText = UpdateSqlCode; CreateFullSqlParameter(entity, cmd); }
/// <summary> /// 设置插入数据的命令 /// </summary> /// <param name="entity">实体对象</param> /// <param name="cmd">命令</param> /// <returns>返回真说明要取主键</returns> private void CreateFullSqlParameter(PersonnelData entity, MySqlCommand cmd) { //02:标识(Id) cmd.Parameters.Add(new MySqlParameter("Id", MySqlDbType.Int32) { Value = entity.Id }); //04:姓名(FullName) var isNull = string.IsNullOrWhiteSpace(entity.FullName); var parameter = new MySqlParameter("FullName", MySqlDbType.VarString, isNull ? 10 : (entity.FullName).Length); if (isNull) { parameter.Value = DBNull.Value; } else { parameter.Value = entity.FullName; } cmd.Parameters.Add(parameter); //05:性别(Six) cmd.Parameters.Add(new MySqlParameter("Six", MySqlDbType.Byte) { Value = entity.Six ? (byte)1 : (byte)0 }); //06:生日(Birthday) isNull = entity.Birthday.Year < 1900; parameter = new MySqlParameter("Birthday", MySqlDbType.DateTime); if (isNull) { parameter.Value = DBNull.Value; } else { parameter.Value = entity.Birthday; } cmd.Parameters.Add(parameter); //07:电话(Tel) isNull = string.IsNullOrWhiteSpace(entity.Tel); parameter = new MySqlParameter("Tel", MySqlDbType.VarString, isNull ? 10 : (entity.Tel).Length); if (isNull) { parameter.Value = DBNull.Value; } else { parameter.Value = entity.Tel; } cmd.Parameters.Add(parameter); //08:手机(Mobile) isNull = string.IsNullOrWhiteSpace(entity.Mobile); parameter = new MySqlParameter("Mobile", MySqlDbType.VarString, isNull ? 10 : (entity.Mobile).Length); if (isNull) { parameter.Value = DBNull.Value; } else { parameter.Value = entity.Mobile; } cmd.Parameters.Add(parameter); //09:备注(Memo) isNull = string.IsNullOrWhiteSpace(entity.Memo); parameter = new MySqlParameter("Memo", MySqlDbType.Text, isNull ? 10 : (entity.Memo).Length); if (isNull) { parameter.Value = DBNull.Value; } else { parameter.Value = entity.Memo; } cmd.Parameters.Add(parameter); //32:数据状态(DataState) cmd.Parameters.Add(new MySqlParameter("DataState", MySqlDbType.Int32) { Value = (int)entity.DataState }); //33:数据是否已冻结(IsFreeze) cmd.Parameters.Add(new MySqlParameter("IsFreeze", MySqlDbType.Byte) { Value = entity.IsFreeze ? (byte)1 : (byte)0 }); //35:制作人(AuthorID) cmd.Parameters.Add(new MySqlParameter("AuthorID", MySqlDbType.Int32) { Value = entity.AuthorID }); //37:制作时间(AddDate) isNull = entity.AddDate.Year < 1900; parameter = new MySqlParameter("AddDate", MySqlDbType.DateTime); if (isNull) { parameter.Value = DBNull.Value; } else { parameter.Value = entity.AddDate; } cmd.Parameters.Add(parameter); //39:最后修改者(LastReviserID) cmd.Parameters.Add(new MySqlParameter("LastReviserID", MySqlDbType.Int32) { Value = entity.LastReviserID }); //41:最后修改日期(LastModifyDate) isNull = entity.LastModifyDate.Year < 1900; parameter = new MySqlParameter("LastModifyDate", MySqlDbType.DateTime); if (isNull) { parameter.Value = DBNull.Value; } else { parameter.Value = entity.LastModifyDate; } cmd.Parameters.Add(parameter); //43:审核状态(AuditState) cmd.Parameters.Add(new MySqlParameter("AuditState", MySqlDbType.Int32) { Value = (int)entity.AuditState }); //45:审核人(AuditorId) cmd.Parameters.Add(new MySqlParameter("AuditorId", MySqlDbType.Int32) { Value = entity.AuditorId }); //47:审核时间(AuditDate) isNull = entity.AuditDate.Year < 1900; parameter = new MySqlParameter("AuditDate", MySqlDbType.DateTime); if (isNull) { parameter.Value = DBNull.Value; } else { parameter.Value = entity.AuditDate; } cmd.Parameters.Add(parameter); //48:角色外键(RoleId) cmd.Parameters.Add(new MySqlParameter("RoleId", MySqlDbType.Int32) { Value = entity.RoleId }); //49:角色(Role) isNull = string.IsNullOrWhiteSpace(entity.Role); parameter = new MySqlParameter("Role", MySqlDbType.VarString, isNull ? 10 : (entity.Role).Length); if (isNull) { parameter.Value = DBNull.Value; } else { parameter.Value = entity.Role; } cmd.Parameters.Add(parameter); //51:系统用户外键(UserId) cmd.Parameters.Add(new MySqlParameter("UserId", MySqlDbType.Int32) { Value = entity.UserId }); }
/// <summary> /// 取得仅更新的SQL语句 /// </summary> internal string GetModifiedSqlCode(PersonnelData data) { if (data.__EntityStatusNull || !data.__EntityStatus.IsModified) { return(";"); } StringBuilder sql = new StringBuilder(); sql.AppendLine("UPDATE `tb_sys_personnel` SET"); //姓名 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_FullName] > 0) { sql.AppendLine(" `full_name` = ?FullName"); } //性别 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_Six] > 0) { sql.AppendLine(" `six` = ?Six"); } //生日 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_Birthday] > 0) { sql.AppendLine(" `birthday` = ?Birthday"); } //电话 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_Tel] > 0) { sql.AppendLine(" `tel` = ?Tel"); } //手机 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_Mobile] > 0) { sql.AppendLine(" `mobile` = ?Mobile"); } //备注 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_Memo] > 0) { sql.AppendLine(" `memo` = ?Memo"); } //数据状态 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_DataState] > 0) { sql.AppendLine(" `data_state` = ?DataState"); } //数据是否已冻结 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_IsFreeze] > 0) { sql.AppendLine(" `is_freeze` = ?IsFreeze"); } //制作人 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_AuthorID] > 0) { sql.AppendLine(" `author_id` = ?AuthorID"); } //制作时间 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_AddDate] > 0) { sql.AppendLine(" `add_date` = ?AddDate"); } //最后修改者 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_LastReviserID] > 0) { sql.AppendLine(" `last_reviser_id` = ?LastReviserID"); } //最后修改日期 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_LastModifyDate] > 0) { sql.AppendLine(" `last_modify_date` = ?LastModifyDate"); } //审核状态 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_AuditState] > 0) { sql.AppendLine(" `audit_state` = ?AuditState"); } //审核人 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_AuditorId] > 0) { sql.AppendLine(" `auditor_id` = ?AuditorId"); } //审核时间 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_AuditDate] > 0) { sql.AppendLine(" `audit_date` = ?AuditDate"); } //角色外键 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_RoleId] > 0) { sql.AppendLine(" `role_id` = ?RoleId"); } //系统用户外键 if (data.__EntityStatus.ModifiedProperties[PersonnelData.Real_UserId] > 0) { sql.AppendLine(" `user_id` = ?UserId"); } sql.Append(" WHERE `id` = ?Id;"); return(sql.ToString()); }