using MECF.Framework.Common.DataCenter; using MECF.Framework.Common.Utilities; using System; using System.Collections.Generic; namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel { public class RecipeHistory { /// /// GUID编号 /// public string StrGuid { get; set; } /// /// 登录的用户名 /// public string RoleName { get; set; } /// /// Recipe类型 /// public string ProcessType { get; set; } /// /// 快照时Recipe名称 /// public string RecipeName { get; set; } /// /// 从XML转成string类型的Recipe内容 /// public string StrRecipeFromXML { get; set; } /// /// Recipe内容压缩后转成哈希值 /// public string HashCode { get; set; } /// /// 保存Receip时记录时间 /// public string CreateTime { get; set; } /// /// 预留空白1,默认为null /// public string Srare1 { get; set; } /// /// 预留空白2,默认为null /// public string Srare2 { get; set; } public bool SaveDB() { //只有存储时,才自动给这些属性赋值 CreateTime = DateTime.Now.ToString("G"); StrGuid = Guid.NewGuid().ToString(); HashCode = Sha256.EncodeString(StrRecipeFromXML); return QueryDataClient.Instance.Service.ExcuteTransAction(new List { SaveCmd() }); } /// /// 根据Recipe名称,返回此名称产生的所有历史记录 /// /// /// public List QueryDB(string recipeName) { string cmd = $"select * from recipe_history_data where recipe_name = '{recipeName}'"; var dt = QueryDataClient.Instance.Service.QueryData(cmd); if (dt != null && dt.Rows.Count > 0) { List recipeMemories = new List(); for (int i = 0; i < dt.Rows.Count; i++) { recipeMemories.Add(new RecipeHistory() { StrGuid = dt.Rows[0]["str_guid"].ToString(), RoleName = dt.Rows[0]["role_name"].ToString(), ProcessType = dt.Rows[0]["process_type"].ToString(), RecipeName = dt.Rows[0]["recipe_name"].ToString(), HashCode = dt.Rows[0]["hash_code"].ToString(), //StrRecipeFromXML = dt.Rows[0]["str_recipe_from_xml"].ToString(), //一般情况下这个内容都很大,返回集合中不对该属性赋值 CreateTime = dt.Rows[0]["create_time"].ToString(), Srare1 = dt.Rows[0]["srare1"].ToString(), Srare2 = dt.Rows[0]["srare2"].ToString() }); } return recipeMemories; } return null; } /// /// 根据Recipe名称+createTime,返回特定记录 /// /// /// /// public RecipeHistory QueryDB(string recipeName, string createTime) { string cmd = $"select * from recipe_history_data where recipe_name = '{recipeName}',create_time = '{createTime}'"; var dt = QueryDataClient.Instance.Service.QueryData(cmd); if (dt != null && dt.Rows.Count > 0) { return new RecipeHistory() { StrGuid = dt.Rows[0]["str_guid"].ToString(), RoleName = dt.Rows[0]["role_name"].ToString(), ProcessType = dt.Rows[0]["process_type"].ToString(), RecipeName = dt.Rows[0]["recipe_name"].ToString(), HashCode = dt.Rows[0]["hash_code"].ToString(), StrRecipeFromXML = dt.Rows[0]["str_recipe_from_xml"].ToString(), CreateTime = dt.Rows[0]["create_time"].ToString(), Srare1 = dt.Rows[0]["srare1"].ToString(), Srare2 = dt.Rows[0]["srare2"].ToString() }; } return null; } private string SaveCmd() { string cmd_data_insert = "insert into recipe_history_data" + "(str_guid,role_name,process_type,recipe_name,hash_code, str_recipe_from_xml, create_time,srare1,srare2)" + $"values ('{StrGuid}'," + $"'{RoleName}'," + $"'{ProcessType}'," + $"'{RecipeName}'," + $"'{HashCode}'," + $"'{StrRecipeFromXML}'," + $"'{CreateTime}'," + $"'{Srare1}'," + $"'{Srare2}')"; return cmd_data_insert; } } }