static void Main() { Console.WriteLine(FileNameHelper.GetFileExtension("example")); Console.WriteLine(FileNameHelper.GetFileExtension("example.pdf")); Console.WriteLine(FileNameHelper.GetFileExtension("example.new.pdf")); Console.WriteLine(FileNameHelper.GetFileNameWithoutExtension("example")); Console.WriteLine(FileNameHelper.GetFileNameWithoutExtension("example.pdf")); Console.WriteLine(FileNameHelper.GetFileNameWithoutExtension("example.new.pdf")); Console.WriteLine($"Distance in the 2D space = {TwoDimensionalCalculator.CalcDistance2D(1, -2, 3, 4):f2}"); Console.WriteLine( $"Distance in the 3D space = {ThreeDimensionalCalculator.CalcDistance3D(5, 2, -1, 3, -6, 4):f2}"); var width = 3; var height = 4; var depth = 5; Console.WriteLine($"Volume = {ThreeDimensionalCalculator.CalcVolume(width, height, depth):f2}"); Console.WriteLine($"Diagonal XYZ = {ThreeDimensionalCalculator.CalcDiagonalXYZ(width, height, depth):f2}"); Console.WriteLine($"Diagonal XY = {TwoDimensionalCalculator.CalcDiagonalXY(width, height):f2}"); Console.WriteLine($"Diagonal XZ = {TwoDimensionalCalculator.CalcDiagonalXZ(width, depth):f2}"); Console.WriteLine($"Diagonal YZ = {TwoDimensionalCalculator.CalcDiagonalYZ(height, depth):f2}"); }
public SourceFileModel GetSourceFileData(IJobContextMessage jobContextMessage) { if (!jobContextMessage.KeyValuePairs.ContainsKey(JobContextMessageKey.Filename)) { throw new ArgumentException($"{nameof(JobContextMessageKey.Filename)} is required"); } var fileName = jobContextMessage.KeyValuePairs[JobContextMessageKey.Filename].ToString(); string[] fileNameParts = FileNameHelper.SplitFileName(fileName); if (fileNameParts.Length != 5) { throw new ArgumentException($"{nameof(JobContextMessageKey.Filename)} is invalid"); } var fileNameDatePart = FileNameHelper.GetPreparedDateFromFileName(fileName); if (!DateTime.TryParse(fileNameDatePart, out var preparationDateTime)) { throw new ArgumentException($"{nameof(JobContextMessageKey.Filename)} is invalid"); } var jobId = jobContextMessage.JobId; return(new SourceFileModel { ConRefNumber = fileNameParts[2], UKPRN = fileNameParts[1], FileName = fileName, PreparationDate = preparationDateTime, SuppliedDate = jobContextMessage.SubmissionDateTimeUtc, JobId = jobId }); }
public void FilepathSet_CounterCylcesThrowFullRange() { //Arrange IFileSystem mockFileSystem = new MockFileSystem(new Dictionary <string, MockFileData>() { { @"c:\temp\", new MockDirectoryData() }, { @"c:\temp\Testname.txt", new MockFileData("dummy") }, { @"c:\temp\Testname_01.txt", new MockFileData("dummy") }, { @"c:\temp\Testname_02.txt", new MockFileData("dummy") }, { @"c:\temp\Testname_03.txt", new MockFileData("dummy") } }); string fullfilename = @"Testname.txt"; string directory = @"c:\temp\"; IFileNameHelper helper = new FileNameHelper(fullFilename: fullfilename, directory: directory, fileSystem: mockFileSystem); string expectedFilepath1 = @"c:\temp\Testname_04.txt"; string expectedFilepath2 = @"c:\temp\Testname_05.txt"; //Act string actualFilepath1 = helper.Filepath; mockFileSystem.File.Create(@"c:\temp\Testname_04.txt"); mockFileSystem.File.Delete(@"c:\temp\Testname_02.txt"); string actualFilepath2 = helper.Filepath; //Assert Assert.Equal(expectedFilepath1, actualFilepath1); Assert.Equal(expectedFilepath2, actualFilepath2); }
public ContainerWriter(Stream writeStream, string fileName, X509Certificate2 certificate) { this.writeStream = writeStream ?? throw new ArgumentNullException(nameof(writeStream)); this.fileName = fileName ?? throw new ArgumentNullException(nameof(writeStream)); FileNameHelper.CheckFileName(fileName, nameof(fileName)); this.aes = new AesManaged(); this.aes.Mode = CipherMode.CBC; this.aes.Padding = PaddingMode.PKCS7; this.aes.KeySize = 256; this.aes.BlockSize = 128; this.randomSource = new Random(Guid.NewGuid().GetHashCode()); this.aes.GenerateKey(); this.aes.GenerateIV(); this.header = new ContainerHeader(); this.header.CertificateThumbprint = certificate.Thumbprint; this.header.EncryptedDataSize = 0L; this.header.KeyType = this.GetKeyType(certificate.GetRSAPublicKey()); this.header.EncryptedKey = certificate.GetRSAPublicKey().Encrypt(this.aes.Key, RSAEncryptionPadding.Pkcs1); //RSA Padding this.header.InitializeVector = this.aes.IV; this.encryptor = this.aes.CreateEncryptor(); this.headerWrited = false; this.AdditionalPadingSize = (uint)this.randomSource.Next(512, 2048); }
public static bool HasDuplicatedEntries(PackageArchiveReader nuGetPackage) { // Normalize paths and ensures case sensitivity is also considered var packageFiles = nuGetPackage.GetFiles().Select(packageFile => FileNameHelper.GetZipEntryPath(packageFile)); return(packageFiles.Count() != packageFiles.Distinct(StringComparer.OrdinalIgnoreCase).Count()); }
public async Task <Response> Handle(Query request, CancellationToken cancellationToken) { var providerContext = _providerContextProvider.GetProviderContext(); var courses = await _sqlQueryDispatcher.ExecuteQuery(new GetCoursesForProvider() { ProviderId = providerContext.ProviderInfo.ProviderId }); var allRegions = await _regionCache.GetAllRegions(); var rows = courses.OrderBy(x => x.LearnAimRef) .ThenBy(x => x.CourseId) .SelectMany(course => CsvCourseRow.FromModel(course, allRegions)) .ToList(); var fileName = FileNameHelper.SanitizeFileName( $"{providerContext.ProviderInfo.ProviderName}_courses_{_clock.UtcNow:yyyyMMddHHmm}.csv"); return(new Response() { FileName = fileName, Rows = rows }); }
public void ImportMapping(FileNameHelper helper) { ResolveMapping(helper.ImportedMappingXmlFileName, helper.OldMappingResultXmlFilePath); var doc = XDocument.Load(helper.OldMappingResultXmlFilePath); ProcessRootNode(doc.Root); if (doc.Root != null) { foreach (var content in doc.Root.Descendants("content")) { var contentId = ProcessContentNode(content); foreach (var field in content.Descendants("attribute")) { ProcessFieldNode(contentId, field); } } foreach (var link in doc.Root.Descendants("link")) { ProcessLinkNode(link); } } File.Delete(helper.OldMappingResultXmlFilePath); }
public SchemaInfo GenerateMainMapping(FileNameHelper helper) { var info = SchemaInfo.Create(Controller.SiteRow); var contentView = new DataView(Controller.ContentsTable); var contentToContentView = new DataView(Controller.ContentToContentTable); var doc = CreateMapping(false, info, contentView, contentToContentView, helper); if (Controller.ProceedMappingWithDb) { contentView.RowFilter = "map_as_class = 1"; contentToContentView.RowFilter = "map_as_class = 1"; doc = CreateMapping(true, info, contentView, contentToContentView, helper); } if (InMemory) { ResolveMapping(doc); } else { ResolveMapping(helper.UsableMappingXmlFileName, helper.MappingResultXmlFileName); } return(info); }
public HomeController(IConfiguration configuration, FileNameHelper fileNameHelper, CoreEncryption coreEncryption, HttpClient httpClient) { this.configuration = configuration; this.fileNameHelper = fileNameHelper; this.coreEncryption = coreEncryption; this.httpClient = httpClient; }
/// <summary> /// Gets the download info both url and response /// </summary> /// <param name="response">HttpWebResponse received from server</param> /// <param name="url">Source url</param> /// <returns></returns> public static HttpDownloadInfo GetFromResponse(HttpWebResponse response, string url) { var headers = response.Headers; var serverFileName = FileNameHelper.GetFileName(response); var contentSize = response.ContentLength; var contentRange = response.Headers[HttpResponseHeader.ContentRange]; if (contentSize < 1 && !string.IsNullOrEmpty(contentRange)) { var parts = contentRange.Split('/'); if (parts.Length > 1) { long.TryParse(parts[1], out contentSize); } } var acceptRanges = headers.AllKeys.Any(x => x.ToLower().Contains("range") && headers[x].Contains("bytes")); acceptRanges &= contentSize > 0; var resume = acceptRanges ? Resumeability.Unknown : Resumeability.No; Debug.WriteLine(response.Headers[HttpResponseHeader.ETag]); return(new HttpDownloadInfo(url, contentSize, acceptRanges, serverFileName, resume)); }
public async Task <ILRFileDetailsModel> GetFileDetails(int ukPrn, CancellationToken cancellationToken) { ILRFileDetailsModel fileDetail = null; try { if (cancellationToken.IsCancellationRequested) { return(null); } fileDetail = await _context.FileDetails .Where(fd => fd.UKPRN == ukPrn) .OrderBy(fd => fd.SubmittedTime) .Select(fd => new ILRFileDetailsModel { FileName = fd.Filename, LastSubmission = fd.SubmittedTime }) .FirstOrDefaultAsync(cancellationToken); } catch (Exception ex) { _logger.LogError($"Failed to get file details with ukPrn {ukPrn}", ex); } if (fileDetail != null && !string.IsNullOrEmpty(fileDetail.FileName)) { fileDetail.Year = FileNameHelper.GetFundingYearFromILRFileName(fileDetail.FileName); } return(fileDetail); }
public async Task <Response> Handle(Query request, CancellationToken cancellationToken) { var providerContext = _providerContextProvider.GetProviderContext(); var apprenticeships = await _sqlQueryDispatcher.ExecuteQuery(new GetApprenticeshipsForProvider() { ProviderId = providerContext.ProviderInfo.ProviderId }); var allRegions = await _regionCache.GetAllRegions(); var rows = apprenticeships .OrderBy(x => x.Standard.StandardCode) .ThenBy(x => x.Standard.Version) .SelectMany(app => CsvApprenticeshipRow.FromModel(app, allRegions)) .ToList(); var fileName = FileNameHelper.SanitizeFileName( $"{providerContext.ProviderInfo.ProviderName}_apprenticeships_{_clock.UtcNow:yyyyMMddHHmm}.csv"); return(new Response() { FileName = fileName, Rows = rows }); }
public async Task <IActionResult> Create(PackageCreateViewModel vm, IFormFile file) { if (ModelState.IsValid) { IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); //check exists - Name = UNQ Package existingPackage = _packageService.GetSingle(p => p.Name == vm.Name); Location loc = _locationService.GetSingle(l => l.LocationId == int.Parse(TempData["locId"].ToString())); if (existingPackage == null) { Package pac = new Package { LocationId = loc.LocationId, Name = vm.Name, LocName = loc.Name, Price = vm.Price, Description = vm.Description, Active = vm.Active, LocState = loc.State, UserId = user.Id }; //upload the picture to the file system //assign the picture URL to the cat object if (file != null) { //check ?? //upload server path var serverPath = Path.Combine(_environment.WebRootPath, "uploads"); //create a folder Directory.CreateDirectory(Path.Combine(serverPath, User.Identity.Name)); //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); //stream the file to the server using (var fileStream = new FileStream(Path.Combine(serverPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } //assign the picture URL to the cat object pac.Picture = User.Identity.Name + "/" + fileName; } //save to db _packageService.Create(pac); //go home return(RedirectToAction("Index", "Home")); } else { ViewBag.MyMessage = "Package name exists. Please change the name"; return(View(vm)); } } else { return(View(vm)); } }
public static string?GuessFileNameFromUrl(string url, int?limitedFileNameLength = null, string?fallbackName = null) { var lastSlash = url.LastIndexOf('/') + 1; var lastQuery = url.IndexOf('?'); if (lastSlash < 0) { return(fallbackName); } // 取 URL 中可能是文件名的部分。 var name = lastQuery < 0 ? url.Substring(lastSlash) : url.Substring(lastSlash, lastQuery - lastSlash); // 对 URL 反转义。 var unescapedName = Uri.UnescapeDataString(name); // 限制文件名长度。 string?limitedFileName = limitedFileNameLength is null ? unescapedName : unescapedName.Length <= limitedFileNameLength.Value ? unescapedName : fallbackName; // 确保文件名字符是安全的。 string?safeFileName = limitedFileName is null ? limitedFileName : FileNameHelper.MakeSafeFileName(limitedFileName); return(safeFileName); }
private static bool TryGetImageFromTempFolder(string resource_name, out Image res) { res = null; if (!option.EnableFileCache || temporary_folder_path == null) { return(false); } resource_name = FileNameHelper.FilterFileName(resource_name); resource_name = resource_name.EndsWith(".cache") ? resource_name : (resource_name + ".cache"); var file_path = Path.Combine(temporary_folder_path, resource_name); if (File.Exists(file_path)) { try { res = Image.FromFile(file_path); return(true); } catch (Exception e) { Log.Debug("Failed to load cache image from cache folder:" + e.Message); return(false); } } else { return(false); } }
public async Task <ILRFileDetails> GetFileDetails( int ukPrn, CancellationToken cancellationToken) { ILRFileDetails fileDetail; cancellationToken.ThrowIfCancellationRequested(); using (var context = _rulebaseContext()) { fileDetail = await context.FileDetails .Where(fd => fd.Ukprn == ukPrn) .OrderBy(fd => fd.SubmittedTime) .Select(fd => new ILRFileDetails { FileName = fd.Filename, LastSubmission = fd.SubmittedTime }) .FirstOrDefaultAsync(cancellationToken); } if (fileDetail != null && !string.IsNullOrEmpty(fileDetail.FileName)) { fileDetail.Year = FileNameHelper.GetFundingYearFromILRFileName(fileDetail.FileName); } return(fileDetail); }
public static string BuildFileName(PackageValidationSet validationSet, string pathTemplate, string extension) { string id = validationSet.PackageId; string version = validationSet.PackageNormalizedVersion; return(FileNameHelper.BuildFileName(id, version, pathTemplate, extension)); }
public SchemaInfo GeneratePartialMapping(FileNameHelper helper, ContextClassInfo info) { var schemaInfo = SchemaInfo.Create(Controller.SiteRow); schemaInfo.IsPartial = true; if (!string.IsNullOrEmpty(info.NamespaceName)) { schemaInfo.NamespaceName = info.NamespaceName; } schemaInfo.ClassName = info.ClassName; var contentView = new DataView(Controller.ContentsTable) { RowFilter = $"add_context_class_name = '{info.FullClassName}'" }; var contentToContentView = new DataView(Controller.ContentToContentTable) { RowFilter = "map_as_class = 1" }; var doc = CreateMapping(true, schemaInfo, contentView, contentToContentView, helper); if (InMemory) { ResolveMapping(doc); } else { ResolveMapping(helper.UsableMappingXmlFileName, helper.MappingResultXmlFileName); } return(schemaInfo); }
public async Task <IActionResult> Update(PackageUpdateViewModel vm, IFormFile file) { if (ModelState.IsValid) { Package package = _packageService.GetSingle(p => p.PackageId == vm.PackageId); package.Name = vm.Name; package.LocName = vm.LocName; package.Price = vm.Price; package.Description = vm.Description; package.LocState = vm.LocState; package.Active = vm.Active; //Package pac = new Package //{ // LocationId = int.Parse(TempData["locId"].ToString()), // Name = vm.Name, // Price = vm.Price, // Description = vm.Description, // Active = vm.Active, // Picture=vm.Picture //}; //upload the picture to the file system //assign the picture URL to the cat object if (file != null) { //check ?? //upload server path var serverPath = Path.Combine(_environment.WebRootPath, "uploads"); //create a folder Directory.CreateDirectory(Path.Combine(serverPath, User.Identity.Name)); //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); //stream the file to the srever using (var fileStream = new FileStream(Path.Combine(serverPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } //assign the picture URL to the cat object package.Picture = User.Identity.Name + "/" + fileName; //string oldPicturePath = "~/uploads/" + vm.Picture; //FileInfo myfileinf = new FileInfo(oldPicturePath); //myfileinf.Delete(); } //save to db _packageService.Update(package); //go home return(RedirectToAction("Index", "Home")); } else { return(View(vm)); } }
//[Authorize("TravelProvider")] public async Task <IActionResult> Add(PackageAddViewModel vm, IFormFile file) { if (ModelState.IsValid) { //get the user who already logged in IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); //get the profile for this user //call the service to check if Package name already exist Package packExist = _packageDataService.GetSingle(p => p.PackName.ToUpper().Trim() == vm.PackName.ToUpper().Trim()); if (packExist == null) // Not found, then ok to add { Package package = new Package { UserId = user.Id, PackName = vm.PackName, PackLocation = vm.PackLocation, PackDescription = vm.PackDescription, PackPrice = vm.PackPrice, PackageStatus = vm.PackageStatus }; if (file != null) { //upload server path var uploadPath = Path.Combine(_environment.WebRootPath, "images"); //create subfolder Directory.CreateDirectory(Path.Combine(uploadPath, User.Identity.Name)); //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); // stream the file to the srever using (var fileStream = new FileStream(Path.Combine(uploadPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } //add the file url to category package.PackImage = User.Identity.Name + "/" + fileName; } _packageDataService.Create(package); //go to home page return(RedirectToAction("Index", "Package")); } else { ModelState.AddModelError("", "Something is wrong"); } } return(View(vm)); }
public async Task <string> ReadFileName() { if (this.fileName != null) { return(this.fileName); } ContainerHeader header = await ContainerHeader.ReadFromStream(this.readerStream); byte[]? aesKey = null; try { aesKey = await this.cryptoAccessor.AsymetricDecrypt(header.CertificateThumbprint, header.EncryptedKey, RSAEncryptionPadding.Pkcs1); //RSA Padding this.aesDecryptor = this.aes.CreateDecryptor(aesKey, header.InitializeVector); this.cryptoStream = new CryptoStream(this.readerStream, this.aesDecryptor, CryptoStreamMode.Read); using (BinaryDataStream bds = new BinaryDataStream(this.cryptoStream, false)) { //TODO: Optimalization for (uint i = 0; i < 16; i++) { bds.ReadByte(); } uint randomDataSize = await bds.Read4BitNumber(); uint stringLen = await bds.Read4BitNumber(); //TODO: Optimalization for (uint i = 0; i < randomDataSize; i++) { bds.ReadByte(); } string fileName = await bds.ReadConstatntString((int)stringLen, Encoding.UTF8); FileNameHelper.CheckFileName(fileName, nameof(fileName)); this.fileName = fileName; return(fileName); } } finally { if (aesKey != null) { for (int i = 0; i < aesKey.Length; i++) { aesKey[i] = 0x00; aesKey[i] = 0xFF; } } } }
private void CreateLinqFolders(FileNameHelper helper) { if (!Directory.Exists(helper.AppDataFolder)) { Directory.CreateDirectory(helper.AppDataFolder); } if (!Directory.Exists(helper.AppCodeFolder)) { Directory.CreateDirectory(helper.AppCodeFolder); } }
public async Task <string> UploadImageAsBlob(IFormFile file) { if (file != null && (file.ContentType.StartsWith("image") || file.ContentType.StartsWith("audio") || file.ContentType.StartsWith("video"))) { _stream = file.OpenReadStream(); string extension = Path.GetExtension(file.FileName); _blockBlob = _container.GetBlockBlobReference(FileNameHelper.CreateFileName(extension)); await _blockBlob.UploadFromStreamAsync(_stream); return(_blockBlob.Name); } return(null); }
public void CreateInputData(string folderPath) { for (int i = 1; i <= _numberOfRandomInputs; i++) { var inputFileName = FileNameHelper.GenerateFileName("random_", ".in", i, _numberOfRandomInputs); var inputFilePath = Path.Combine(folderPath, inputFileName); using (var inputFileWriter = new StreamWriter(inputFilePath)) { _createAction.Invoke(inputFileWriter, _random); } } }
public async Task <IActionResult> UpdateProfile(CustomerUpdateProfileViewModel vm, IFormFile file) { if (ModelState.IsValid) { //get the user who already logged in IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); //get the profile for this user Customer customer = _customerDataService.GetSingle(p => p.UserId == user.Id); //map the vm customer.FirstName = vm.FirstName; customer.LastName = vm.LastName; customer.Phone = vm.Phone; customer.Address = vm.Address; customer.ProfilePhoto = vm.ProfilePhoto; if (file != null) { //&& System.IO.File.Exists(customer.ProfilePhoto) //System.IO.File.Delete(customer.ProfilePhoto); //upload server path var uploadPath = Path.Combine(_environment.WebRootPath, "images"); //create subfolder Directory.CreateDirectory(Path.Combine(uploadPath, User.Identity.Name)); //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); // stream the file to the srever using (var fileStream = new FileStream(Path.Combine(uploadPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } //add the file url to category customer.ProfilePhoto = User.Identity.Name + "/" + fileName; } //save changes _customerDataService.Update(customer); user.Email = vm.Email; user.UserName = vm.UserName; await _userManagerService.UpdateAsync(user); //go home return(RedirectToAction("Index", "Customer")); } return(View(vm)); }
public async Task <IActionResult> Create(PackageCreateViewModel vm, IFormFile file) { IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); if (ModelState.IsValid) { Package existingPackage = _packageDataService.GetSingle(p => p.Name == vm.PackageName); if (existingPackage == null) { Package package = new Package { Name = vm.PackageName, Price = vm.Price, Location = vm.LocationName, Description = vm.Description, IsAvailable = true, LocationId = vm.LocationId, UserId = user.Id }; if (file != null) { var serverPath = Path.Combine(_environment.WebRootPath, "uploads/package"); Directory.CreateDirectory(Path.Combine(serverPath, User.Identity.Name)); string fileName = FileNameHelper.GetNameFormatted(Path.GetFileName(file.FileName)); using (var fileStream = new FileStream(Path.Combine(serverPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } package.Picture = User.Identity.Name + "/" + fileName; } else if (file == null) { package.Picture = "apackagegen.jpg"; } _packageDataService.Create(package); return(RedirectToAction("Details", "Package", new { id = package.PackageId })); } else { ViewBag.MyMessage = "Package name exists. please change the name"; return(View(vm)); } } else { return(View(vm)); } }
public void FullFilenameSet_WrongExtensionDefaultsToStandard() { //Arrange IFileNameHelper helper = new FileNameHelper(); helper.FullFilename = @".\Testname."; string expectedFullFilename = "Testname.csv"; //Act string actualFilename = helper.FullFilename; //Assert Assert.Equal(expectedFullFilename, actualFilename); }
private FundingSummaryHeaderModel PopulateReportHeader( SourceFileModel sourceFile, IEnumerable <ILRFileDetailsModel> fileData, int ukPrn, CancellationToken cancellationToken) { var ukPrnRow = new List <string> { ukPrn.ToString(), string.Empty, string.Empty }; var contractReferenceNumberRow = new List <string> { sourceFile.ConRefNumber, string.Empty, string.Empty, "ILR File :" }; var supplementaryDataFileRow = new List <string> { sourceFile.FileName.Contains("/") ? sourceFile.FileName.Substring(sourceFile.FileName.IndexOf("/", StringComparison.Ordinal) + 1) : sourceFile.FileName, string.Empty, string.Empty, "Last ILR File Update :" }; var lastSupplementaryDataFileUpdateRow = new List <string> { sourceFile.SuppliedDate?.ToString("dd/MM/yyyy hh:mm:ss"), string.Empty, string.Empty, "File Preparation Date :" }; foreach (var model in fileData) { var preparationDate = FileNameHelper.GetPreparedDateFromILRFileName(model.FileName); var secondYear = FileNameHelper.GetSecondYearFromReportYear(model.Year); ukPrnRow.Add(string.Empty); ukPrnRow.Add($"{model.Year}/{secondYear}"); contractReferenceNumberRow.Add(model.FileName.Substring(model.FileName.Contains("/") ? model.FileName.IndexOf("/", StringComparison.Ordinal) + 1 : 0)); contractReferenceNumberRow.Add(string.Empty); supplementaryDataFileRow.Add(model.LastSubmission?.ToString("dd/MM/yyyy hh:mm:ss")); supplementaryDataFileRow.Add(string.Empty); lastSupplementaryDataFileUpdateRow.Add(preparationDate); lastSupplementaryDataFileUpdateRow.Add(string.Empty); } var header = new FundingSummaryHeaderModel { ProviderName = _referenceDataCache.GetProviderName(ukPrn, cancellationToken), Ukprn = ukPrnRow.ToArray(), ContractReferenceNumber = contractReferenceNumberRow.ToArray(), SupplementaryDataFile = supplementaryDataFileRow.ToArray(), LastSupplementaryDataFileUpdate = lastSupplementaryDataFileUpdateRow.ToArray() }; return(header); }
public void ConstructorFullFilenameSet_Ok() { //Arrange string fullfilename = @"Testname.txt"; string directory = @".\"; IFileNameHelper helper = new FileNameHelper(fullfilename, directory); string expectedFilename = "Testname.txt"; //Act string actualFilename = helper.FullFilename; //Assert Assert.Equal(expectedFilename, actualFilename); }
private static async Task Properties(StreamWriter writer, Type type, XDocument xmlComments) { var properties = type.GetProperties().Where(TypeHelper.IgnoreDeclaringType).ToList(); if (properties.Count > 0) { await writer.WriteLineAsync("### Properties"); await writer.WriteLineAsync("| | |"); await writer.WriteLineAsync("|_|_|"); foreach (var property in properties.OrderBy(o => o.Name)) { await writer.WriteAsync("["); await writer.WriteAsync(property.Name); await writer.WriteAsync("]("); await writer.WriteAsync(FileNameHelper.PropertyFileName(string.Empty, property)); await writer.WriteAsync(")|"); var summary = XmlCommentHelper.Property(xmlComments, property); await writer.WriteAsync(summary); if (property.DeclaringType != type) { if (summary.Length > 0) { await writer.WriteAsync("<br/>"); } await writer.WriteAsync("(Inherited from "); await writer.WriteAsync(property.DeclaringType?.Name); await writer.WriteAsync(")"); } await writer.WriteLineAsync(); } } await writer.WriteLineAsync(); }