protected ValidateFileResponse LogResult(ValidateFileResult result, string message, string relativeFilePath) { var response = new ValidateFileResponse(); switch (result) { case ValidateFileResult.Failed: Logger.Error(message); break; case ValidateFileResult.FileNotFound: Logger.Warning(message); break; case ValidateFileResult.Success: Logger.Success(message); break; case ValidateFileResult.NotProcessed: Logger.Info(message); break; default: throw new ArgumentOutOfRangeException(nameof(result), result, null); } response.Result = result; response.Message = message; response.FileName = relativeFilePath; return(response); }
public ValidateFileResponse Process(string relativeFilePath, SearchOption searchOption) { var response = new ValidateFileResponse(); var message = string.Empty; var fullFilePath = string.Format(@"{0}{1}", _sitecoreWebRoot, relativeFilePath); var extensionToBe = string.Format(".{0}", ConfigEditOptions.Disable.ToFileExtension()); if (!FindFileOnDisk(ref fullFilePath, extensionToBe)) { return(LogResult(ValidateFileResult.FileNotFound, string.Format("Path to file " + fullFilePath + " does not exist"), relativeFilePath)); } var file = new FileInfo(fullFilePath); var currentExtension = file.Extension; if (IsExcludedExtension(currentExtension) || string.Equals(currentExtension, extensionToBe)) { return(LogResult(ValidateFileResult.Success, string.Format("The file {0} has a valid extension of {1}", relativeFilePath, extensionToBe), relativeFilePath)); } try { var indexStr = ConfigEditOptions.Enable.ToFileExtension(); var strIndexEnd = fullFilePath.IndexOf(indexStr) + indexStr.Length; var configBasedFilePath = fullFilePath.Substring(0, strIndexEnd); file.CopyTo(string.Concat(configBasedFilePath, extensionToBe)); file.Delete(); return(LogResult(ValidateFileResult.Success, string.Format("File {0} renamed from to add .disabled extension", file.FullName), relativeFilePath)); } catch (Exception ex) { return(LogResult(ValidateFileResult.Failed, string.Format("An error occurred editing the file {0} to the extension {1} - {2}", relativeFilePath, extensionToBe, ex.Message), relativeFilePath)); } return(LogResult(ValidateFileResult.Failed, "Fallen trough", relativeFilePath)); }
public ActionResult Index(ValidateFileRequest request) { // List invalid file names. string[] badNames = { "P111111.pdf", "P222222.pdf", "P333333.pdf", "P444444.pdf", "P555555.pdf", "P666666.pdf", "P777777.pdf", "P888888.pdf", "P999999.pdf" }; ValidateFileResponse validation; // Validate file. if (request.Length < 5) { validation = new ValidateFileResponse { Accept = false, RejectReason = "The file is too small." }; } else if (request.ContentType != "application/pdf") { validation = new ValidateFileResponse { Accept = false, RejectReason = "The file is not a PDF." }; } else if (badNames.Contains(request.Name)) { validation = new ValidateFileResponse { Accept = false, RejectReason = "The file name is invalid." }; } else { validation = new ValidateFileResponse { Accept = true }; } return(Json(validation)); }
public void Add(ValidateFileResponse result) { _responses.Add(result); }