public MainWindow() { InitializeComponent(); #region setclass CVisibilityPanels cVisibilityPanels = new CVisibilityPanels(new List <UIElement> { PanelDButtonVolume, Test }, Test); DTimeSliderPanel.GetSlider().ValueChanged += MainWindow_ValueChanged; controlsMouseUpAndDown = new ControlsMouseUpAndDown(DVolumeSliderpanel); #endregion this.Loaded += (o, e) => { if (SystemIO.isValid(fileUpdate.path)) { settring = serializer.Deserialize(SystemIO.Read(fileUpdate.path)); DVolumeSliderpanel.Value = settring.Volume; this.SetSize(settring.WindowSize); } else { DVolumeSliderpanel.Value = settring.Volume; Save(); //------------ } soundEngine.Volume = (float)DVolumeSliderpanel.Value / 100; PanelDButtonVolume.SetIconVolume((float)DVolumeSliderpanel.Value); new WinResize(this).RightDown(Border_ResizeWindow); if (SystemIO.isValid(SOUND_LIST_ALL.path)) { try { cur_list_sound = SOUND_LIST_ALL_serializer.Deserialize(SystemIO.Read(SOUND_LIST_ALL.path)); } catch (Exception) { SOUND_LIST_ALL_serializer.Serialize(cur_list_sound); } UpdateSoundList(); } }; timerTick = new TimerTick(); timerTick.Tick += TimerTick_Tick; timerTick.Start(); }
public void LoadPlayer() { PlayerData data = SystemIO.LoadPlayer(); level = data.level; experiencePoints = data.experiencePoints; }
/// <summary> /// Gets the boot sector of a given drive. /// <remarks>The drive letter must follow this pattern X:</remarks> /// </summary> /// <param name="driveLetter">The drive letter in this format X:</param> /// <returns>The boot sector of the specified drive.</returns> public static BootSector GetBootSector(string driveLetter) { byte[] bootSectorData = new byte[BootSectorSize]; string drive = @"\\.\" + driveLetter; IntPtr hardDiskPointer = SystemIO.OpenFile(drive); // Seeks the start of the partition SystemIO.SeekAbsolute(hardDiskPointer, 0); // Read the first reserved sector of the drive data (Boot Sector) // The data should be read with a chunk of 512 X byte. SystemIO.ReadBytes(hardDiskPointer, bootSectorData, BootSectorSize); // Release IO handle SystemIO.CloseHandle(hardDiskPointer); // Prevent the GC from messing up with the position of the buffer in the heap. GCHandle pinnedBootSectorData = GCHandle.Alloc(bootSectorData, GCHandleType.Pinned); // Marshaling the buffer into a valid data structucture. var bootSector = (BootSector)Marshal.PtrToStructure( pinnedBootSectorData.AddrOfPinnedObject(), typeof(BootSector) ); // Free up the pinned buffer. pinnedBootSectorData.Free(); return(bootSector); }
public void Execute() { OrderManager manager = OrderManagerFactory.Create(); Console.Clear(); string userInput = SystemIO.OrderDateRequest(); DateTime order = Convert.ToDateTime(userInput); int orderNumber = SystemIO.OrderNumberRequest(); LookupOrderResponse response = manager.AccountByDateAndNumber(order, orderNumber); if (response.Success) { SystemIO.DisplaySingleOrderDetails(response.Order); Console.ReadKey(); SystemIO.EditOrderMenu(response.Order); } else { Console.WriteLine(response.Message); Console.WriteLine("An error has occured: "); } Console.ReadKey(); }
public void EditProduct(Order order) { OrderManager manager = OrderManagerFactory.Create(); var newProduct = SystemIO.EditGetProduct(); order.ProductType = newProduct; FindProductTypeResponse response = manager.GetProductData(newProduct); if (response.Success) //edit issue is here { order.ProductType = response.Product.ProductType; order.CostPerSquareFoot = response.Product.CostPerSquareFoot; order.LaborCostPerSquareFoot = response.Product.LaborCostPerSquareFoot; manager.SaveExistingOrder(order); SystemIO.DisplaySingleOrderDetails(order); Console.ReadKey(); Console.Clear(); } else { response.Success = false; } }
public void SetUp() { _directoryMock = new SystemIODirectoryMock(); _fileMock = new SystemIOFileMock(); _fileSystem = new SystemIO(_directoryMock.Object, _fileMock.Object, SystemIOPath.Instance); }
public void Init(Action _callBack) { Action <Dictionary <string, AssetUnitData> > callBack = delegate(Dictionary <string, AssetUnitData> _data) { LoadAssetData(_data, _callBack); }; SystemIO.LoadSerializeFileWithWWW(dataName, callBack); }
private void UpdateOver(int _remoteVersion, Action _callBack) { data.version = _remoteVersion; SystemIO.SaveSerializeFile(Application.persistentDataPath + "/" + FILE_NAME, data); _callBack(); }
public static void LoadCsvDataFromFile(Action _callBack) { Action <Dictionary <Type, IDictionary> > callBack = delegate(Dictionary <Type, IDictionary> obj) { LoadCsvDataFileOK(obj, _callBack); }; SystemIO.LoadSerializeFileWithWWW(datName, callBack); }
public void Execute() { OrderManager manager = OrderManagerFactory.Create(); Order order = new Order(); string dateInput = SystemIO.OrderDateRequest(); DateTime orderDate = Convert.ToDateTime(dateInput); order.Date = orderDate; string input = SystemIO.EditCustName(); order.CustomerName = input; string userInput = SystemIO.EditState(); FindStateResponse stateResponse = manager.GetStateTax(userInput); order.State = userInput; if (stateResponse.Success) { order.TaxData = stateResponse.StateTax.TaxRate; } else { stateResponse.Success = false; } string productInput = SystemIO.EditGetProduct(); OrderManager productManager = OrderManagerFactory.Create(); FindProductTypeResponse findProduct = productManager.GetProductData(productInput); order.ProductType = productInput; if (findProduct.Success) { order.ProductType = findProduct.Product.ProductType; order.CostPerSquareFoot = findProduct.Product.CostPerSquareFoot; order.LaborCostPerSquareFoot = findProduct.Product.LaborCostPerSquareFoot; } else { findProduct.Success = false; } decimal areaInput = SystemIO.EditGetArea(); order.Area = areaInput; manager.SaveNewOrder(order); SystemIO.DisplaySingleOrderDetails(order); Console.ReadKey(); }
internal DiffContentFS(string basePath, SystemIO fileSystem) { _fileSystem = fileSystem; if (_fileSystem.Directory.Exists(basePath) == false) { _fileSystem.Directory.CreateDirectory(basePath); } _basePath = basePath; }
public void Generate(Analysis analysis) { Console.WriteLine("Generating HTML report..."); if (analysis == null) { throw new ArgumentException("Parameter analysis is null.", nameof(analysis)); } this.FileCommitsList = analysis.FileCommits.Values.OrderByDescending(fc => fc.CommitCount).ThenBy(fc => fc.Filename); this.UserfileCommitsList = analysis.UserfileCommits.Values.OrderByDescending(fc => fc.CommitCount).ThenBy(fc => fc.Filename).ThenBy(fc => fc.Username); var key = 1; foreach (var username in analysis.UserfileCommits.Values.Select(fc => fc.Username).Distinct().OrderBy(un => un)) { UserNameKey.Add(username, key++); } ; this.FolderCommits = analysis.FolderCommits; this.FolderCommitsList = analysis.FolderCommits.Values.OrderByDescending(fc => fc.FileChanges); StringBuilder sb = new StringBuilder(); AddHeader(sb, analysis); AddNavTabs(sb); sb.AppendLine("<div class=\"tab-content\">"); sb.AppendLine("<div role=\"tabpanel\" class=\"tab-pane active\" id=\"commitsForEachSubfolder\">"); AddSectionCommitsForEachFolder(sb); sb.Append($"<h2 id=\"mostChangedFiles\">Top {NumberOfFilesToList} most changed files</h2>"); var sectionCounter = 1; foreach (var fileChange in FileCommitsList.Take(NumberOfFilesToList)) { AddSectionCommitsForEachFile(sb, fileChange, sectionCounter++); } sb.AppendLine("</div>"); sb.AppendLine("<div role=\"tabpanel\" class=\"tab-pane\" id=\"projectStatistics\">"); AddSectionProjectStatistics(sb, analysis); AddSectionCommitsForEachDay(sb, analysis.CommitsEachDay); AddSectionLinesChangedEachDay(sb, analysis.LinesOfCodeAddedEachDay, analysis.LinesOfCodeDeletedEachDay); AddSectionCodeAge(sb, analysis.CodeAge); if (analysis.Tags.Any()) { AddSectionTags(sb, analysis.Tags); } if (analysis.Branches.Any()) { AddSectionBranches(sb, analysis.Branches); } AddSectionFileTypes(sb, analysis.FileTypes); sb.AppendLine("</div>"); sb.AppendLine("</div>"); AddFooter(sb); SystemIO.WriteAllText($"{ReportFilename}.html", sb.ToString()); }
void Open() { try { setting = serializer.Deserialize(SystemIO.Read(StaticDir.full(StaticData.FolderSetting, "fft_setting.uc"))); } catch (Exception e) { UcLibWindow.WindMessageBox.MessageBox.Show(e.Message); } }
public void EditArea(Order order) { OrderManager manager = OrderManagerFactory.Create(); order.Area = SystemIO.EditGetArea(); manager.SaveExistingOrder(order); SystemIO.DisplaySingleOrderDetails(order); Console.ReadKey(); Console.Clear(); }
public void Generate(Analysis analysis) { Console.WriteLine("Generating Text file report..."); StringBuilder sb = new StringBuilder(); FileCommitsList = analysis.FileCommits.Values.OrderByDescending(fc => fc.CommitCount).ThenBy(fc => fc.Filename); UserfileCommitsList = analysis.UserfileCommits.Values.OrderByDescending(fc => fc.CommitCount).ThenBy(fc => fc.Filename).ThenBy(fc => fc.Username); var totalCommits = FileCommitsList.Sum(fc => fc.CommitCount); var numberOfAuthors = UserfileCommitsList.Select(ufc => ufc.Username).Distinct().Count(); sb.AppendLine($"{Title}\n"); sb.AppendLine($"Report created: {analysis.CreatedDate.ToString("yyyy-MM-dd")}"); sb.AppendLine($"First commit: {analysis.FirstCommitDate.ToString("yyyy-MM-dd")}"); sb.AppendLine($"Latest commit: {analysis.LatestCommitDate.ToString("yyyy-MM-dd")}"); sb.AppendLine($"Number of commits: {totalCommits}"); sb.AppendLine($"Lines of code analyzed: {analysis.LinesOfCodeanalyzed}"); sb.AppendLine($"Number of authors: {numberOfAuthors}"); sb.AppendLine($"Analysis time(milliseconds): {analysis.AnalysisTime}"); sb.AppendLine(); var folderCommitsList = analysis.FolderCommits.Values.OrderByDescending(fc => fc.FileChanges); foreach (var folder in folderCommitsList.Take(NumberOfFilesToList)) { var folderName = string.Format("{0,50}", folder.FolderName); var changeCount = string.Format("{0,5}", analysis.FolderCommits[folder.FolderName].FileChanges); var percentage = string.Format("{0,5:#0.00}", ((double)analysis.FolderCommits[folder.FolderName].FileChanges / (double)totalCommits) * 100); sb.AppendLine($"{folderName}: {changeCount} ({percentage}%)"); } foreach (var fileChange in FileCommitsList.Take(50)) { sb.AppendLine(""); string fileInfo = "File has been deleted"; if (fileChange.FileExists) { var linesOfCode = fileChange.LinesOfCode > 0 ? fileChange.LinesOfCode.ToString() : "N/A"; var cyclomaticComplexity = fileChange.CyclomaticComplexity > 0 ? fileChange.CyclomaticComplexity.ToString() : "N/A"; var methodCount = fileChange.MethodCount > 0 ? fileChange.MethodCount.ToString() : "N/A"; fileInfo = $"Lines of code: {linesOfCode} - Cyclomatic Complexity: {cyclomaticComplexity} - Method count: {methodCount}"; } sb.AppendLine($"{fileChange.Filename}: {fileChange.CommitCount} - Latest commit: {fileChange.LatestCommit.ToString("yyyy-MM-dd")} - {fileInfo}\n"); foreach (var userfileChange in UserfileCommitsList.Where(ufc => ufc.Filename == fileChange.Filename)) { var username = string.Format("{0,20}", userfileChange.Username); var changeCount = string.Format("{0,3}", userfileChange.CommitCount); var percentage = string.Format("{0,5:#0.00}", ((double)userfileChange.CommitCount / (double)fileChange.CommitCount) * 100); sb.AppendLine($" {username}: {changeCount} ({percentage}%)"); } } SystemIO.WriteAllText($"{ReportFilename}.txt", sb.ToString()); }
private void LoadUpdateXMLOK(Dictionary <string, UpdateFileInfo> _dic, int _remoteVersion, Func <string, string> _fixFun, Action _callBack) { int loadNum = _dic.Count; foreach (KeyValuePair <string, UpdateFileInfo> pair in _dic) { string path = pair.Key; UpdateFileInfo info = pair.Value; string url = _fixFun(info.path + path); Action <WWW> callBack = delegate(WWW obj) { if (obj.error != null) { SuperDebug.Log("文件热更新失败 文件名:" + obj.url); return; } UInt32 crc = CRC32.Compute(obj.bytes); if (crc != info.crc) { SuperDebug.Log("文件热更新CRC比对错误 文件名:" + obj.url); return; } SystemIO.SaveFile(Application.persistentDataPath + "/" + path, obj.bytes); if (data.dic.ContainsKey(path)) { data.dic[path] = info.version; } else { data.dic.Add(path, info.version); } loadNum--; if (loadNum == 0) { UpdateOver(_remoteVersion, _callBack); } }; WWWManager.Instance.LoadRemote(url, callBack); } }
public void Can_add_adventure() { // Arrange string path = SystemIO.path; string newAdventure = DateTime.Now.ToString(); string[] content = new[] { newAdventure }; // Act SystemIO.AddAdventure(path, newAdventure); // Assert string[] actual = SystemIO.ViewAdventures(path); Assert.Contains(newAdventure, actual); }
public static void CreateAssetData(List <string> assetNames, List <string> assetBundleNames, Dictionary <string, List <string> > result) { Dictionary <string, AssetUnitData> dic = new Dictionary <string, AssetUnitData> (); for (int i = 0; i < assetNames.Count; i++) { AssetUnitData unit = new AssetUnitData(); unit.assetBundle = assetBundleNames[i]; List <string> tmpList = result[assetNames[i]]; unit.assetBundleDep = tmpList.ToArray(); dic.Add(assetNames[i], unit); } SystemIO.SaveSerializeFile(Application.streamingAssetsPath + "/" + dataName, dic); }
private void Window_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); foreach (string item in files) { if (!item.isFormats(StaticFormatsSound.FormatsSound)) { continue; } SoundEngine se = new SoundEngine(); se.Sound(item); DPanelSound dPanelSound = new DPanelSound() { NameSound = se.Name, Path = item, TotalTime = se.TotalTime(), INDEX = StakPanelListSound.Children.Count }; dPanelSound.EventMouseButtonHandler += (oo, ee) => { SetCurSound(dPanelSound); }; dPanelSound.REventMouseButtonHandler += (oo, ee) => { StakPanelListSound.Children.RemoveAt(dPanelSound.INDEX); cur_list_sound.RemoveID(dPanelSound.INDEX); }; dPanelSound.Update(); StakPanelListSound.Children.Add(dPanelSound); cur_list_sound.AddStr(item); } SystemIO.Write(SOUND_LIST_ALL.path, SOUND_LIST_ALL_serializer.Serialize(cur_list_sound)); } }
public void Init(int _localVersion, int _remoteVersion, Func <int, string> _fixFun, Func <string, string> _fixFun2, Action _callBack) { if (File.Exists(Application.persistentDataPath + "/" + FILE_NAME)) { data = SystemIO.LoadSerializeFile <VersionData>(Application.persistentDataPath + "/" + FILE_NAME); if (_localVersion > data.version) //说明残留的version.dat是老版本的 必须立即清除掉 { SuperDebug.Log("发现残留的version.dat 删除掉!"); data = new VersionData(); data.version = _localVersion; SystemIO.SaveSerializeFile(Application.persistentDataPath + "/" + FILE_NAME, data); } } else { data = new VersionData(); data.version = _localVersion; SystemIO.SaveSerializeFile(Application.persistentDataPath + "/" + FILE_NAME, data); } if (data.version < _remoteVersion) { Dictionary <string, UpdateFileInfo> dic = new Dictionary <string, UpdateFileInfo>(); LoadUpdateXML(dic, _remoteVersion, _remoteVersion, _fixFun, _fixFun2, _callBack); } else { _callBack(); } }
private void UpdateOver(int _remoteVersion, Action _callBack) { data.version = _remoteVersion; VersionData.SaveToFile(Application.persistentDataPath + "/" + FILE_NAME, data); #if PLATFORM_PC || PLATFORM_ANDROID if (codeBytes != null) { SystemIO.SaveFile(Application.persistentDataPath + "/" + CODE_BYTES_NAME, codeBytes); codeBytes = null; UseFulUtil.Instance.ShowDialogOne("更新已完成,请重启游戏。", "", QuitApplication); } else { _callBack(); } #else _callBack(); #endif }
public void Sound(string file) { if (!SystemIO.isValid(file)) { return; } CurTimeMs = 0; if (audioFileReader != null) { //wave_out?.Stop(); //audioFileReader.Dispose(); Dispose(); } wave_out = new WaveOut(); audioFileReader = new AudioFileReader(file); wave_out.Init(audioFileReader); Name = new FileInfo(file).Name; file_ = file; }
public void Execute() { OrderManager manager = OrderManagerFactory.Create(); Console.Clear(); string userInput = SystemIO.OrderDateRequest(); DateTime order = Convert.ToDateTime(userInput); OrderResponse response = manager.LookupOrder(order); if (response.Success) { SystemIO.DisplayOrderDetails(response.Order); } else { Console.WriteLine("An error occured: "); Console.WriteLine(response.Message); } Console.ReadKey(); }
public void UpdateSoundList() { StakPanelListSound.Children.Clear(); for (int i = 0; i < cur_list_sound.Count(); i++) { string item = cur_list_sound.GetStrID(i); if (!item.isFormats(StaticFormatsSound.FormatsSound)) { continue; } SoundEngine se = new SoundEngine(); se.Sound(item); DPanelSound dPanelSound = new DPanelSound() { NameSound = se.Name, Path = item, TotalTime = se.TotalTime(), INDEX = StakPanelListSound.Children.Count }; dPanelSound.EventMouseButtonHandler += (oo, ee) => { SetCurSound(dPanelSound); }; dPanelSound.REventMouseButtonHandler += (oo, ee) => { cur_list_sound.RemoveSteing(dPanelSound.Path); UpdateSoundList(); SystemIO.Write(SOUND_LIST_ALL.path, SOUND_LIST_ALL_serializer.Serialize(cur_list_sound)); }; dPanelSound.Update(); StakPanelListSound.Children.Add(dPanelSound); } }
public void Execute() { OrderManager manager = OrderManagerFactory.Create(); string dateInput = SystemIO.OrderDateRequest(); DateTime orderDate = Convert.ToDateTime(dateInput); int orderNumber = SystemIO.OrderNumberRequest(); LookupOrderResponse response = manager.AccountByDateAndNumber(orderDate, orderNumber); if (response.Success) { manager.DeleteOrder(response.Order); Console.WriteLine("Order has been deleted."); } else { Console.WriteLine("An error has occured: "); Console.WriteLine(response.Message); } Console.ReadKey(); }
public void EditState(Order order) { OrderManager manager = OrderManagerFactory.Create(); string newState = SystemIO.EditState(); order.State = newState; FindStateResponse response = manager.GetStateTax(newState); if (response.Success) //edit state issue is in the following potentially { order.TaxData = response.StateTax.TaxRate; manager.SaveExistingOrder(order); SystemIO.DisplaySingleOrderDetails(order); Console.ReadKey(); Console.Clear(); } else { response.Success = false; } }
private void LoadUpdateXMLOK(Dictionary <string, UpdateFileInfo> _dic, int _remoteVersion, Func <string, string> _fixFun, Action _callBack, Action <string> _setTextCallBack, Action <float> _setPercentCallBack, int _allFileSize) { int loadNum = _dic.Count; int loadSize = 0; foreach (KeyValuePair <string, UpdateFileInfo> pair in _dic) { string path = pair.Key; UpdateFileInfo info = pair.Value; string url = _fixFun(info.path + path); Action <WWW> callBack = delegate(WWW obj) { if (obj.error != null) { _setTextCallBack("文件热更新失败 文件名:" + obj.url); SuperDebug.Log("文件热更新失败 文件名:" + obj.url); return; } UInt32 crc = CRC32.Compute(obj.bytes); if (crc != info.crc) { _setTextCallBack("文件热更新CRC比对错误 文件名:" + obj.url); SuperDebug.Log("文件热更新CRC比对错误 文件名:" + obj.url); return; } #if PLATFORM_PC || PLATFORM_ANDROID if (path.Equals(CODE_BYTES_NAME)) { codeBytes = obj.bytes; } else { SystemIO.SaveFile(Application.persistentDataPath + "/" + path, obj.bytes); } #else SystemIO.SaveFile(Application.persistentDataPath + "/" + path, obj.bytes); #endif if (data.dic.ContainsKey(path)) { data.dic[path] = info.version; } else { data.dic.Add(path, info.version); } loadNum--; //_setTextCallBack("正在更新:" + (_dic.Count - loadNum) + "/" + _dic.Count); loadSize += info.size; _setTextCallBack("正在更新:" + Math.Round((float)loadSize / (float)_allFileSize * 100) + "%(" + Math.Round((float)loadSize / 1024 / 1024, 1) + "/" + Math.Round((float)_allFileSize / 1024 / 1024, 1) + ")"); _setPercentCallBack((float)loadSize / (float)_allFileSize); if (loadNum == 0) { UpdateOver(_remoteVersion, _callBack); } }; WWWManager.Instance.LoadRemote(url, callBack); } }
public void Generate(Analysis analysis) { Console.WriteLine("Generating Markdown report..."); StringBuilder sb = new StringBuilder(); FileCommitsList = analysis.FileCommits.Values.OrderByDescending(fc => fc.CommitCount).ThenBy(fc => fc.Filename); UserfileCommitsList = analysis.UserfileCommits.Values.OrderByDescending(fc => fc.CommitCount).ThenBy(fc => fc.Filename).ThenBy(fc => fc.Username); sb.AppendLine($"# {Title}\n"); sb.AppendLine($"Report created: {analysis.CreatedDate.ToString("yyyy-MM-dd")}\n"); var totalCommits = FileCommitsList.Sum(fc => fc.CommitCount); var numberOfAuthors = UserfileCommitsList.Select(ufc => ufc.Username).Distinct().Count(); sb.AppendLine($"## Statistics\n"); sb.AppendLine("| | |"); sb.AppendLine("|---:|----:|"); sb.AppendLine($"| First commit | {analysis.FirstCommitDate.ToString("yyyy-MM-dd")} |"); sb.AppendLine($"| Latest commit | {analysis.LatestCommitDate.ToString("yyyy-MM-dd")} |"); sb.AppendLine($"| Number of commits | {totalCommits} |"); sb.AppendLine($"| Lines of code analyzed | {analysis.LinesOfCodeanalyzed} |"); sb.AppendLine($"| Number of authors | {numberOfAuthors} |"); sb.AppendLine($"| Analysis time(milliseconds) | {analysis.AnalysisTime} |"); sb.AppendLine(); sb.AppendLine("## File changes for each sub-folder"); var folderCommitsList = analysis.FolderCommits.Values.OrderByDescending(fc => fc.FileChanges); foreach (var folder in folderCommitsList.Take(NumberOfFilesToList)) { var folderName = string.Format("{0,50}", folder.FolderName); var changeCount = string.Format("{0,5}", analysis.FolderCommits[folder.FolderName].FileChanges); var percentage = string.Format("{0,5:#0.00}", ((double)analysis.FolderCommits[folder.FolderName].FileChanges / (double)totalCommits) * 100); sb.AppendLine($"{folderName}: {changeCount} ({percentage}%)"); } sb.AppendLine($"{string.Format("{0,51}", "---------------")} {string.Format("{0,6}", "-----")} {string.Format("{0,7}", "------")}"); var total = string.Format("{0,5}", totalCommits); sb.AppendLine($"{string.Format("{0,50}", "Total number of Commits analyzed")}: {total} ({string.Format("{0,5:##0.0}", 100)}%)\n"); sb.AppendLine("---\n"); foreach (var fileChange in FileCommitsList.Take(50)) { var linesOfCode = fileChange.LinesOfCode > 0 ? fileChange.LinesOfCode.ToString() : "N/A"; var cyclomaticComplexity = fileChange.CyclomaticComplexity > 0 ? fileChange.CyclomaticComplexity.ToString() : "N/A"; var methodCount = fileChange.MethodCount > 0 ? fileChange.MethodCount.ToString() : "N/A"; sb.AppendLine($"### {fileChange.Filename}\n"); sb.AppendLine("| | |"); sb.AppendLine("|---:|----:|"); sb.AppendLine($"| Latest commit | {fileChange.LatestCommit.ToString("yyyy-MM-dd")} |"); sb.AppendLine($"| Commits | {fileChange.CommitCount} |"); if (fileChange.FileExists) { sb.AppendLine($"| Lines of code | {linesOfCode} |"); sb.AppendLine($"| Cyclomatic Complexity | {cyclomaticComplexity} |"); sb.AppendLine($"| Method count | {methodCount} |"); } else { sb.AppendLine($"| File has been deleted | |"); } sb.AppendLine(); sb.AppendLine("__Commits by user:__\n"); sb.AppendLine($"| Name | Commits | Percentage |"); sb.AppendLine($"|-----:|--------:|-----------:|"); foreach (var userfileChange in UserfileCommitsList.Where(ufc => ufc.Filename == fileChange.Filename)) { var username = string.Format("{0,20}", userfileChange.Username); var changeCount = string.Format("{0,3}", userfileChange.CommitCount); var percentage = string.Format("{0,5:#0.00}", ((double)userfileChange.CommitCount / (double)fileChange.CommitCount) * 100); sb.AppendLine($"| {username} | {changeCount} | {percentage}% |"); } sb.AppendLine(); } sb.AppendLine("## Code age\n"); sb.AppendLine("| Code age(months) | Filechanges |"); sb.AppendLine("|---:|---:|"); var maxAge = analysis.CodeAge.AsEnumerable().OrderByDescending(kvp => kvp.Key).First().Key; for (var month = 0; month <= maxAge; month++) { var fileChanges = analysis.CodeAge.ContainsKey(month) ? analysis.CodeAge[month] : 0; sb.AppendLine($"|{month}|{fileChanges}|"); } sb.AppendLine(); if (analysis.Tags.Any()) { var tagsOrdered = analysis.Tags.AsEnumerable().OrderByDescending(kvp => kvp.Key).ThenBy(kvp => kvp.Value); sb.AppendLine("## Tags\n"); sb.AppendLine("| Name | Date |"); sb.AppendLine("|:---|----:|"); foreach (var kvp in tagsOrdered) { sb.AppendLine($"| {kvp.Value} | {kvp.Key.ToString("yyyy-MM-dd")} |"); } sb.AppendLine(); } if (analysis.Branches.Any()) { sb.AppendLine("## Branches\n"); sb.AppendLine("| Name |"); sb.AppendLine("|:---|"); foreach (var branch in analysis.Branches) { sb.AppendLine($"| {branch} |"); } sb.AppendLine(); } var fileTypesOrdered = analysis.FileTypes.AsEnumerable().OrderByDescending(kvp => kvp.Value).ThenBy(kvp => kvp.Key); sb.AppendLine("## Number of files of each type\n"); sb.AppendLine("| File type | Count |"); sb.AppendLine("|---:|----:|"); foreach (var kvp in fileTypesOrdered) { sb.AppendLine($"| {kvp.Key} | {kvp.Value} |"); } SystemIO.WriteAllText($"{ReportFilename}.md", sb.ToString()); }
//void CountDownTimer() { // if (_countDownStartValue > 0) { // TimeSpan spanTime = TimeSpan.FromSeconds(_countDownStartValue); // TimerTextUI.text = "Time " + spanTime.Minutes + " : " + spanTime.Seconds; // _countDownStartValue--; // Invoke("CountDownTimer", 1.00f); // } else { // TimerTextUI.color = Color.red; // TimerTextUI.text = "Game Over"; // } //} public void SavePlayer() { SystemIO.SavePlayer(this); }
public static void SaveCsvDataToFile() { SystemIO.SaveSerializeFile(Application.streamingAssetsPath + "/" + datName, dic); }