Esempio n. 1
0
        private List <RepositoryDetailsModel> ExtractData(Stream zipStream)
        {
            var guid          = Guid.NewGuid();
            var pathToExtract = $"{Directory.GetCurrentDirectory()}/downloads/{guid}";

            using (var zip = new ZipArchive(zipStream, ZipArchiveMode.Read))
            {
                zip.ExtractToDirectory(pathToExtract);
            }

            DirectoryInfo directoryInfo = new DirectoryInfo(pathToExtract);

            var groupedFiles = directoryInfo.GetFiles("*", SearchOption.AllDirectories).GroupBy(p => p.Extension);

            var detailsResult = new List <RepositoryDetailsModel>();

            foreach (var fileGroup in groupedFiles)
            {
                var detail = new RepositoryDetailsModel()
                {
                    FileExtension = fileGroup.First().Extension,
                    TotalBytes    = fileGroup.Sum(p => p.Length),
                    TotalLines    = fileGroup.Sum(p => File.ReadAllLines(p.FullName).Length),
                    Files         = fileGroup.Select(p => p.Name).ToList()
                };

                detailsResult.Add(detail);
            }

            directoryInfo.Delete(true);

            return(detailsResult);
        }
Esempio n. 2
0
        //private void OnGateCommand(object obj)
        //{
        //    ToolRunModel.GateType=
        //}

        private ObservableCollection <RepositoryDetailsModel> ParseRecentRepos(GatingResult[] results)
        {
            ObservableCollection <RepositoryDetailsModel> repositoryDetailsModels = new ObservableCollection <RepositoryDetailsModel>();

            for (int i = 0; i < results.Length; i++)
            {
                var result = new RepositoryDetailsModel();
                if (results[i].Reository.LastIndexOf('\\') > 0)
                {
                    result.Repository = results[i].Reository.Substring(results[i].Reository.LastIndexOf('\\') + 1);
                }
                else
                {
                    result.Repository = results[i].Reository;
                }
                result.Branch   = results[i].Branch;
                result.DateTime = results[i].DateTime;
                result.Tool     = results[i].Tool.ToString();
                result.Errors   = results[i].NoOfError.ToString();
                result.Colour   = results[i].Result ? "ForestGreen" : "Crimson";
                repositoryDetailsModels.Add(result);
            }
            //repositoryDetailsModels.Add(new RepositoryDetailsModel
            //{
            //    Branch = "master",
            //    Colour = "Crimson",
            //    DateTime = DateTime.Now.ToString(),
            //    Errors = "10",
            //    Repository = "dummyRepo.git",
            //    Tool = Tools.Resharper.ToString()
            //});
            //repositoryDetailsModels.Add(new RepositoryDetailsModel
            //{
            //    Branch = "notMaster",
            //    Colour = "ForestGreen",
            //    DateTime = DateTime.Now.ToString(),
            //    Errors = "6",
            //    Repository = "abc/dummyRepoNew.git",
            //    Tool = Tools.Resharper.ToString()
            //});
            return(repositoryDetailsModels);
        }