Esempio n. 1
0
        private void OnChanged(object source, FileSystemEventArgs e)
        {
            // Specify what is done when a file is changed, created, or deleted.
            var strFileExt = Path.GetExtension(e.FullPath);

            if (strFileExt != ".docx" && strFileExt != ".doc")
            {
                return;
            }

            //Console.WriteLine("File: " + e.Name + " " + e.ChangeType);

            if (e.Name[0].ToString(CultureInfo.InvariantCulture) != "~")
            {
                var str = e.FullPath.Split('\\').Reverse().ToArray();

                var site = setting.Sites.FirstOrDefault(w => w.SiteName == str[3]);
                if (site != null)
                {
                    string categoryName = str[1];
                    string languageName = str[2];

                    var fileInfo = new FileInfo(e.FullPath);
                    if (!site.SiteFileInfos.Any(w => e.Name.Contains(w.FileName) && w.CategoryName == categoryName && w.LanguageName == languageName))
                    {
                        site.SiteFileInfos.Add(new Settings.SiteFileInfo
                        {
                            FileName       = e.Name,
                            FilePath       = e.FullPath,
                            ChangeDateTime = fileInfo.LastWriteTime,
                            Changed        = true,
                            CategoryName   = categoryName,
                            Status         = Settings.Status.NeedsGeneration,
                            LanguageName   = languageName
                        });
                    }
                    else
                    {
                        var siteFileInfos = site.SiteFileInfos.FirstOrDefault(w => e.FullPath.Contains(w.FilePath) && w.CategoryName == categoryName && w.LanguageName == languageName);
                        if (siteFileInfos != null && fileInfo.LastWriteTime != siteFileInfos.ChangeDateTime)
                        {
                            siteFileInfos.ChangeDateTime = fileInfo.LastWriteTime;
                            siteFileInfos.Changed        = true;
                        }
                    }

                    if (e.ChangeType == WatcherChangeTypes.Deleted)
                    {
                        var file = site.SiteFileInfos.FirstOrDefault(w => e.Name.Contains(w.FileName) && w.CategoryName == categoryName && w.LanguageName == languageName);
                        if (file != null)
                        {
                            site.SiteFileInfos.Remove(file);
                        }
                    }
                    Settings.SerializeToXml(setting);
                    LoadList();
                }
            }
        }
Esempio n. 2
0
 private void btnUpload_Click(object sender, EventArgs e)
 {
     foreach (var siteFileInfo in selectedSite.SiteFileInfos.Where(w => w.IsSelected && w.Status == Settings.Status.ReadyToUpload))
     {
         siteFileInfo.IsSelected = false;
         siteFileInfo.Status     = Settings.Status.Uploaded;
         siteFileInfo.Changed    = false;
     }
     Settings.SerializeToXml(setting);
     LoadList();
 }
Esempio n. 3
0
        private void OnRenamed(object source, RenamedEventArgs e)
        {
            // Specify what is done when a file is renamed.
            string strFileExt = Path.GetExtension(e.FullPath);

            if (strFileExt == ".docx" || strFileExt == ".doc")
            {
                var str = e.FullPath.Split('\\').Reverse().ToArray();

                var site = setting.Sites.FirstOrDefault(w => w.SiteName == str[3]);
                if (site != null)
                {
                    string categoryName = str[1];
                    string languageName = str[2];

                    var fileInfo = new FileInfo(e.FullPath);
                    if (!site.SiteFileInfos.Any(w => e.Name.Contains(w.FileName) && w.CategoryName == categoryName && w.LanguageName == languageName))
                    {
                        site.SiteFileInfos.Add(new Settings.SiteFileInfo
                        {
                            FileName       = e.Name,
                            FilePath       = e.FullPath,
                            ChangeDateTime = fileInfo.LastWriteTime,
                            Changed        = true,
                            CategoryName   = categoryName,
                            Status         = Settings.Status.NeedsGeneration,
                            LanguageName   = languageName
                        });

                        var itemRemove =
                            site.SiteFileInfos.FirstOrDefault(
                                w =>
                                w.CategoryName == categoryName && w.LanguageName == languageName &&
                                e.OldName.Contains(w.FileName));
                        if (itemRemove != null)
                        {
                            site.SiteFileInfos.Remove(itemRemove);
                        }
                    }
                    else
                    {
                        var siteFileInfos = site.SiteFileInfos.FirstOrDefault(w => e.FullPath.Contains(w.FilePath) && w.CategoryName == categoryName && w.LanguageName == languageName);
                        if (siteFileInfos != null && fileInfo.LastWriteTime != siteFileInfos.ChangeDateTime)
                        {
                            siteFileInfos.ChangeDateTime = fileInfo.LastWriteTime;
                            siteFileInfos.Changed        = true;
                        }
                    }
                    LoadList();
                    Settings.SerializeToXml(setting);
                }
                //Console.WriteLine("File: {0} renamed to {1}", e.OldName, e.Name);
            }
        }
Esempio n. 4
0
 private void btnSaveSettings_Click(object sender, EventArgs e)
 {
     _setting.LinkTarget = chkLinkTarget.Checked;
     _setting.LinkRel    = chkLinkrel.Checked;
     if (Settings.SerializeToXml(_setting))
     {
         this.Close();
     }
     else
     {
         MessageBox.Show("Unsuccessfull");
     }
 }
