Exemplo n.º 1
0
 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");
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        private void OnExecute()
        {
            var parameters = new EntryParameters()
            {
                FileName      = FinalFile,
                TitleDocument = DocTitle,
                WorkPath      = FolderPath,
                Logo          = DocLogo,
                TOC           = TOC,
                Author        = Author
            };

            GenerateReport.Entry.Generate(parameters);
        }
Exemplo n.º 4
0
        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);
                }
            }
        }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        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");
            }
        }
Exemplo n.º 9
0
        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);
        }