public void Execute(IFormLogger logger, string name, string key, string description, string parentKey)
        {
            logger.Log("Grabbing structure ...");
            var rootSpace = ExecuteNonCurl(createSpaceUrl, JsonConvert.SerializeObject(CreateSpaceInstance(name, key, description)));

            logger.Log("Created Root Space ...");
            foreach (ConfluencePage page in this.structure)
            {
                var rootPage = CreateChildPage(createPageUrl, JsonConvert.SerializeObject(CreateChildPageInstance(rootSpace.key, rootSpace.homepage.id, page.Title, page.Content)));
                logger.Log(string.Format("Created the root page : {0}", page.Title));
                foreach (ConfluencePage t in page.ChildPages)
                {
                    CreateChildPage(createPageUrl, JsonConvert.SerializeObject(CreateChildPageInstance(rootSpace.key, rootPage.id.ToString(), t.Title, t.Content)));
                    logger.Log(string.Format("Created the child page : {0}", t.Title));
                }
            }

            logger.Log("Updating parent Space.");

            var parentBusinessCase = GetPageByKeyAndTitle(parentKey, AppSettingsHelper.GetValue(Strings.PARENT_BUSINESS_CASE_TITLE_KEY));

            if (parentBusinessCase != null)
            {
                if (parentBusinessCase.results.Count() == 1)
                {
                    var    r    = parentBusinessCase.results.FirstOrDefault();
                    string html = r.body.storage.value;
                    html = html.Replace("\"", @"'");

                    int index = html.IndexOf("</ul>");

                    var    childBusinessCase = GetPageByKeyAndTitle(rootSpace.key, AppSettingsHelper.GetValue(Strings.PARENT_BUSINESS_CASE_TITLE_KEY));
                    string newHtml           = html.Insert(index, string.Format(@"<li><a href='{0}'>{1}</a></li>", ExtractLinkFromChildBusinessCase(childBusinessCase), rootSpace.name));

                    UpdatePageInput p = new UpdatePageInput();
                    p.id = r.id;
                    p.body.storage.value = newHtml;
                    p.space.key          = parentKey;
                    p.title          = r.title;
                    p.version.number = r.version.number + 1;
                    UpdateParentPage(p.id, p);
                    logger.Log("Done updating the project parent page.");
                }
                else
                {
                    logger.Log("Cannot find the Business Case Parent Page.");
                }
            }
            else
            {
                logger.Log("Cannot find the parent page.");
            }



            logger.Log("Task Complete.");
        }
 public SettingsForm(IStringResources stringResources, ISettingsController settingsController,
                     IGoogleDriveClient googleDriveClient, IFormLogger logger, ILocalizableForm mainForm,
                     ITelegramClientWrapper telegramClientWrapper)
 {
     this.stringResources       = stringResources;
     this.settingsController    = settingsController;
     this.googleDriveClient     = googleDriveClient;
     this.logger                = logger;
     this.mainForm              = mainForm;
     this.telegramClientWrapper = telegramClientWrapper;
     InitializeComponent();
 }
Example #3
0
 public MainForm(IStringResources stringResources, IGoogleDriveClient googleDriveClient,
                 ISettingsController settingsController,
                 IMotionController motionController, IFormLogger logger,
                 ITelegramClientWrapper telegramClientWrapper)
 {
     InitializeComponent();
     Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
     this.googleDriveClient     = googleDriveClient;
     this.settingsController    = settingsController;
     this.motionController      = motionController;
     this.logger                = logger;
     this.telegramClientWrapper = telegramClientWrapper;
     this.stringResources       = stringResources;
     logger.InitForm(this);
 }
 public MotionController(IStringResources stringResources, IFormLogger logger,
                         IGoogleDriveClient googleDriveClient,
                         ISettingsController settingsController,
                         ITelegramClientWrapper telegramClientWrapper)
 {
     this.stringResources       = stringResources;
     this.logger                = logger;
     this.googleDriveClient     = googleDriveClient;
     this.settingsController    = settingsController;
     this.telegramClientWrapper = telegramClientWrapper;
     DevicesList                = new List <string>();
     detector = new MotionDetector(
         new TwoFramesDifferenceDetector(),
         null);
     videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
     for (var i = 0; i < videoDevices.Count; i++)
     {
         DevicesList.Add(videoDevices[i].Name);
     }
     StartGoogleDriveSending();
     IsActive = false;
 }
 public ChildDeleter(IFormLogger logger)
 {
     this.logger = logger;
 }
