Esempio n. 1
0
        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}");
        }
Esempio n. 2
0
        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
            });
        }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
        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;
 }
Esempio n. 10
0
        /// <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));
        }
Esempio n. 11
0
        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
            });
        }
Esempio n. 13
0
        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);
            }
Esempio n. 15
0
        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);
        }
Esempio n. 17
0
        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));
        }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
        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;
                    }
                }
            }
        }
Esempio n. 22
0
        private void CreateLinqFolders(FileNameHelper helper)
        {
            if (!Directory.Exists(helper.AppDataFolder))
            {
                Directory.CreateDirectory(helper.AppDataFolder);
            }

            if (!Directory.Exists(helper.AppCodeFolder))
            {
                Directory.CreateDirectory(helper.AppCodeFolder);
            }
        }
Esempio n. 23
0
        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);
        }
Esempio n. 24
0
        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);
                }
            }
        }
Esempio n. 25
0
        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));
        }
Esempio n. 26
0
        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));
            }
        }
Esempio n. 27
0
        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);
        }
Esempio n. 29
0
        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();
        }