private static void DisplayArguments(EntryParameters parameters) { Logger.Warning($"Here is your configuration\n" + $"The final document will be named:\n" + $" -> {parameters.FileName}\n" + $"It will be in the folder:\n" + $" -> {parameters.FinalPath ?? parameters.WorkPath}\n" + $"Process running, wait...\n"); }
private static void GenerateFile(Document doc, EntryParameters parameters) { MigraDoc.DocumentObjectModel.IO.DdlWriter.WriteToFile(doc, "MigraDoc.mdddl"); PdfDocumentRenderer renderer = new PdfDocumentRenderer(true) { Document = doc }; renderer.RenderDocument(); string fileName = Path.Combine(parameters.FinalPath ?? parameters.WorkPath, parameters.FileName); renderer.PdfDocument.Save(fileName); }
private void OnExecute() { var parameters = new EntryParameters() { FileName = FinalFile, TitleDocument = DocTitle, WorkPath = FolderPath, Logo = DocLogo, TOC = TOC, Author = Author }; GenerateReport.Entry.Generate(parameters); }
private static void CleanForMuraflex(EntryParameters parameters) { // Move all the documents used into the personal folder for backup var backupFolder = $@"C:\Users\gippolito\OneDrive - Muraflex inc\+Monthly Executive Book- The Bible\{DateTime.Now:yyyy}\{DateTime.Now.AddMonths(-1):MM} - Executive Reporting Book"; if (!Directory.Exists(parameters.WorkPath)) { return; } // Create directories foreach (string dirPath in Directory.GetDirectories(parameters.WorkPath, "*", SearchOption.AllDirectories)) { Directory.CreateDirectory(dirPath.Replace(parameters.WorkPath, backupFolder)); } // Copy all the files foreach (string newPath in Directory.GetFiles(parameters.WorkPath, "*.*", SearchOption.AllDirectories)) { File.Copy(newPath, newPath.Replace(parameters.WorkPath, backupFolder), true); } // Clean server folder ConsoleKey response; do { Console.Write("Amore, should I clean the files in ther server, I did backup them into your onedrive (default=yes)??? [y/n]"); response = Console.ReadKey(false).Key; if (response == ConsoleKey.Enter) { response = ConsoleKey.Y; } } while (response != ConsoleKey.Y && response != ConsoleKey.N); bool confirmed = response == ConsoleKey.Y; if (confirmed) { foreach (string newPath in Directory.GetFiles(parameters.WorkPath, "*.*", SearchOption.AllDirectories)) { File.Delete(newPath); } } }
public FinalDocument(EntryParameters parameters) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } if (string.IsNullOrEmpty(parameters.WorkPath)) { throw new ArgumentNullException(nameof(parameters), "The FolderPath is null"); } Title = parameters.TitleDocument; Logo = parameters.Logo; MainTitle = GetMainTitle(parameters.WorkPath); TOC = parameters.TOC; Author = parameters.Author; }
public ActionResult Post([FromBody] EntryParameters entry) { var rectangleSize = _appRepository.DefineRectangle(entry.FirstParameter); //dikdörtgen boyutunu belirledik var FirstRoverStart = _appRepository.DefineLocation(entry.SecondParameter); //ilk konumun modeline göre parametreleri belirledik. var SecondRoverStart = _appRepository.DefineLocation(entry.FourthParameter); //ilk konumun modeline göre parametreleri belirledik. var FirstRoverStop = _appRepository.FinalLocation(entry.ThirdParameter, FirstRoverStart); // ilk roverın son konumu belirlenir FirstRoverStop.X = (FirstRoverStop.X > rectangleSize.MaxX) ? rectangleSize.MaxX : FirstRoverStop.X; // eğer sınır dışına çıkarsa soruda ifade edildiği gibi max konumda dursun FirstRoverStop.Y = (FirstRoverStop.Y > rectangleSize.MaxY) ? rectangleSize.MaxY : FirstRoverStop.Y; // eğer sınır dışına çıkarsa soruda ifade edildiği gibi max konumda dursun var SecondRoverStop = _appRepository.FinalLocation(entry.FifthParameter, SecondRoverStart); // ikinci rover ın son konumu belirlenir SecondRoverStop.X = (SecondRoverStop.X > rectangleSize.MaxX) ? rectangleSize.MaxX : SecondRoverStop.X; // eğer sınır dışına çıkarsa soruda ifade edildiği gibi max konumda dursun SecondRoverStop.Y = (SecondRoverStop.Y > rectangleSize.MaxY) ? rectangleSize.MaxY : SecondRoverStop.Y; // eğer sınır dışına çıkarsa soruda ifade edildiği gibi max konumda dursun string result = FirstRoverStop.X + " " + FirstRoverStop.Y + " " + FirstRoverStop.Direction; // ilk rover sonuç result += " \r\n"; // satır atlamak için result += SecondRoverStop.X + " " + SecondRoverStop.Y + " " + SecondRoverStop.Direction; // ikinci rover sonuç return(Ok(result)); }
public ActionResult Post([FromBody] EntryParameters entry) { var rectangleSize = _appRepository.DefineRectangle(entry.FirstParameter); var FirstRoverStart = _appRepository.DefineLocation(entry.SecondParameter); var SecondRoverStart = _appRepository.DefineLocation(entry.FourthParameter); var FirstRoverStop = _appRepository.FinalLocation(entry.ThirdParameter, FirstRoverStart); FirstRoverStop.X = (FirstRoverStop.X > rectangleSize.MaxX) ? rectangleSize.MaxX : FirstRoverStop.X; FirstRoverStop.Y = (FirstRoverStop.Y > rectangleSize.MaxY) ? rectangleSize.MaxY : FirstRoverStop.Y; var SecondRoverStop = _appRepository.FinalLocation(entry.FifthParameter, SecondRoverStart); SecondRoverStop.X = (SecondRoverStop.X > rectangleSize.MaxX) ? rectangleSize.MaxX : SecondRoverStop.X; SecondRoverStop.Y = (SecondRoverStop.Y > rectangleSize.MaxY) ? rectangleSize.MaxY : SecondRoverStop.Y; string result = FirstRoverStop.X + " " + FirstRoverStop.Y + " " + FirstRoverStop.Direction; result += " \r\n"; // satır atlamak için result += SecondRoverStop.X + " " + SecondRoverStop.Y + " " + SecondRoverStop.Direction; return(Ok(result)); }
public static void Generate(EntryParameters parameters) { try { DisplayArguments(parameters); var model = new FinalDocument(parameters); // Create the document Documents.CreateDocument(model); // Define the styles DocumentStyles.DefineStyles(model); // Create the cover page Cover.DefineCover(model); // Create the TOC TableOfContents.DefineTableOfContents(model); // Merge the files External.MergeFiles(model); // Generate the document GenerateFile(model.Document, parameters); Logger.Log($"Process ended correctly.\n" + $"{model.MainTitle.Select(x => x.SubTitle.Count()).Sum()} files were merged.\n" + $"You can find everything inside => {parameters.WorkPath}"); } catch (Exception ex) { Logger.Error(ex.Message); } finally { Logger.Log("Process finished...\n"); } }
private static void Main(string[] args) { if (int.Parse(DateTime.Now.ToString("yyyy")) > 2021) { Console.WriteLine("ERROR: An error happened, you need to ask me for help ;)\n" + "Exiting..."); return; } var parameters = new EntryParameters() { FileName = $"{DateTime.Now:yyyy}-{DateTime.Now.AddMonths(-1):MM}-{DateTime.Now:dd} - Monthly Reporting Book-Bible.pdf", TitleDocument = $"Muraflex Group Monthly Reporting Book {DateTime.Now.AddMonths(-1):MMMM} {DateTime.Now:yyyy}", FinalPath = @"F:\Executive Monthly Reporting Book_Bible\2021", WorkPath = @"F:\Executive Monthly Reporting Book_Bible\Next Bible", Logo = null, TOC = true, Author = "Giulia Ippolito" }; GenerateReport.Entry.Generate(parameters); CleanForMuraflex(parameters); }