Example #6
0
 public ConfluenceSpaceTaskExecutor(IFormLogger logger)
 {
     this.logger = logger;
 }
Example #7
0
 public GoogleDriveClient(IStringResources stringResources, ISettingsController settingsController, IFormLogger logger)
 {
     this.stringResources    = stringResources;
     this.settingsController = settingsController;
     this.logger             = logger;
 }
        private static T Execute <T>(string url, string payload, string credential, WebMethod method, IFormLogger logger)
        {
            HttpClient client = new HttpClient();

            client.BaseAddress = new System.Uri(url);

            //Null check passed credential
            if (string.IsNullOrEmpty(credential))
            {
                credential = GetFormattedCredentials();
            }

            byte[] cred = UTF8Encoding.UTF8.GetBytes(credential);

            //this is default
            client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(Strings.BASIC, Convert.ToBase64String(cred));
            client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(Strings.APPLICATION_JSON));

            System.Net.Http.HttpContent content;
            HttpResponseMessage         message;
            string result = string.Empty;

            switch (method)
            {
            case WebMethod.POST:
                content = CreateStringContent(payload);
                message = client.PostAsync(url, content).Result;
                result  = message.Content.ReadAsStringAsync().Result;
                break;

            case WebMethod.GET:
                content = CreateStringContent(string.Empty);
                message = client.GetAsync(client.BaseAddress).Result;
                result  = message.Content.ReadAsStringAsync().Result;
                break;

            case WebMethod.PUT:
                content = CreateStringContent(payload);
                message = client.PutAsync(client.BaseAddress, content).Result;
                result  = message.Content.ReadAsStringAsync().Result;
                break;

            case WebMethod.DELETE:
                message = client.DeleteAsync(client.BaseAddress).Result;
                result  = message.Content.ReadAsStringAsync().Result;
                break;

            default:
                content = CreateStringContent(string.Empty);
                message = client.GetAsync(client.BaseAddress).Result;
                result  = message.Content.ReadAsStringAsync().Result;
                break;
            }

            if (!message.IsSuccessStatusCode)
            {
                logger.Log(string.Format("Error Occured : {0}", message.ReasonPhrase));
                logger.Log(string.Format("Error Request Uri : {0}", message.RequestMessage.RequestUri.AbsoluteUri));
                return(default(T));
            }

            T obj = JsonConvert.DeserializeObject <T>(result);

            return(obj);
        }
 public static T ExecuteDelete <T>(string url, IFormLogger logger)
 {
     return(Execute <T>(url, string.Empty, string.Empty, WebMethod.DELETE, logger));
 }
 public static T ExecutePut <T>(string url, string payload, IFormLogger logger)
 {
     return(Execute <T>(url, payload, string.Empty, WebMethod.PUT, logger));
 }
 public static T ExecuteGet <T>(string url, string payload, string credential, IFormLogger logger)
 {
     return(Execute <T>(url, payload, credential, WebMethod.GET, logger));
 }
 public static T ExecuteGet <T>(string url, IFormLogger logger)
 {
     return(Execute <T>(url, string.Empty, string.Empty, WebMethod.GET, logger));
 }
 public ConfluenceChildPagesTaskExecutor(IFormLogger logger)
 {
     this.logger = logger;
 }
 public ConfluencePageTreeTaskExecutor(List <ConfluencePage> structure, IFormLogger logger)
 {
     this.structure = structure;
     this.logger    = logger;
 }