CloseLog() public static method

public static CloseLog ( ) : void
return void
Esempio n. 1
0
        public static void DoWork()
        {
            string timeStamp = DateTime.Now.ToString("yyyyMMdd_hhmmss");

            csvOutputFileSpec      = Environment.CurrentDirectory + "\\ManageMaintenanceBanners-" + timeStamp + Constants.CSVExtension;
            csvOutputFileHasHeader = System.IO.File.Exists(csvOutputFileSpec);

            Logger.OpenLog("ManageMaintenanceBanners", timeStamp);
            Logger.LogInfoMessage(String.Format("Scan starting {0}", DateTime.Now.ToString()), true);

            BannerOperation operationToPerform = BannerOperation.None;

            if (!ReadInputOptions(ref operationToPerform))
            {
                System.Console.ForegroundColor = System.ConsoleColor.Yellow;
                Logger.LogInfoMessage("Operation aborted by user.", true);
                Logger.LogInfoMessage(String.Format("Scan aborted {0}", DateTime.Now.ToString()), true);
                Logger.CloseLog();
                System.Console.ResetColor();
                return;
            }

            string cdnAbsoluteUrl = String.Empty;

            if (operationToPerform == BannerOperation.Add)
            {
                if (!ReadCdnUrl(ref cdnAbsoluteUrl))
                {
                    System.Console.ForegroundColor = System.ConsoleColor.Red;
                    Logger.LogErrorMessage("CDN Library Folder Url was not specified.");
                    Logger.LogInfoMessage(String.Format("Scan aborted {0}", DateTime.Now.ToString()), true);
                    Logger.CloseLog();
                    System.Console.ResetColor();
                    return;
                }
            }

            string inputFileSpec = Environment.CurrentDirectory + "\\" + Constants.UsageReport_SitesInputFileName;

            if (!System.IO.File.Exists(inputFileSpec))
            {
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                Logger.LogErrorMessage(String.Format("Input file {0} is not available", inputFileSpec), true);
                Logger.LogInfoMessage(String.Format("Scan aborted {0}", DateTime.Now.ToString()), true);
                Logger.CloseLog();
                System.Console.ResetColor();
                return;
            }

            string[] siteUrls = Helper.ReadInputFile(inputFileSpec, false);
            Logger.LogInfoMessage(String.Format("Preparing to process a total of {0} sites ...", siteUrls.Length), true);

            foreach (string siteUrl in siteUrls)
            {
                ProcessSite(siteUrl, operationToPerform, cdnAbsoluteUrl);
            }

            Logger.LogInfoMessage(String.Format("Scan completed {0}", DateTime.Now.ToString()), true);
            Logger.CloseLog();
        }
        public static void DoWork()
        {
            string timeStamp      = DateTime.Now.ToString("yyyyMMdd_hhmmss");
            string setupInputFile = string.Empty;

            Logger.OpenLog("DeleteSetupFiles", timeStamp);

            //if (!ShowInformation())
            //    return;

            if (!ReadInputFile(ref setupInputFile))
            {
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                Logger.LogErrorMessage("Setup Files input file is not valid or available. So, Operation aborted!");
                Logger.LogErrorMessage("Please enter path like: E.g. C:\\<Working Directory>\\<InputFile>.csv");
                System.Console.ResetColor();
                return;
            }

            string inputFileSpec = setupInputFile;

            if (System.IO.File.Exists(inputFileSpec))
            {
                Logger.LogInfoMessage(String.Format("Scan starting {0}", DateTime.Now.ToString()), true);
                IEnumerable <MissingSetupFilesInput> objInputMissingSetupFiles = ImportCSV.ReadMatchingColumns <MissingSetupFilesInput>(inputFileSpec, Constants.CsvDelimeter);
                if (objInputMissingSetupFiles != null && objInputMissingSetupFiles.Any())
                {
                    try
                    {
                        string csvFile = Environment.CurrentDirectory + @"\" + Constants.DeleteSetupFileStatus + timeStamp + Constants.CSVExtension;
                        if (System.IO.File.Exists(csvFile))
                        {
                            System.IO.File.Delete(csvFile);
                        }
                        Logger.LogInfoMessage(String.Format("Preparing to delete a total of {0} files ...", objInputMissingSetupFiles.Cast <Object>().Count()), true);

                        foreach (MissingSetupFilesInput missingFile in objInputMissingSetupFiles)
                        {
                            DeleteMissingFile(missingFile, csvFile);
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.LogErrorMessage(String.Format("[DeleteSetupFiles: DoWork] failed: Error={0}", ex.Message), true);
                        ExceptionCsv.WriteException(Constants.NotApplicable, Constants.NotApplicable, Constants.NotApplicable, "SetupFile", ex.Message,
                                                    ex.ToString(), "DoWork", ex.GetType().ToString(), "Exception occured while reading input file");
                    }
                }
                else
                {
                    Logger.LogInfoMessage("There is nothing to delete from the '" + inputFileSpec + "' File ", true);
                }
                Logger.LogInfoMessage(String.Format("Scan Completed {0}", DateTime.Now.ToString()), true);
            }
            else
            {
                Logger.LogErrorMessage(String.Format("[DeleteSetupFiles: DoWork]: Input file {0} is not available", inputFileSpec), true);
            }
            Logger.CloseLog();
        }
Esempio n. 3
0
        public static void DoWork()
        {
            Logger.OpenLog("DeleteMissingEventReceivers");
            Logger.LogInfoMessage(String.Format("Scan starting {0}", DateTime.Now.ToString()), true);

            string inputFileSpec = Environment.CurrentDirectory + "\\" + Constants.MissingEventReceiversInputFileName;
            //Read Input file
            IEnumerable <MissingEventReceiversInput> objInputMissingEventReceivers = ImportCSV.ReadMatchingColumns <MissingEventReceiversInput>(inputFileSpec, Constants.CsvDelimeter);

            if (objInputMissingEventReceivers != null)
            {
                try
                {
                    Logger.LogInfoMessage(String.Format("Preparing to delete a total of {0} event receivers ...", objInputMissingEventReceivers.Cast <Object>().Count()), true);

                    foreach (MissingEventReceiversInput MissingEventReceiver in objInputMissingEventReceivers)
                    {
                        DeleteMissingEventReceiver(MissingEventReceiver);
                    }
                }
                catch (Exception ex)
                {
                    Logger.LogErrorMessage(String.Format("DeleteMissingEventReceivers() failed: Error={0}", ex.Message), true);
                }

                Logger.LogInfoMessage(String.Format("Scan completed {0}", DateTime.Now.ToString()), true);
            }
            else
            {
                Logger.LogInfoMessage("There is nothing to delete from the '" + inputFileSpec + "' File ", true);
            }
            Logger.CloseLog();
        }
        public static void DoWork()
        {
            string timeStamp = DateTime.Now.ToString("yyyyMMdd_hhmmss");

            csvOutputFileSpec      = Environment.CurrentDirectory + "\\ResetDeviceChannelMappingFiles-" + timeStamp + Constants.CSVExtension;
            csvOutputFileHasHeader = System.IO.File.Exists(csvOutputFileSpec);

            Logger.OpenLog("ResetDeviceChannelMappingFiles", timeStamp);
            Logger.LogInfoMessage(String.Format("Scan starting {0}", DateTime.Now.ToString()), true);

            string inputFileSpec = String.Empty;

            if (!ReadInputFile(ref inputFileSpec))
            {
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                Logger.LogErrorMessage(String.Format("Input file [{0}] does not exist.", inputFileSpec), true);
                Logger.LogInfoMessage(String.Format("Scan aborted {0}", DateTime.Now.ToString()), true);
                Logger.CloseLog();
                System.Console.ResetColor();
                return;
            }

            // The Locked Master Pages input file is essentially a filtered instance of the Missing Setup Files input file.
            IEnumerable <LockedMasterPageFilesInput> objInputLockedMasterPageFiles = ImportCSV.ReadMatchingColumns <LockedMasterPageFilesInput>(inputFileSpec, Constants.CsvDelimeter);

            if (objInputLockedMasterPageFiles == null || objInputLockedMasterPageFiles.Count() == 0)
            {
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                Logger.LogErrorMessage(String.Format("Input file [{0}] is empty.", inputFileSpec), true);
                Logger.LogInfoMessage(String.Format("Scan aborted {0}", DateTime.Now.ToString()), true);
                Logger.CloseLog();
                System.Console.ResetColor();
                return;
            }

            Logger.LogInfoMessage(String.Format("Preparing to process a total of {0} master page files ...", objInputLockedMasterPageFiles.Count()), true);
            try
            {
                foreach (LockedMasterPageFilesInput masterPageFile in objInputLockedMasterPageFiles)
                {
                    ResetMappingFile(masterPageFile);
                }
            }
            catch (Exception ex)
            {
                Logger.LogErrorMessage(String.Format("ResetDeviceChannelMappingFiles() failed: Error={0}", ex.Message), true);
                ExceptionCsv.WriteException(
                    Constants.NotApplicable, Constants.NotApplicable, Constants.NotApplicable,
                    "MappingFile",
                    ex.Message, ex.ToString(), "DoWork", ex.GetType().ToString(),
                    "Exception occured while processing input file."
                    );
            }

            Logger.LogInfoMessage(String.Format("Scan completed {0}", DateTime.Now.ToString()), true);
            Logger.CloseLog();
        }
        public static void DoWork()
        {
            string timeStamp = DateTime.Now.ToString("yyyyMMdd_hhmmss");

            csvOutputFileSpec      = Environment.CurrentDirectory + "\\GenerateSecurityGroupReport-" + timeStamp + Constants.CSVExtension;
            csvOutputFileHasHeader = System.IO.File.Exists(csvOutputFileSpec);

            Logger.OpenLog("GenerateSecurityGroupReport", timeStamp);
            Logger.LogInfoMessage(String.Format("Scan starting {0}", DateTime.Now.ToString()), true);

            string[] securityGroups = new string[0];
            string   securityGroupsInputFileSpec = Environment.CurrentDirectory + "\\" + Constants.SecurityGroupsInputFileName;

            if (!System.IO.File.Exists(securityGroupsInputFileSpec))
            {
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                Logger.LogErrorMessage(String.Format("Input file {0} is not available", securityGroupsInputFileSpec), true);
                Logger.LogInfoMessage(String.Format("Scan aborted {0}", DateTime.Now.ToString()), true);
                Logger.CloseLog();
                System.Console.ResetColor();
                return;
            }
            securityGroups = Helper.ReadInputFile(securityGroupsInputFileSpec, false);
            if (securityGroups.Length == 0)
            {
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                Logger.LogErrorMessage(String.Format("Input file {0} is empty", securityGroupsInputFileSpec), true);
                Logger.LogInfoMessage(String.Format("Scan aborted {0}", DateTime.Now.ToString()), true);
                Logger.CloseLog();
                System.Console.ResetColor();
                return;
            }
            Logger.LogInfoMessage(String.Format("Loaded a total of {0} security groups ...", securityGroups.Length), true);

            string inputFileSpec = Environment.CurrentDirectory + "\\" + Constants.UsageReport_SitesInputFileName;

            if (!System.IO.File.Exists(inputFileSpec))
            {
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                Logger.LogErrorMessage(String.Format("Input file {0} is not available", inputFileSpec), true);
                Logger.LogInfoMessage(String.Format("Scan aborted {0}", DateTime.Now.ToString()), true);
                Logger.CloseLog();
                System.Console.ResetColor();
                return;
            }

            string[] siteUrls = Helper.ReadInputFile(inputFileSpec, false);
            Logger.LogInfoMessage(String.Format("Preparing to scan a total of {0} sites ...", siteUrls.Length), true);

            foreach (string siteUrl in siteUrls)
            {
                ProcessSite(siteUrl, securityGroups);
            }
            Logger.LogInfoMessage(String.Format("Scan completed {0}", DateTime.Now.ToString()), true);
            Logger.CloseLog();
        }
Esempio n. 6
0
        public static void DoWork()
        {
            outputPath = Environment.CurrentDirectory;
            string webUrl = string.Empty;
            string serverRelativePageUrl = string.Empty;
            string webPartID             = string.Empty;
            string timeStamp             = DateTime.Now.ToString("yyyyMMdd_hhmmss");

            //Trace Log TXT File Creation Command
            Logger.OpenLog("WebpartProperties", timeStamp);

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            System.Console.WriteLine("Please enter Web Url : ");
            System.Console.ResetColor();
            webUrl = System.Console.ReadLine().ToLower();
            if (string.IsNullOrEmpty(webUrl))
            {
                Logger.LogErrorMessage("[WebpartProperties: DoWork]WebUrl should not be empty or null. Operation aborted...", true);
                return;
            }

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            System.Console.WriteLine("Please enter Server Relative PageUrl (E:g- /sites/DTTesting/SitePages/WebPartPage.aspx): ");
            System.Console.ResetColor();
            serverRelativePageUrl = System.Console.ReadLine().ToLower();
            if (string.IsNullOrEmpty(serverRelativePageUrl))
            {
                Logger.LogErrorMessage("[WebpartProperties: DoWork]ServerRelative PageUrl should not be empty or null. Operation aborted...", true);
                return;
            }

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            System.Console.WriteLine("Please enter WebPart ID : ");
            System.Console.ResetColor();
            webPartID = System.Console.ReadLine().ToLower();
            if (string.IsNullOrEmpty(webPartID))
            {
                Logger.LogErrorMessage("[WebpartProperties: DoWork]WebPart ID should not be empty or null. Operation aborted...", true);
                return;
            }
            Logger.LogInfoMessage(String.Format("Process started {0}", DateTime.Now.ToString()), true);
            try
            {
                GetWebPartProperties(serverRelativePageUrl, webPartID, webUrl, outputPath);
            }
            catch (Exception ex)
            {
                ExceptionCsv.WriteException(Constants.NotApplicable, Constants.NotApplicable, Constants.NotApplicable, "WebPartProperties", ex.Message, ex.ToString(), "WebPartProperties: DoWork()", ex.GetType().ToString());
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                Logger.LogErrorMessage("[WebpartProperties: DoWork]. Exception Message: " + ex.Message, true);
                System.Console.ResetColor();
            }
            Logger.LogInfoMessage(String.Format("Process completed {0}", DateTime.Now.ToString()), true);
            Logger.CloseLog();
        }
Esempio n. 7
0
        public static void DoWork()
        {
            try
            {
                Logger.OpenLog("DeleteMissingWorkflowAssociations");
                System.Console.WriteLine("Enter the path of input file PreMT_MissingWorkflowAssociations.csv");
                string filePath = System.Console.ReadLine();
                if (string.IsNullOrEmpty(filePath) || !System.IO.Directory.Exists(filePath))
                {
                    Logger.LogWarningMessage("Input FilePath '" + filePath + "' is not valid", true);
                    filePath = Environment.CurrentDirectory;
                    Logger.LogInfoMessage("Correct Input FilePath is not provided so it changed to current environment '" + filePath + "'", true);
                }

                Logger.LogInfoMessage(String.Format("Scan starting {0}", DateTime.Now.ToString()), true);
                string inputFileSpec = filePath + "\\" + Constants.MissingWorkflowAssociationsInputFileName;
                if (System.IO.File.Exists(inputFileSpec))
                {
                    IEnumerable <MissingWorkflowAssociationsInput> objInputMissingWorkflowAssociations = ImportCSV.ReadMatchingColumns <MissingWorkflowAssociationsInput>(inputFileSpec, Constants.CsvDelimeter);
                    if (objInputMissingWorkflowAssociations != null)
                    {
                        try
                        {
                            Logger.LogInfoMessage(String.Format("\nPreparing to delete a total of {0} files ...", objInputMissingWorkflowAssociations.Cast <Object>().Count()), true);

                            foreach (MissingWorkflowAssociationsInput missingFile in objInputMissingWorkflowAssociations)
                            {
                                DeleteMissingFile(missingFile);
                            }
                        }
                        catch (Exception ex)
                        {
                            Logger.LogErrorMessage(String.Format("DeleteMissingWorkflowAssociationFiles() failed: Error={0}", ex.Message), true);
                        }
                        Logger.LogInfoMessage(String.Format("Scan completed {0}", DateTime.Now.ToString()), true);
                    }
                    else
                    {
                        Logger.LogInfoMessage("There is nothing to delete from the '" + inputFileSpec + "' File ", true);
                    }
                }
                else
                {
                    Logger.LogErrorMessage("The input file " + inputFileSpec + " is not present", true);
                }
            }
            catch (Exception ex)
            {
                Logger.LogErrorMessage(String.Format("DeleteMissingWorkflowAssociationFiles() failed: Error={0}", ex.Message), true);
            }
            Logger.CloseLog();
        }
Esempio n. 8
0
        public static void DoWork()
        {
            Logger.OpenLog("GenerateSiteCollectionReport");

            Logger.LogInfoMessage(String.Format("Preparing to generate report ..."), true);

            List <SiteEntity> sites = GetAllSites();

            GenerateReportFile(sites);

            Logger.LogInfoMessage(String.Format("Report completed at {0}", DateTime.Now.ToString()), true);
            Logger.CloseLog();
        }
        public static void DoWork()
        {
            string GenSiteColFileName = outputPath + @"\" + Constants.GenSiteCollectionFileName + DateTime.Now.ToString("yyyyMMdd_hhmmss") + Constants.CSVExtension;

            string timeStamp = DateTime.Now.ToString("yyyyMMdd_hhmmss");

            Logger.OpenLog("GenerateSiteCollectionReport", timeStamp);

            List <SiteEntity> sites = GetAllSites();

            GenerateReportFile(sites, GenSiteColFileName);

            Logger.LogInfoMessage(String.Format("Report completed at {0}", DateTime.Now.ToString()), true);
            Logger.CloseLog();
        }
Esempio n. 10
0
        /// <summary>
        /// This method reports on the usage of custom master pages.
        ///
        /// General Approach:
        /// - disable site feature: V4VisualUpgrade
        /// -  note: the feature deactivator processes MPs of all child webs
        /// - process webs
        /// -  delete custom hidden list: Lists/RedirectURL
        /// -  disable web feature: Redirect Url List
        /// -  disable web features: custom Master Pages (6)
        /// -  delete custom master page files
        /// </summary>
        public static void DoWork()
        {
            Logger.OpenLog("GenerateNonDefaultMasterPageUsageReport");
            Logger.LogInfoMessage(String.Format("Scan starting {0}", DateTime.Now.ToString()), true);

            string inputFileSpec = Environment.CurrentDirectory + "\\" + Constants.UsageReport_SitesInputFileName;

            string[] siteUrls = Helper.ReadInputFile(inputFileSpec, false);
            Logger.LogInfoMessage(String.Format("Preparing to scan a total of {0} sites ...", siteUrls.Length), true);

            foreach (string siteUrl in siteUrls)
            {
                ProcessSite(siteUrl);
            }

            Logger.LogInfoMessage(String.Format("Scan completed {0}", DateTime.Now.ToString()), true);
            Logger.CloseLog();
        }
Esempio n. 11
0
        public static void DoWork()
        {
            Logger.OpenLog("GenerateColumnAndTypeUsageReport");
            Logger.LogInfoMessage(String.Format("Scan starting {0}", DateTime.Now.ToString()), true);

            string contentTypesInputFileSpec = Environment.CurrentDirectory + "\\" + Constants.UsageReport_ContentTypesInputFileName;

            string[] contentTypeRows = Helper.ReadInputFile(contentTypesInputFileSpec, true);
            Logger.LogInfoMessage(String.Format("Loaded {0} content type definitions ...", contentTypeRows.Length), true);
            List <ContentTypeSpec> contentTypes = new List <ContentTypeSpec>();

            foreach (string s in contentTypeRows)
            {
                string[] arr = s.Split(',');
                contentTypes.Add(new ContentTypeSpec(arr[0], arr[1]));
            }

            string siteColumnsInputFileSpec = Environment.CurrentDirectory + "\\" + Constants.UsageReport_SiteColumnsInputFileName;

            string[] siteColumnRows = Helper.ReadInputFile(siteColumnsInputFileSpec, true);
            Logger.LogInfoMessage(String.Format("Loaded {0} site column definitions ...", siteColumnRows.Length), true);
            List <SiteColumnSpec> siteColumns = new List <SiteColumnSpec>();

            foreach (string s in siteColumnRows)
            {
                string[] arr = s.Split(',');
                siteColumns.Add(new SiteColumnSpec(arr[0], arr[1]));
            }

            string inputFileSpec = Environment.CurrentDirectory + "\\" + Constants.UsageReport_SitesInputFileName;

            string[] siteUrls = Helper.ReadInputFile(inputFileSpec, false);
            Logger.LogInfoMessage(String.Format("Preparing to scan a total of {0} sites ...", siteUrls.Length), true);

            foreach (string siteUrl in siteUrls)
            {
                ProcessSite(siteUrl, contentTypes, siteColumns);
            }

            Logger.LogInfoMessage(String.Format("Scan completed {0}", DateTime.Now.ToString()), true);
            Logger.CloseLog();
        }
        public static void DoWork()
        {
            string timeStamp            = DateTime.Now.ToString("yyyyMMdd_hhmmss");
            string NonDefMasterFileName = outputPath + @"\" + Constants.NonDefaultMasterPageFileName + timeStamp + Constants.CSVExtension;

            Logger.OpenLog("GenerateNonDefaultMasterPageUsageReport", timeStamp);
            if (!ShowInformation())
            {
                return;
            }
            Logger.LogInfoMessage(String.Format("Scan starting {0}", DateTime.Now.ToString()), true);

            if (!System.IO.File.Exists(NonDefMasterFileName))
            {
                headermasterPage = false;
            }
            else
            {
                headermasterPage = true;
            }

            string inputFileSpec = Environment.CurrentDirectory + "\\" + Constants.UsageReport_SitesInputFileName;

            if (System.IO.File.Exists(inputFileSpec))
            {
                string[] siteUrls = Helper.ReadInputFile(inputFileSpec, false);
                Logger.LogInfoMessage(String.Format("Preparing to scan a total of {0} sites ...", siteUrls.Length), true);

                foreach (string siteUrl in siteUrls)
                {
                    ProcessSite(siteUrl, NonDefMasterFileName);
                }
                Logger.LogSuccessMessage(String.Format("[GenerateNonDefaultMasterPageUsageReport] Usage report is exported to the file {0}", NonDefMasterFileName), true);
            }
            else
            {
                Logger.LogErrorMessage(String.Format("[GenerateNonDefaultMasterPageUsageReport] Input file {0} is not available", inputFileSpec), true);
            }

            Logger.LogInfoMessage(String.Format("Scan completed {0}", DateTime.Now.ToString()), true);
            Logger.CloseLog();
        }
Esempio n. 13
0
        public static void DoWork()
        {
            outputPath = Environment.CurrentDirectory;
            string webPartsInputFile = string.Empty;
            string webpartType       = string.Empty;
            IEnumerable <WebpartInput> objWPDInput;
            string timeStamp = DateTime.Now.ToString("yyyyMMdd_hhmmss");

            //Trace Log TXT File Creation Command
            Logger.OpenLog("DeleteWebparts", timeStamp);

            if (!ReadInputFile(ref webPartsInputFile))
            {
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                Logger.LogErrorMessage("Webparts input file is not valid or available. So, Operation aborted!");
                Logger.LogErrorMessage("Please enter path like: E.g. C:\\<Working Directory>\\<InputFile>.csv");
                System.Console.ResetColor();
                return;
            }

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            Logger.LogMessage("Please enter Webpart Type (enter 'all' to delete all webparts):");
            System.Console.ResetColor();
            webpartType = System.Console.ReadLine().ToLower();

            try
            {
                string csvFile = outputPath + @"/" + Constants.DeleteWebpartStatus + timeStamp + Constants.CSVExtension;
                if (System.IO.File.Exists(csvFile))
                {
                    System.IO.File.Delete(csvFile);
                }

                if (System.IO.File.Exists(webPartsInputFile))
                {
                    if (String.Equals(Constants.WebpartType_All, webpartType, StringComparison.CurrentCultureIgnoreCase))
                    {
                        //Reading Input File
                        objWPDInput = ImportCSV.ReadMatchingColumns <WebpartInput>(webPartsInputFile, Constants.CsvDelimeter);

                        if (objWPDInput.Any())
                        {
                            IEnumerable <string> webPartTypes = objWPDInput.Select(x => x.WebPartType);

                            webPartTypes = webPartTypes.Distinct();
                            Logger.LogInfoMessage(String.Format("Preparing to delete a total of {0} webparts ...", webPartTypes.Count()), true);

                            foreach (string webPartType in webPartTypes)
                            {
                                try
                                {
                                    DeleteWebPart_UsingCSV(webPartType, webPartsInputFile, csvFile);
                                }
                                catch (Exception ex)
                                {
                                    Logger.LogErrorMessage("[DeleteMissingWebparts: DoWork]. Exception Message: " + ex.Message, true);
                                    ExceptionCsv.WriteException(Constants.NotApplicable, Constants.NotApplicable, Constants.NotApplicable, "Webpart", ex.Message,
                                                                ex.ToString(), "DoWork", ex.GetType().ToString(), Constants.NotApplicable);
                                }
                            }
                            webPartTypes = null;
                        }
                        else
                        {
                            Logger.LogInfoMessage("There is nothing to delete from the '" + webPartsInputFile + "' File ", true);
                        }
                    }
                    else
                    {
                        DeleteWebPart_UsingCSV(webpartType, webPartsInputFile, csvFile);
                    }
                    Logger.LogInfoMessage("Processing input file has been comepleted...");
                }
                else
                {
                    Logger.LogErrorMessage("[DeleteMissingWebparts: DoWork]The input file " + webPartsInputFile + " is not present", true);
                }
            }
            catch (Exception ex)
            {
                Logger.LogErrorMessage("[DeleteMissingWebparts: DoWork]. Exception Message: " + ex.Message, true);
                ExceptionCsv.WriteException(Constants.NotApplicable, Constants.NotApplicable, Constants.NotApplicable, "Webpart", ex.Message,
                                            ex.ToString(), "DoWork", ex.GetType().ToString(), Constants.NotApplicable);
            }
            finally
            {
                objWPDInput = null;
            }

            Logger.CloseLog();
        }
        public static void DoWork()
        {
            string timeStamp    = DateTime.Now.ToString("yyyyMMdd_hhmmss");
            string CTCFFileName = outputPath + @"\" + Constants.ContentTypeAndCustomFieldFileName + timeStamp + Constants.CSVExtension;

            Logger.OpenLog("GenerateColumnORFieldAndTypeUsageReport", timeStamp);
            if (!ShowInformation())
            {
                return;
            }
            Logger.LogInfoMessage(String.Format("Scan starting {0}", DateTime.Now.ToString()), true);

            string contentTypesInputFileSpec    = Environment.CurrentDirectory + "\\" + Constants.ContentTypeInput;
            List <ContentTypeSpec> contentTypes = new List <ContentTypeSpec>();

            if (System.IO.File.Exists(contentTypesInputFileSpec))
            {
                IEnumerable <InputContentTypeBase> objInputContentType = ImportCSV.ReadMatchingColumns <InputContentTypeBase>(contentTypesInputFileSpec, Constants.CsvDelimeter);
                Logger.LogInfoMessage(String.Format("Loaded {0} content type definitions ...", objInputContentType.Count()), true);
                foreach (InputContentTypeBase s in objInputContentType)
                {
                    contentTypes.Add(new ContentTypeSpec(s.ContentTypeID, s.ContentTypeName));
                }
            }
            else
            {
                Logger.LogErrorMessage(String.Format("[GenerateColumnORFieldAndTypeUsageReport] Input file {0} is not available", contentTypesInputFileSpec), true);
            }

            string customFieldsInputFileSpec = Environment.CurrentDirectory + "\\" + Constants.CustomFieldsInput;

            List <SiteColumnSpec> customFields = new List <SiteColumnSpec>();

            if (System.IO.File.Exists(customFieldsInputFileSpec))
            {
                IEnumerable <InputCustomFieldBase> objInputCustomField = ImportCSV.ReadMatchingColumns <InputCustomFieldBase>(customFieldsInputFileSpec, Constants.CsvDelimeter);
                Logger.LogInfoMessage(String.Format("Loaded {0} site column/custom field definitions ...", objInputCustomField.Count()), true);
                foreach (InputCustomFieldBase s in objInputCustomField)
                {
                    customFields.Add(new SiteColumnSpec(s.ID, s.Name));
                }
            }
            else
            {
                Logger.LogErrorMessage(String.Format("[GenerateColumnORFieldAndTypeUsageReport] Input file {0} is not available", customFieldsInputFileSpec), true);
            }

            if (!System.IO.File.Exists(CTCFFileName))
            {
                headerContentType = false;
            }
            else
            {
                headerContentType = true;
            }

            string inputFileSpec = Environment.CurrentDirectory + "\\" + Constants.UsageReport_SitesInputFileName;

            if (System.IO.File.Exists(inputFileSpec))
            {
                string[] siteUrls = Helper.ReadInputFile(inputFileSpec, false);
                Logger.LogInfoMessage(String.Format("Preparing to scan a total of {0} sites ...", siteUrls.Length), true);

                foreach (string siteUrl in siteUrls)
                {
                    ProcessSite(siteUrl, contentTypes, customFields, CTCFFileName);
                }
                Logger.LogSuccessMessage(String.Format("[GenerateColumnORFieldAndTypeUsageReport] Usage report is exported to the file {0} ", CTCFFileName), true);
            }
            else
            {
                Logger.LogErrorMessage(String.Format("[GenerateColumnORFieldAndTypeUsageReport] Input file {0} is not available", inputFileSpec), true);
            }

            Logger.LogInfoMessage(String.Format("Scan completed {0}", DateTime.Now.ToString()), true);
            Logger.CloseLog();
        }
Esempio n. 15
0
        public static void DoWork()
        {
            timeStamp  = DateTime.Now.ToString("yyyyMMdd_hhmmss");
            outputPath = Environment.CurrentDirectory;
            string webPartsInputFile        = string.Empty;
            string webpartType              = string.Empty;
            string targetWebPartFileName    = string.Empty;
            string targetWebPartXmlFilePath = string.Empty;


            //Trace Log TXT File Creation Command
            Logger.OpenLog("ReplaceWebPart", timeStamp);

            if (!ReadInputFile(ref webPartsInputFile))
            {
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                Logger.LogErrorMessage("Webparts input file is not valid or available. So, Operation aborted!");
                Logger.LogErrorMessage("Please enter path like: E.g. C:\\<Working Directory>\\<InputFile>.csv");
                System.Console.ResetColor();
                return;
            }

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            System.Console.WriteLine("Please enter Source Webpart Type :");
            System.Console.ResetColor();
            webpartType = System.Console.ReadLine().ToLower();
            if (string.IsNullOrEmpty(webpartType))
            {
                Logger.LogErrorMessage("[ReplaceWebPart: DoWork]Webpart Type should not be empty or null. Operation aborted...", true);
                return;
            }

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            System.Console.WriteLine("Please enter Target WebPart File Name :");
            System.Console.ResetColor();
            targetWebPartFileName = System.Console.ReadLine().ToLower();
            if (string.IsNullOrEmpty(targetWebPartFileName))
            {
                Logger.LogErrorMessage("[ReplaceWebPart: DoWork]Target WebPart File Name should not be empty or null. Operation aborted...", true);
                return;
            }

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            System.Console.WriteLine("Please enter Target WebPart Xml File Path :");
            System.Console.ResetColor();
            targetWebPartXmlFilePath = System.Console.ReadLine().ToLower();

            if (string.IsNullOrEmpty(targetWebPartXmlFilePath) || !System.IO.File.Exists(targetWebPartXmlFilePath))
            {
                Logger.LogErrorMessage("[ReplaceWebPart: DoWork]Target WebPart Xml File Path is not valid or available. Operation aborted...", true);
                return;
            }
            Logger.LogInfoMessage(String.Format("Process started {0}", DateTime.Now.ToString()), true);
            try
            {
                TransformWebPart_UsingCSV(webPartsInputFile, webpartType, targetWebPartFileName, targetWebPartXmlFilePath, outputPath);
            }
            catch (Exception ex)
            {
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                Logger.LogErrorMessage("[ReplaceWebPart: DoWork]. Exception Message: " + ex.Message, true);
                System.Console.ResetColor();
                ExceptionCsv.WriteException(Constants.NotApplicable, Constants.NotApplicable, Constants.NotApplicable, "ReplaceWebPart", ex.Message, ex.ToString(), "ReplaceWebPart: DoWork()", ex.GetType().ToString());
            }
            Logger.LogInfoMessage(String.Format("Process completed {0}", DateTime.Now.ToString()), true);
            Logger.CloseLog();
        }
        public static void DoWork()
        {
            timeStamp = DateTime.Now.ToString("yyyyMMdd_hhmmss");
            bool   processInputFile       = false;
            bool   processWebUrl          = false;
            bool   replaceMasterUrl       = false;
            bool   replaceCustomMasterUrl = false;
            bool   replaceBothMaserUrls   = false;
            string masterPageInputFile    = string.Empty;
            string webUrl = string.Empty;

            try
            {
                outputPath = Environment.CurrentDirectory;
                Logger.OpenLog("ReplaceMasterPage", timeStamp);

                if (!ReadInputOptions(ref processInputFile, ref processWebUrl))
                {
                    System.Console.ForegroundColor = System.ConsoleColor.Red;
                    Logger.LogErrorMessage("Invalid option selected or Exit option is selected. Operation aborted!");
                    System.Console.ResetColor();
                    return;
                }

                if (processInputFile)
                {
                    if (!ReadInputFile(ref masterPageInputFile))
                    {
                        System.Console.ForegroundColor = System.ConsoleColor.Red;
                        Logger.LogErrorMessage("MasterPage input file is not valid or available. So, Operation aborted!");
                        Logger.LogErrorMessage("Please enter path like: E.g. C:\\<Working Directory>\\<InputFile>.csv");
                        System.Console.ResetColor();
                        return;
                    }
                    if (!ReadMasterUrlReplaceOptions(ref replaceMasterUrl, ref replaceCustomMasterUrl, ref replaceBothMaserUrls))
                    {
                        System.Console.ForegroundColor = System.ConsoleColor.Red;
                        Logger.LogErrorMessage("Invalid option selected. Operation aborted!");
                        System.Console.ResetColor();
                        return;
                    }
                    ProcessInputFile(masterPageInputFile, replaceMasterUrl, replaceCustomMasterUrl, replaceBothMaserUrls, outputPath);
                }

                if (processWebUrl)
                {
                    System.Console.ForegroundColor = System.ConsoleColor.Cyan;
                    Logger.LogMessage("Enter WebUrl to replace MasterPage: ");
                    System.Console.ResetColor();
                    webUrl = System.Console.ReadLine();
                    if (string.IsNullOrEmpty(webUrl))
                    {
                        Logger.LogErrorMessage("[ReplaceMasterPage: DoWork]WebUrl should not be empty or null. Operation aborted...", true);
                        return;
                    }
                    if (!ReadMasterUrlReplaceOptions(ref replaceMasterUrl, ref replaceCustomMasterUrl, ref replaceBothMaserUrls))
                    {
                        System.Console.ForegroundColor = System.ConsoleColor.Red;
                        Logger.LogErrorMessage("Invalid option selected. Operation aborted!");
                        System.Console.ResetColor();
                        return;
                    }
                    if (ProcessWebUrl(webUrl, null, replaceMasterUrl, replaceCustomMasterUrl, replaceBothMaserUrls))
                    {
                        System.Console.ForegroundColor = System.ConsoleColor.Green;
                        Logger.LogSuccessMessage("[ReplaceMasterPage: DoWork] Successfully processed given WebUrl and output file is present in the path: "
                                                 + outputPath, true);
                        System.Console.ResetColor();
                    }
                    else
                    {
                        Logger.LogErrorMessage("Replacing Custom Master Page with OOB Master Page is failed for the site " + webUrl);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.LogErrorMessage(String.Format("[ReplaceMasterPage: DoWork] failed: Error={0}", ex.Message), true);
                ExceptionCsv.WriteException(Constants.NotApplicable, Constants.NotApplicable, webUrl, "ReplaceMasterPage", ex.Message, ex.ToString(), "ReplaceMasterPage: DoWork()", ex.GetType().ToString());
            }
            Logger.CloseLog();
        }
Esempio n. 17
0
        //public static bool flagXML = false;
        public static void DoWork()
        {
            string PivotConfigXMLFileName = string.Empty;
            bool   Discovery    = false;
            bool   PreMigration = false;

            if (!ReadInputOptions(ref Discovery, ref PreMigration))
            {
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                System.Console.WriteLine("Invalid option selected or Exit option is selected. Operation aborted!");
                System.Console.ResetColor();
                return;
            }

            if (Discovery)
            {
                timeStamp = DateTime.Now.ToString("yyyyMMdd_hhmmss");
                try
                {
                    Environment.CurrentDirectory = outputPath;
                    Logger.OpenLog("DT_GeneratePivotReport", timeStamp);
                    PivotConfigXMLFileName = "Discovery-Pivot.xml";

                    //Reading Usage Files Path
                    ReadInputFilesPath(ref OutputFolderPath, PivotConfigXMLFileName, Constants.DTFileName);
                    if (flag == true)
                    {
                        return;
                    }

                    GeneratePivotReports(OutputFolderPath, PivotConfigXMLFileName, "Component", outputPath);
                }
                catch (Exception ex)
                {
                    Logger.LogErrorMessage(String.Format("[PivotReports: DoWork] failed: Error={0}", ex.Message), true);
                    ExceptionCsv.WriteException(Constants.NotApplicable, Constants.NotApplicable, Constants.NotApplicable, "PivotReports", ex.Message, ex.ToString(), "[PivotReports]: DoWork()", ex.GetType().ToString(), Constants.NotApplicable);
                }
                Logger.CloseLog();
            }

            else if (PreMigration)
            {
                timeStamp = DateTime.Now.ToString("yyyyMMdd_hhmmss");
                try
                {
                    Environment.CurrentDirectory = outputPath;
                    Logger.OpenLog("PreMT_GeneratePivotReport", timeStamp);
                    PivotConfigXMLFileName = "PreMT-Pivot.xml";

                    //Reading Usage Files Path
                    ReadInputFilesPath(ref OutputFolderPath, PivotConfigXMLFileName, Constants.PreMTFileName);
                    if (flag == true)
                    {
                        return;
                    }

                    GeneratePivotReports(OutputFolderPath, PivotConfigXMLFileName, "Component", outputPath);
                }
                catch (Exception ex)
                {
                    Logger.LogErrorMessage(String.Format("[PivotReports: DoWork] failed: Error={0}", ex.Message), true);
                    ExceptionCsv.WriteException(Constants.NotApplicable, Constants.NotApplicable, Constants.NotApplicable, "PivotReports", ex.Message, ex.ToString(), "[PivotReports]: DoWork()", ex.GetType().ToString(), Constants.NotApplicable);
                }
                Logger.CloseLog();
            }
        }
Esempio n. 18
0
        public static void DoWork()
        {
            string timeStamp = DateTime.Now.ToString("yyyyMMdd_hhmmss");

            outputPath = Environment.CurrentDirectory;
            string webUrl = string.Empty;
            string serverRelativePageUrl = string.Empty;
            string webPartZoneIndex      = string.Empty;
            string webPartZoneID         = string.Empty;
            string webPartFileName       = string.Empty;
            string webPartXmlFilePath    = string.Empty;
            bool   headerAddWebPart      = false;

            //Trace Log TXT File Creation Command
            Logger.OpenLog("AddWebPart", timeStamp);

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            //System.Console.ResetColor();
            System.Console.WriteLine("Please enter Web Url : ");
            System.Console.ResetColor();
            webUrl = System.Console.ReadLine().ToLower();
            if (string.IsNullOrEmpty(webUrl))
            {
                Logger.LogErrorMessage("[AddWebpart: DoWork]WebUrl should not be empty or null. Operation aborted...", true);
                return;
            }

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            System.Console.WriteLine("Please enter Server Relative PageUrl (E:g- /sites/DTTesting/SitePages/WebPartPage.aspx): ");
            System.Console.ResetColor();
            serverRelativePageUrl = System.Console.ReadLine().ToLower();
            if (string.IsNullOrEmpty(serverRelativePageUrl))
            {
                Logger.LogErrorMessage("[AddWebpart: DoWork]ServerRelative PageUrl should not be empty or null. Operation aborted...", true);
                return;
            }

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            System.Console.WriteLine("Please enter WebPart ZoneIndex : ");
            System.Console.ResetColor();
            webPartZoneIndex = System.Console.ReadLine().ToLower();
            if (string.IsNullOrEmpty(webPartZoneIndex))
            {
                Logger.LogErrorMessage("[AddWebpart: DoWork]WebPart ZoneIndex should not be empty or null. Operation aborted...", true);
                return;
            }

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            System.Console.WriteLine("Please enter WebPart ZoneID : ");
            System.Console.ResetColor();
            webPartZoneID = System.Console.ReadLine().ToLower();
            if (string.IsNullOrEmpty(webPartZoneID))
            {
                Logger.LogErrorMessage("[AddWebpart: DoWork]WebPart ZoneId should not be empty or null. Operation aborted...", true);
                return;
            }

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            System.Console.WriteLine("Please enter WebPart File Name (WebPart must be present in the WebPart gallery) : ");
            System.Console.ResetColor();
            webPartFileName = System.Console.ReadLine().ToLower();
            if (string.IsNullOrEmpty(webPartFileName))
            {
                Logger.LogErrorMessage("[AddWebpart: DoWork]WebPart File Name should not be empty or null. Operation aborted...", true);
                return;
            }

            System.Console.ForegroundColor = System.ConsoleColor.Cyan;
            System.Console.WriteLine("Please enter WebPart XmlFile Path : ");
            System.Console.ResetColor();
            webPartXmlFilePath = System.Console.ReadLine().ToLower();
            if (string.IsNullOrEmpty(webPartXmlFilePath) || !System.IO.File.Exists(webPartXmlFilePath))
            {
                Logger.LogErrorMessage("[AddWebpart: DoWork]WebPart XmlFile Path is not valid or available. Operation aborted...", true);
                return;
            }
            System.Console.ResetColor();
            Logger.LogInfoMessage(String.Format("Process started {0}", DateTime.Now.ToString()), true);
            try
            {
                AddWebPartStatusBase objWPOutputBase = new AddWebPartStatusBase();
                objWPOutputBase.WebApplication    = Constants.NotApplicable;
                objWPOutputBase.SiteCollection    = Constants.NotApplicable;
                objWPOutputBase.WebUrl            = webUrl;
                objWPOutputBase.WebPartFileName   = webPartFileName;
                objWPOutputBase.ZoneID            = webPartZoneID;
                objWPOutputBase.ZoneIndex         = webPartZoneIndex;
                objWPOutputBase.PageUrl           = serverRelativePageUrl;
                objWPOutputBase.ExecutionDateTime = DateTime.Now.ToString();

                if (AddWebPartToPage(webUrl, webPartFileName, webPartXmlFilePath, webPartZoneIndex, webPartZoneID, serverRelativePageUrl, outputPath))
                {
                    System.Console.ForegroundColor = System.ConsoleColor.Green;
                    Logger.LogSuccessMessage("[AddWebPart: DoWork] Successfully Added WebPart and output file is present in the path: " + outputPath, true);
                    System.Console.ResetColor();
                    objWPOutputBase.Status = Constants.Success;
                }
                else
                {
                    Logger.LogInfoMessage("Adding WebPart to the page is failed for the site " + webUrl);
                    objWPOutputBase.Status = Constants.Failure;
                }

                if (!System.IO.File.Exists(outputPath + @"\" + Constants.AddWebPartStatusFileName + timeStamp + Constants.CSVExtension))
                {
                    headerAddWebPart = false;
                }
                else
                {
                    headerAddWebPart = true;
                }

                FileUtility.WriteCsVintoFile(outputPath + @"\" + Constants.AddWebPartStatusFileName + timeStamp + Constants.CSVExtension, objWPOutputBase, ref headerAddWebPart);
            }
            catch (Exception ex)
            {
                System.Console.ForegroundColor = System.ConsoleColor.Red;
                Logger.LogErrorMessage("[AddWebPart: DoWork]. Exception Message: " + ex.Message, true);
                System.Console.ResetColor();
                ExceptionCsv.WriteException(Constants.NotApplicable, Constants.NotApplicable, Constants.NotApplicable, "AddWebPart", ex.Message, ex.ToString(), "AddWebpart: DoWork()", ex.GetType().ToString());
            }
            Logger.LogInfoMessage(String.Format("Process completed {0}", DateTime.Now.ToString()), true);
            Logger.CloseLog();
        }