/// <summary> /// 生成临时代码 /// </summary> /// <param name="info"></param> /// <returns></returns> public override bool GenerateCode(object[] info) { try { using (StreamReader reader = new StreamReader(info[1].ToString())) { while (reader.Peek() != -1) { string temp = reader.ReadLine(); temp = KeywordContainer.Replace(temp); TempBuild.AppendLine(temp); } } if ((bool)info[2]) { KeywordContainer.RegistSource(TemplateName, TempBuild.ToString()); TempBuild.Clear(); } return(true); } catch (Exception ex) { throw ex; } }
/// <summary> /// 转换需要生成的项目项名称(提供关键字容器的解析) /// </summary> /// <param name="guid">项目项ID</param> /// <returns></returns> public static string ConvertFileName(string guid) { string tempName = CdeCmdId.TempFileName(guid); if (tempName == null) { string modelPath = TemplateContainer.Resove <string>(guid); tempName = Path.GetFileNameWithoutExtension(modelPath) + ".cs"; } else { tempName = KeywordContainer.Replace(tempName); } return(tempName); }
/// <summary> /// 创建代码 /// </summary> /// <param name="info"></param> /// <returns></returns> public override bool GenerateCode(object[] info) { try { StringBuilder _tempBuild = new StringBuilder(); using (StreamReader reader = new StreamReader(info[3].ToString())) { while (reader.Peek() != -1) { string temp = reader.ReadLine(); temp = KeywordContainer.Replace(temp); _tempBuild.AppendLine(temp); } } string guid = info[0].ToString(); Project prjt = info[2] as Project; string folder = string.Empty; Encoding encode = Encoding.Default; if (guid == CdeCmdId.ServiceId.WebConfig) { encode = Encoding.UTF8; } if (CdeCmdId.HasForlder(guid, out folder)) { prjt.AddFromFileString(_tempBuild.ToString(), folder, StringConverter.ConvertFileName(guid), encode); } else { prjt.AddFromFileString(_tempBuild.ToString(), StringConverter.ConvertFileName(guid), encode); } return(true); } catch (Exception ex) { throw ex; } }