Esempio n. 5
0
        private void btnConvert_Click(object sender, EventArgs e)
        {
            foreach (var fileInfo in selectedSite.SiteFileInfos.Where(w => w.Changed && w.IsSelected))
            {
                setting.ImageCounter = Utility.ConvertToHtml(Application.StartupPath, fileInfo.FilePath, setting.ImageCounter);
                var siteFileInfo = selectedSite.SiteFileInfos.FirstOrDefault(w => fileInfo.FilePath.Contains(w.FilePath));
                if (siteFileInfo != null)
                {
                    siteFileInfo.Changed = false;
                    siteFileInfo.Status  = Settings.Status.ReadyToUpload;
                }
            }

            Settings.SerializeToXml(setting);

            LoadList();
        }
Esempio n. 6
0
        private void PathAnalyzer()
        {
            foreach (var site in setting.Sites)
            {
                foreach (var language in site.Languages)
                {
                    foreach (var category in site.Categories)
                    {
                        var path          = Application.StartupPath + "\\sites\\" + site.SiteName + "\\" + language.ShortName + "\\" + category.ShortName;
                        var filePathDocxs = Directory.GetFiles(path, "*.docx", SearchOption.AllDirectories);

                        if (filePathDocxs.Count() <= site.SiteFileInfos.Count)
                        {
                            var removedFiles = site.SiteFileInfos.Where(item => !File.Exists(item.FilePath)).ToList();

                            foreach (var removedFile in removedFiles)
                            {
                                site.SiteFileInfos.Remove(removedFile);
                            }
                        }

                        foreach (var item in filePathDocxs)
                        {
                            if (!item.Contains("\\s\\img\\"))
                            {
                                var fileInfo = new FileInfo(item);

                                //Console.WriteLine(fileInfo.LastWriteTime);
                                var fileName = Path.GetFileName(item);
                                if (fileName != null && fileName[0].ToString(CultureInfo.InvariantCulture) == "~")
                                {
                                    continue;
                                }

                                if (!site.SiteFileInfos.Any(w => item.Contains(w.FilePath)))
                                {
                                    site.SiteFileInfos.Add(new Settings.SiteFileInfo
                                    {
                                        FilePath       = item,
                                        FileName       = Path.GetFileName(item),
                                        ChangeDateTime = fileInfo.LastWriteTime,
                                        Changed        = true,
                                        CategoryName   = category.Name,
                                        LanguageName   = language.Name,
                                        Status         = Settings.Status.NeedsGeneration
                                    });
                                }
                                else
                                {
                                    var siteFileInfo = site.SiteFileInfos.FirstOrDefault(w => item.Contains(w.FilePath));
                                    if (siteFileInfo != null && fileInfo.LastWriteTime != siteFileInfo.ChangeDateTime)
                                    {
                                        siteFileInfo.ChangeDateTime = fileInfo.LastWriteTime;
                                        siteFileInfo.Changed        = true;
                                    }
                                }
                                //Console.WriteLine("Docx - " + Path.GetFileName(item) + " -- " + item);
                            }
                        }
                        FileSystemWatcher(path);
                    }
                }
            }
            LoadList();
            Settings.SerializeToXml(setting);
        }
Esempio n. 7
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtDomain.Text) || string.IsNullOrEmpty(txtSiteName.Text) || string.IsNullOrEmpty(txtLanguages.Text) || string.IsNullOrEmpty(txtCategories.Text))
            {
                MessageBox.Show("Lütfen boş alanları doldurunuz");
                return;
            }

            List <Settings.Language> languages = new List <Settings.Language>();

            foreach (var language in txtLanguages.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).ToList())
            {
                if (language.Split('-').Count() == 2)
                {
                    languages.Add(new Settings.Language
                    {
                        Name      = language.Split('-')[0].Trim(),
                        ShortName = language.Split('-')[1].Trim()
                    }
                                  );
                }
            }

            List <Settings.Category> categories = new List <Settings.Category>();

            foreach (var category in txtCategories.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).ToList())
            {
                if (category.Split('-').Count() == 2)
                {
                    categories.Add(new Settings.Category
                    {
                        Name      = category.Split('-')[0].Trim(),
                        ShortName = category.Split('-')[1].Trim()
                    }
                                   );
                }
            }

            var siteExist = setting.Sites.FirstOrDefault(w => w.SiteName == txtSiteName.Text.Trim());

            if (siteExist != null)
            {
                setting.Sites.Remove(siteExist);
            }

            setting.Sites.Add(new Settings.Site
            {
                SiteName   = txtSiteName.Text.Trim(),
                Domain     = txtDomain.Text.Trim(),
                Categories = categories,
                Languages  = languages
            });

            if (Settings.SerializeToXml(setting))
            {
                Settings.CreatePath("", "sites");
                Settings.CreatePath("\\sites\\", txtSiteName.Text);

                Settings.CreatePath("\\sites\\" + txtSiteName.Text, "s");
                Settings.CreatePath("\\sites\\" + txtSiteName.Text + "\\s\\", "img");
                Settings.CreatePath("\\sites\\" + txtSiteName.Text + "\\s\\", "js");
                Settings.CreatePath("\\sites\\" + txtSiteName.Text + "\\s\\", "css");

                foreach (var language in languages)
                {
                    Settings.CreatePath("\\sites\\" + txtSiteName.Text + "\\", language.ShortName);
                    foreach (var category in categories)
                    {
                        Settings.CreatePath("\\sites\\" + txtSiteName.Text + "\\" + language.ShortName + "\\", category.ShortName);
                    }
                }

                //MessageBox.Show("Succesfull");
                this.Close();
            }
            else
            {
                MessageBox.Show("Unsuccesfull");
            }
        }