/// <summary> /// Default constructor, creates an Instance of the MainViewViewModel class /// </summary> public MainViewViewModel() { JsonUtil.LoadJson <MainViewModel>(AppData.Instance.SaveDataFileName, out m_Model); if (m_Model == null) { m_Model = new MainViewModel(); JsonUtil.SaveJson <MainViewModel>(AppData.Instance.SaveDataFileName, m_Model); } AppData.Instance.Template = FileUtil.ReadFile(AppData.Instance.TemplateFileName); ExcelIMEINumbers = new ObservableCollection <string>(); AddYearCommand = new RelayCommand(() => { Year++; }); SubYearCommand = new RelayCommand(() => { Year--; }); AddWeekCommand = new RelayCommand(() => { Week++; }); SubWeekCommand = new RelayCommand(() => { Week--; }); AddNumberCommand = new RelayCommand(() => { Number++; }); SubNumberCommand = new RelayCommand(() => { Number--; }); LoadExcelFileCommand = new RelayCommand(() => { FileUtil.OpenDialog(out string filepath, "Excel Workbook | *.xlsx"); ObservableCollection <string> imeiNumbers = OfficeUtil.OpenExcelFile(filepath); ExcelIMEINumbers = imeiNumbers; }); ClearCommand = new RelayCommand(() => { ExcelIMEINumbers.Clear(); }); GenerateCommand = new RelayCommand(GenerateOutput); }
/// <summary> /// 生成编辑界面 /// </summary> /// <param name="baseInput"></param> /// <param name="editInputs"></param> /// <returns></returns> private async Task <string> CreateEdit(SystemCodeGenerationBaseInput baseInput, IEnumerable <SystemCodeGenerationEditInput> editInputs) { //获取文件内容 var returnContent = FileUtil.ReadFile(Server.MapPath("/DataUsers/Templates/CodeGeneration/Edit.txt")); //替换操作 //1:命名空间 returnContent = returnContent.Replace("{{NameSpaceLower}}", baseInput.TableName.Split('_')[0].ToLower()); returnContent = returnContent.Replace("{{NameSpace}}", baseInput.TableName.Split('_')[0]); //2:控制器名称 returnContent = returnContent.Replace("{{ControllerName}}", baseInput.TableName.Replace(baseInput.TableName.Split('_')[0], "").Replace("_", "").ToLower()); //3:描述 returnContent = returnContent.Replace("{{Description}}", baseInput.Description); //4:类名称 returnContent = returnContent.Replace("{{ClassName}}", baseInput.TableName.Replace("_", "")); //5:主键名称 returnContent = returnContent.Replace("{{KeyName}}", baseInput.TableKey); //6:主体 foreach (var edit in editInputs) { switch (edit.ControlType) { case EnumControlType.文本框: break; } } return(returnContent); }
static async Task Main() { //加载配置文件 ConfigUtil.Load(); #region 测试 #endregion while (true) { var s = ConsoleUtil.Read(ReadMode.FolderPath);//读取用户输入的路径 var files = FileUtil.GetAllFile(s, ".html"); var fileModels = new List <FileModel>(); foreach (var item in files) { var r = await FileUtil.ReadFile(item); fileModels.Add(r); } //var s= ConsoleUtil.Read(i=>i.Append(".html")); // Console.WriteLine(s); // var key2 = Console.ReadKey(); } }
/// <summary> /// 生成编辑页面 /// </summary> /// <param name="input"></param> /// <param name="editInputs"></param> /// <returns></returns> private Task <string> CreateEdit(SystemCodeGenerationBaseInput input, IEnumerable <SystemCodeGenerationEditInput> editInputs) { var str = ""; foreach (var item in editInputs) { if (item.ControlType == Domain.Models.Enums.EnumControlType.文本域) { str += $@" <div class='hr-line-dashed'></div> <div class='form-group'> <label class='col-sm-2 control-label'> {item.ControlName}:</label> <div class='input-group col-sm-10'> <textarea rows='3' name='{item.ControlId}' id='{item.ControlId}' class='form-control'>< /textarea> </div> </div>"; } else { str += $@" <div class='hr-line-dashed'></div> <div class='form-group'> <label class='col-sm-2 control-label'> {item.ControlName}:</label> <div class='input-group col-sm-10'> <input type='text' name='{item.ControlId}' id='{item.ControlId}' class='form-control input-sm' > </div> </div>"; } } //获取文件内容 var returnContent = FileUtil.ReadFile(Path.Combine("DataUsers", "Templates", "CodeGeneration", "Edit.txt")); //主体 returnContent = returnContent.Replace("{{Body}}", str); return(Task.Factory.StartNew(() => returnContent)); }
private void EnsureLoaded() { if (loaded) { return; } foreach (var pkg in App.Catalog <IPackageManager>().Default().EnumeratePackages()) { foreach (var e in pkg.GetMetadata(PackageSection.Commands)) { var name = e.String("file"); string content; if (!FileUtil.ReadFile(Path.Combine(pkg.Directory.FullName, "data", name), Encoding.UTF8, out content)) { return; } var metas = CommandReader.Read(content); RegisterCommands(metas); } } loaded = true; }
/// <summary> /// 生成Logic接口 /// </summary> /// <param name="input"></param> /// <returns></returns> private Task <string> CreteLogicInterface(SystemCodeGenerationBaseInput input) { //获取文件内容 var returnContent = FileUtil.ReadFile(Path.Combine("DataUsers", "Templates", "CodeGeneration", "ILogic.txt")); //替换操作 //1:命名空间 returnContent = returnContent.Replace("{{NameSpace}}", input.Name.Split('_')[0]); //2:表名 returnContent = returnContent.Replace("{{ClassName}}", input.Name.Replace("_", "")); //3:描述 returnContent = returnContent.Replace("{{Description}}", input.Value); //4:是否分页 if (input.IsPaging) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("Task<PagedResults<{1}>> Paging{0}(QueryParam queryParam);", input.Name.Replace("_", ""), input.Name.Replace("_", "")); returnContent = returnContent.Replace("{{PagingAction}}", sb.ToString()); } else { returnContent = returnContent.Replace("{{PagingAction}}", ""); } //5:保存方法 StringBuilder sbsa = new StringBuilder(); sbsa.AppendFormat(" Task<OperateStatus> Save{0} ({1} input);", input.Name.Replace("_", ""), input.Name.Replace("_", "")); returnContent = returnContent.Replace("{{SaveAction}}", sbsa.ToString()); return(Task.Factory.StartNew(() => returnContent)); }
public void ReadFleet(string filename) { // open stream to fleet file StreamReader fin = FileUtil.ReadFile(filename); try { string versionOrFleetName = fin.ReadLine(); if (versionOrFleetName != null && versionOrFleetName.StartsWith(VersionTwoFleet)) { CreateVersionTwoFleet(fin); } else { this.FleetName = versionOrFleetName; CreateVersionOneFleet(fin); } } catch (Exception e) { throw new Exception(e.Message + " in " + filename); } finally { fin.Close(); } }
private async Task <RestoreResult> RestoreFromDir(Uri destUri) { if (!HasPersistablePermissionsAtUri(destUri)) { throw new InvalidOperationException("No permission at URI"); } var directory = DocumentFile.FromTreeUri(_context, destUri); var files = directory.ListFiles(); var mostRecentBackup = files .Where(f => f.IsFile && f.Type == Backup.MimeType && f.Name.EndsWith(Backup.FileExtension) && f.Length() > 0 && f.CanRead()) .OrderByDescending(f => f.LastModified()) .FirstOrDefault(); if (mostRecentBackup == null || mostRecentBackup.LastModified() <= _preferences.MostRecentBackupModifiedAt) { return(new RestoreResult()); } _preferences.MostRecentBackupModifiedAt = mostRecentBackup.LastModified(); var password = await GetBackupPassword(); if (password == null) { throw new InvalidOperationException("No password defined."); } var data = await FileUtil.ReadFile(_context, mostRecentBackup.Uri); var backup = Backup.FromBytes(data, password); return(await _restoreService.RestoreAndUpdateAsync(backup)); }
/// <summary> /// 生成DataAccess接口实现 /// </summary> /// <param name="input"></param> /// <returns></returns> private string CreteDataAccess(SystemCodeGenerationBaseInput input) { //获取文件内容 var returnContent = FileUtil.ReadFile(Path.Combine("DataUsers", "Templates", "CodeGeneration", "Repository.txt")); //替换操作 //1:命名空间 returnContent = returnContent.Replace("{{NameSpace}}", input.Name.Split('_')[0]); //2:表名 returnContent = returnContent.Replace("{{ClassName}}", input.Name.Replace("_", "")); //3:描述 returnContent = returnContent.Replace("{{Description}}", input.Value); //4:分页 if (input.IsPaging) { StringBuilder sb = new StringBuilder(); sb.AppendLine($" public Task<PagedResults<{input.Name.Replace("_", "")}>> Paging{input.Name.Replace("_", "")}(QueryParam queryParam)"); sb.AppendLine("{"); sb.AppendLine($" string sql=\"select * from {input.Name.Replace("System", "Sys")}\";"); sb.AppendLine($" return SqlMapperUtil.PagingQuery<{input.Name.Replace("_", "")}>(sql, queryParam);"); sb.AppendLine("}"); returnContent = returnContent.Replace("{{PagingAction}}", sb.ToString()); } else { returnContent = returnContent.Replace("{{PagingAction}}", ""); } return(returnContent); }
static void ConvertDataset() { var list = FileUtil.ReadFile(@"c:\temp\temp.csv"); var dataset = new Points(); foreach (var s in list) { var arr = s.Split(';'); if (arr.Length != 4) { continue; } double x = arr[0].ToDouble(); double y = arr[1].ToDouble(); var i = arr[2].ToInt(); var t = arr[3].ToInt(); dataset.Add(new P { X = x, Y = y, I = i, T = t }); } FileUtil.SaveDataSetToFile(dataset, "temp.ser"); }
public bool ChangeTheme(Identifier themeKey) { ReadThemes(); ThemeInfo th; if (themes.TryGetValue(themeKey, out th)) { if (th.File.Exists) { string content; if (!FileUtil.ReadFile(th.File, Encoding.UTF8, out content)) { return(false); } foreach (var s in ThemeReader.Read(content)) { Register(s.StyleId, s.Style); } foreach (var v in App.Component <IViewManager>().EnumerateViews().OfType <Control>()) { v.Invalidate(true); } } Theme = th; OnThemeChanged(); return(true); } return(false); }
private async Task <RestoreResult> RestoreFromDir(Uri destUri) { if (!HasPersistablePermissionsAtUri(destUri)) { throw new Exception("No permission at URI"); } var directory = DocumentFile.FromTreeUri(_context, destUri); var files = directory.ListFiles(); var mostRecentBackup = files .Where(f => f.IsFile && f.Type == Backup.MimeType && f.Name.EndsWith(Backup.FileExtension) && f.Length() > 0 && f.CanRead()) .OrderByDescending(f => f.LastModified()) .FirstOrDefault(); if (mostRecentBackup == null || mostRecentBackup.LastModified() <= _preferences.MostRecentBackupModifiedAt) { return(new RestoreResult()); } _preferences.MostRecentBackupModifiedAt = mostRecentBackup.LastModified(); var password = await SecureStorageWrapper.GetAutoBackupPassword(); if (password == null) { throw new Exception("No password defined."); } var data = await FileUtil.ReadFile(_context, mostRecentBackup.Uri); var backup = Backup.FromBytes(data, password); var(authsAdded, authsUpdated) = await _authSource.AddOrUpdateMany(backup.Authenticators); var categoriesAdded = backup.Categories != null ? await _categorySource.AddMany(backup.Categories) : 0; if (backup.AuthenticatorCategories != null) { await _authSource.AddOrUpdateManyCategoryBindings(backup.AuthenticatorCategories); } var customIconsAdded = backup.CustomIcons != null ? await _customIconSource.AddMany(backup.CustomIcons) : 0; try { await _customIconSource.CullUnused(); } catch (Exception e) { // ignored Logger.Error(e); } return(new RestoreResult(authsAdded, authsUpdated, categoriesAdded, customIconsAdded)); }
/// <summary> /// 异步添加种子数据 /// </summary> /// <param name="myContext"></param> /// <param name="WebRootPath"></param> /// <returns></returns> public static async Task SeedDataAsync(MyContext myContext, string WebRootPath) { try { Console.WriteLine("Config data init..."); Console.WriteLine($"Is multi-DataBase: {Appsettings.app(new string[] { "MutiDBEnabled" })}"); if (Appsettings.app(new string[] { "MutiDBEnabled" }).ObjectToBool()) { Console.WriteLine($"Master DB Type: {MyContext.DbType}"); Console.WriteLine($"Master DB ConnectString: {MyContext.ConnectionString}"); Console.WriteLine(); } else { Console.WriteLine("DB Type: " + MyContext.DbType); Console.WriteLine("DB ConnectString: " + MyContext.ConnectionString); } Console.WriteLine("Create Database..."); myContext.Db.DbMaintenance.CreateDatabase(); var classes = Assembly.Load("MyWebApiProject.Model").GetTypes().Where(x => x.Namespace == "MyWebApiProject.Model.DbModel").ToArray(); myContext.CreateTableByEntity(false, classes); Console.WriteLine("Database is created success!"); Console.WriteLine(); if (Appsettings.app(new string[] { "AppSettings", "SeedDBDataEnabled" }).ObjectToBool()) { if (string.IsNullOrEmpty(WebRootPath)) { throw new Exception("获取wwwroot路径时,异常!无法进行DBDataSeed"); } SeedDataFolder = Path.Combine(WebRootPath, SeedDataFolder); Console.WriteLine("Seeding database..."); foreach (var item in classes) { if (!(((ReflectionUtil.ExportByClassType(typeof(MyContext), item, "ExitList", null)) as Task <bool>).Result) && File.Exists(string.Format(SeedDataFolder, item.Name))) { string json = FileUtil.ReadFile(string.Format(SeedDataFolder, item.Name)); if (json != string.Empty) { object obj = JsonUtil.ParseObjByJson(ReflectionUtil.CreateGeneric(typeof(List <>), item).GetType(), json); bool result = (ReflectionUtil.ExportByClassType(typeof(MyContext), item, "InsertTables", new object[] { obj }) as Task <bool>).Result; if (result) { Console.WriteLine($"Tables:{item.Name} Insert Data Suceess!"); } else { Console.WriteLine($"Tables:{item.Name} Insert Data Fail!"); } } } } Console.WriteLine(); } } catch (Exception ex) { throw new Exception(ex.Message); } }
// lat lon points data static void LatLonParse() { //http://download.geonames.org/export/dump/ var rand = new Random(); const string name = "cities1000"; var lines = FileUtil.ReadFile(string.Format("c:\\temp\\{0}.txt", name)); var dataset = new Points(); const int numOfType = 3; foreach (var line in lines) { var delimiters = new[] { ' ', '\t' }; var arr = line.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); if (arr.Length < 10) { continue; } double?lon = null; double?lat = null; var id = arr[0].ToInt(); for (var i = 1; i < arr.Length - 2; i++) { double d1, d2, d3; var dp1 = Double.TryParse(arr[i], NumberStyles.Float, NumberFormatInfo.InvariantInfo, out d1); var dp2 = Double.TryParse(arr[i + 1], NumberStyles.Float, NumberFormatInfo.InvariantInfo, out d2); var dp3 = Double.TryParse(arr[i + 2], NumberStyles.Float, NumberFormatInfo.InvariantInfo, out d3); if (dp1 && dp2 && dp3) { lat = d2; lon = d3; break; } if (dp1 && dp2) { lat = d1; lon = d2; break; } } if (lon.HasValue && lat.HasValue && MathTool.IsLonValid(lon.Value) && MathTool.IsLatValid(lat.Value)) { dataset.Add(new P { X = lon.Value, Y = lat.Value, I = id, T = (rand.Next(numOfType) + 1) }); } } SaveCsvData(dataset, new FileInfo(string.Format("c:\\temp\\{0}.csv", name))); }
public void QueryTemp() { var tuple = GetPath(); if (tuple.IsNull()) { return; } Constant.Response.ContentEncoding = Encoding.GetEncoding("gb2312"); Constant.Response.Write(FileUtil.ReadFile(tuple.Item1)); Constant.Response.End(); }
public static SimulationState LoadFromFile(string filename) { string data = FileUtil.ReadFile(filename); var jsonSerializerSettings = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All, PreserveReferencesHandling = PreserveReferencesHandling.Objects }; return(JsonConvert.DeserializeObject <SimulationState>(data, jsonSerializerSettings)); }
private static MAP ReadFile(string fileName) { string content; if (!FileUtil.ReadFile(fileName, Encoding.UTF8, out content)) { return(null); } var json = new JsonParser(content); return(json.Parse() as MAP); }
/// <summary> /// 获得文件和最后修改时间; /// </summary> /// <param name="virtualPath"></param> /// <returns></returns> public static ContentAndModifyDatetime GetMapPathContentAndLastModifyTime(string virtualPath) { var nameFile = AppDomainUtil.GetMapPath(virtualPath); if (File.Exists(nameFile)) { string val = FileUtil.ReadFile(nameFile); return(new ContentAndModifyDatetime { Content = val, LastModifyDatetime = new FileInfo(nameFile).LastWriteTime }); } return(null); }
public static string CodeWithLineNum(string code) { var lines = FileUtil.ReadFile(new StringReader(code)); var builder = new StringBuilder(); var linenum = 1; foreach (var line in lines) { PaddedNumber(builder, linenum++, 4); builder.Append(" "); builder.Append(line); builder.Append("\n"); } return builder.ToString(); }
private Document CreateDocument(FileInfo fileName, Encoding encoding) { fileName.Refresh(); if (!fileName.Exists) { return(Document.FromString("")); } string txt = null; var res = FileUtil.ReadFile(fileName, encoding, out txt); return(res ? Document.FromString(txt) : null); }
public static FieldSpecList ReadSchema(string filename, DefinitionFormat format) { switch (format) { case DefinitionFormat.Text: return(ReadTextSchema(FileUtil.ReadFile(filename))); case DefinitionFormat.XML: return(ReadXMLSchema(filename)); default: throw new ArgumentOutOfRangeException("format=" + format); } }
/// <summary> /// 生成编辑界面Js /// </summary> /// <param name="input"></param> /// <returns></returns> private async Task <string> CreateEditJs(SystemCodeGenerationBaseInput input) { //获取文件内容 var returnContent = FileUtil.ReadFile(Server.MapPath("/DataUsers/Templates/CodeGeneration/EditJs.txt")); //替换操作 //1:命名空间 returnContent = returnContent.Replace("{{NameSpace}}", input.TableName.Split('_')[0]); //2:控制器名称 returnContent = returnContent.Replace("{{ControllerName}}", input.TableName.Replace(input.TableName.Split('_')[0], "").Replace("_", "")); //3:主键名称 returnContent = returnContent.Replace("{{KeyName}}", input.TableKey); return(returnContent); }
/// <summary> /// 生成列表界面 /// </summary> /// <param name="input"></param> /// <returns></returns> private async Task <string> CreateList(SystemCodeGenerationBaseInput input) { //获取文件内容 var returnContent = FileUtil.ReadFile(Server.MapPath("/DataUsers/Templates/CodeGeneration/List.txt")); //替换操作 //1:命名空间 returnContent = returnContent.Replace("{{NameSpace}}", input.TableName.Split('_')[0].ToLower()); //2:控制器名称 returnContent = returnContent.Replace("{{ControllerName}}", input.TableName.Replace(input.TableName.Split('_')[0], "").Replace("_", "").ToLower()); //3:描述 returnContent = returnContent.Replace("{{Description}}", input.Description); return(returnContent); }
/// <summary> /// 生成Logic接口 /// </summary> /// <param name="input"></param> /// <returns></returns> private async Task <string> CreteLogicInterface(SystemCodeGenerationBaseInput input) { //获取文件内容 var returnContent = FileUtil.ReadFile(Server.MapPath("/DataUsers/Templates/CodeGeneration/ILogic.txt")); //替换操作 //1:命名空间 returnContent = returnContent.Replace("{{NameSpace}}", input.TableName.Split('_')[0]); //2:表名 returnContent = returnContent.Replace("{{ClassName}}", input.TableName.Replace("_", "")); //3:描述 returnContent = returnContent.Replace("{{Description}}", input.Description); return(returnContent); }
/// <summary> /// Merge the fileList for OSQL. /// </summary> /// <param name="outFile"></param> /// <param name="fileList"></param> public void MergeScripts(string outFile, string[] fileList) { string uniqueTran = "T" + StringUtil.RandomKey(); string separatorLine = StringUtil.FillChar('-', 79); try { using (StreamWriter w = new StreamWriter(outFile, false)) { w.WriteLine("begin tran " + uniqueTran); for (int i = 0; i < fileList.Length; i++) { string inFile = fileList[i]; // write header info w.WriteLine(); w.WriteLine(separatorLine); w.WriteLine(String.Format("-- Filename #{1} of {2} : {0}", inFile, i + 1, fileList.Length)); w.WriteLine(separatorLine); w.WriteLine(); // read / write foreach (var item in FileUtil.ReadFile(inFile)) { w.WriteLine(item); } } w.WriteLine("commit tran " + uniqueTran); w.Flush(); w.Close(); } } catch (Exception ex) { Debug.WriteLine(ex.Message); throw; } }
/// <summary> /// 生成控制器 /// </summary> /// <param name="input"></param> /// <returns></returns> private Task <string> CreateController(SystemCodeGenerationBaseInput input) { //获取文件内容 var returnContent = FileUtil.ReadFile(Path.Combine("DataUsers", "Templates", "CodeGeneration", "Controller.txt")); //替换操作 //1:命名空间 returnContent = returnContent.Replace("{{NameSpace}}", input.Name.Split('_')[0]); //2:表名 returnContent = returnContent.Replace("{{ClassName}}", input.Name.Replace("_", "")); //3:表名转换为小写 returnContent = returnContent.Replace("{{ClassNameLower}}", input.Name.Replace("_", "").ReplaceFistLower()); //4:控制器名称 returnContent = returnContent.Replace("{{ControllerName}}", input.Name.Replace(input.Name.Split('_')[0], "").Replace("_", "")); //5:分页方法 if (input.IsPaging) { StringBuilder strPagingAction = new StringBuilder(); strPagingAction.AppendLine("[HttpPost]"); strPagingAction.AppendLine($"[Description(\"应用系统-方法-列表-获取{input.Value}分页信息\")]"); strPagingAction.AppendLine($" public async Task<JsonResult> GetPaging{input.Name.Replace("_", "")}(QueryParam queryParam) "); strPagingAction.AppendLine("{"); strPagingAction.AppendLine($" return JsonForGridPaging(await _{input.Name.Replace("_", "").ReplaceFistLower()}Logic.Paging{input.Name.Replace("_", "")}(queryParam));"); strPagingAction.AppendLine("}"); returnContent = returnContent.Replace("{{PagingAction}}", strPagingAction.ToString()); } else { returnContent = returnContent.Replace("{{PagingAction}}", ""); } //6:保存方法 StringBuilder sb = new StringBuilder(); sb.AppendLine("[HttpPost]"); sb.AppendLine(" [ValidateAntiForgeryToken]"); sb.AppendLine($" [Description(\"应用系统-方法-保存{input.Value}\")]"); sb.AppendLine($" public async Task<JsonResult> Save{input.Name.Replace("_", "")}({input.Name.Replace("_", "")} input)"); sb.AppendLine("{"); sb.AppendLine($" return Json(await _{input.Name.Replace("_", "").ReplaceFistLower()}Logic.Save{input.Name.Replace("_", "")}(input));"); sb.AppendLine("}"); returnContent = returnContent.Replace("{{SaveAction}}", sb.ToString()); //描述 returnContent = returnContent.Replace("{{Description}}", input.Value); return(Task.Factory.StartNew(() => returnContent));; }
/// <summary> /// 生成实体 /// </summary> /// <param name="input"></param> /// <returns></returns> private async Task <string> CreateEntity(SystemCodeGenerationBaseInput input) { //返回值 var columnContent = new StringBuilder(); //获取文件内容 var returnContent = FileUtil.ReadFile(Server.MapPath("/DataUsers/Templates/CodeGeneration/Entities.txt")); //获取对应列 var columns = (await _dataBaseLogic.GetDataBaseColumns(input)).ToList(); //替换操作 //1:命名空间 returnContent = returnContent.Replace("{{NameSpace}}", input.TableName.Split('_')[0]); //2:表名 returnContent = returnContent.Replace("{{TableName}}", input.TableName); //3:类名称 returnContent = returnContent.Replace("{{ClassName}}", input.TableName.Replace("_", "")); //4:主键名称 returnContent = returnContent.Replace("{{KeyName}}", input.TableKey); //5:动态生成列 foreach (var column in columns.Where(column => column.ColumnName != input.TableKey)) { columnContent.Append(" /// <summary>\r\n"); columnContent.Append(string.Format(" /// {0}\r\n", column.ColumnDescription)); columnContent.Append(" /// </summary>\r\n"); columnContent.Append(" public " + ChangeToCSharpType(column.DataType) + " " + column.ColumnName + " { get; set; }\r\n\r\n"); } //6:是否分页 if (input.IsPaging) { columnContent.Append(" /// <summary>\r\n"); columnContent.Append(" /// 记录总数\r\n"); columnContent.Append(" /// </summary>\r\n"); columnContent.Append(" /// [Column(IsInsert = false,IsUpdate = false,IsSelect = false,IsSort = false)]\r\n"); columnContent.Append(" public int RecordCount { get; set; }\r\n"); } returnContent = returnContent.Replace("{{EntitiesBody}}", columnContent.ToString()); //7:主键类型 var key = columns.Where(column => column.ColumnName == input.TableKey).FirstOrDefault(); returnContent = returnContent.Replace("{{GenerationType}}", key != null && key.DataType == "uniqueidentifier" ? "GenerationType.Sequence" : "GenerationType.Indentity"); //8:描述 returnContent = returnContent.Replace("{{Description}}", input.Description); return(returnContent); }
/// <summary> /// 生成列表界面 /// </summary> /// <param name="input"></param> /// <returns></returns> private string CreateList(SystemCodeGenerationBaseInput input, IEnumerable <SystemCodeGenerationListForListInput> listInput) { //获取文件内容 var returnContent = FileUtil.ReadFile(Path.Combine("DataUsers", "Templates", "CodeGeneration", "List.txt")); //替换操作 //1:命名空间 returnContent = returnContent.Replace("{{NameSpace}}", input.Name.Split('_')[0].ToLower()); //2:控制器名称 returnContent = returnContent.Replace("{{ControllerName}}", input.Name.Replace(input.Name.Split('_')[0], "").Replace("_", "").ToLower()); //3:描述 returnContent = returnContent.Replace("{{Description}}", input.Value); //4:列表项 returnContent = returnContent.Replace("{{ColModel}}", GetColModel(listInput.OrderBy(o => o.OrderNo).ToList(), input)); //5:是否分页 returnContent = returnContent.Replace("{{IsPaging}}", input.IsPaging.ToString().ToLower()); return(returnContent); }
private bool UpdateAssemblyInfo(string filename) { try { Log("Scanning " + filename); #region Open / Save filename List <string> buffer = new List <string>(); int nrChanges = 0; foreach (var inputLine in FileUtil.ReadFile(filename)) { string outputLine = Replace(inputLine, ReplacementTable); buffer.Add(outputLine); if (inputLine != outputLine) { nrChanges++; Log(string.Format(" #{0:00} << {1}", nrChanges, inputLine)); Log(string.Format(" #{0:00} >> {1}", nrChanges, outputLine)); } } if (nrChanges > 0) { FileUtil.WriteFile(filename, buffer.ToArray()); Log(" Changes were updated."); } else { Log(" No changes were made."); } Log(string.Empty); #endregion return(nrChanges > 0); } catch (Exception ex) { Log(" Error: " + ex.Message); return(false); } }
private void EnsureLoad() { if (loaded) { return; } foreach (var d in Directory.GetDirectories(packagesDirectory)) { var fi = new FileInfo(Path.Combine(d, "package.json")); if (!fi.Exists) { App.Ext.Log($"Missing package definition file at: {d}", EntryType.Error); continue; } string content; if (!FileUtil.ReadFile(fi, Encoding.UTF8, out content)) { continue; } var json = new JsonParser(content); var dict = json.Parse() as Dictionary <string, object>; if (dict == null) { App.Ext.Log($"Invalid package definition file: {fi}", EntryType.Error); continue; } var meta = dict.Object("meta") as Dictionary <string, object>; var pack = new PackageMetadata((Identifier)meta.String("key"), meta.String("name"), meta.String("version"), meta.String("description"), meta.String("copyright"), fi.Directory, dict); packages.Add(pack); } loaded = true; }