コード例 #1
0
ファイル: ZipTest.cs プロジェクト: toddcoder/Core-code
        public void ZipFolderTest()
        {
            FolderName zipFolder = ZIPS_FOLDER;
            var        anyFiles  = zipFolder.TryTo.Files;

            if (anyFiles.If(out var files, out var exception))
            {
                var lastFile = files.Where(f => f.Extension == ".zip").MaxOrFail(f => f.CreationTime, () => "No file found");
                if (lastFile.If(out var zipFile, out exception))
                {
                    if (zipFile.TryToUnzip().If(out var folder, out exception))
                    {
                        folder.Must().Exist().OrThrow();
                        Console.WriteLine(folder.FullPath);
                    }
                    else
                    {
                        Console.WriteLine($"exception: {exception.Message}");
                    }
                }
                else
                {
                    Console.WriteLine($"exception: {exception.Message}");
                }
            }
            else
            {
                Console.WriteLine($"exception: {exception.Message}");
            }
        }
コード例 #2
0
        protected void RegisterDefaultCookiePath(string folderName, FolderName folder = null)
        {
            folder = folder ?? new FolderName();
            var bitcoinFolder = Network.GetDefaultDataFolder(folderName);

            if (bitcoinFolder is null)
            {
                return;
            }

            if (Mainnet != null)
            {
                var mainnet = folder.MainnetFolder == null?Path.Combine(bitcoinFolder, ".cookie")
                                  : Path.Combine(bitcoinFolder, folder.MainnetFolder, ".cookie");

                RPCClient.RegisterDefaultCookiePath(Mainnet, mainnet);
            }

            if (Testnet != null)
            {
                var testnet = Path.Combine(bitcoinFolder, folder.TestnetFolder, ".cookie");
                RPCClient.RegisterDefaultCookiePath(Testnet, testnet);
            }

            if (Regtest != null)
            {
                var regtest = Path.Combine(bitcoinFolder, folder.RegtestFolder, ".cookie");
                RPCClient.RegisterDefaultCookiePath(Regtest, regtest);
            }
        }
コード例 #3
0
        /// <summary>
        /// Load all sub-folders into the Folders collection.
        /// </summary>
        public void LoadFolders()
        {
            try
            {
                ClearFolders();

                string fullPath = Path.Combine(FolderPath, FolderName);

                if (FolderName.Contains(':'))                  // This is a drive
                {
                    fullPath = string.Concat(FolderName, "\\");
                }
                else
                {
                    fullPath = FolderPath;
                }

                foreach (string dir in Directory.GetDirectories(fullPath))
                {
                    AddFolder(dir);
                }
            }
            catch (UnauthorizedAccessException ae)
            {
                this.ShowNotification(FileSystemModels.Local.Strings.STR_MSG_UnknownError, ae.Message);
            }
            catch (IOException ie)
            {
                this.ShowNotification(FileSystemModels.Local.Strings.STR_MSG_UnknownError, ie.Message);
            }
        }
コード例 #4
0
ファイル: base.cs プロジェクト: Exclr8/CloudCore
        internal static void AddProcessFile(Project dteProject, string subProcessGuid, FolderName itemFolder, string itemName, byte[] content, bool IsUserItem = false)
        {
            string projectPath = dteProject.FullName.Substring(0, dteProject.FullName.LastIndexOf("\\"));
            string guidFolder = "_" + subProcessGuid.Replace("-", "_");
            string itemPath = "";

            itemPath = getFullPath("_" + itemName, itemFolder, guidFolder, projectPath, IsUserItem);

            if (IsUserItem)
            {
                CreateDirectories(projectPath, "Areas");
                CreateDirectories(string.Format("{0}\\Areas\\{1}", projectPath, rootFolder), itemFolder.ToString());
                CreateDirectories(string.Format("{0}\\Areas\\{1}\\{2}", projectPath, rootFolder, itemFolder.ToString()), guidFolder);
            }
            else
            {
                CreateDirectories(projectPath, rootFolder);
                CreateDirectories(string.Format("{0}\\{1}\\{2}", projectPath, rootFolder, guidFolder), itemFolder.ToString());
            }

            CheckoutFileIfRequired(dteProject.DTE, dteProject.FullName);
            CheckoutFileIfRequired(dteProject.DTE, itemPath);

            File.Create(itemPath).Write(content, 0, content.Length);

            dteProject.ProjectItems.AddFromFile(itemPath);
        }
コード例 #5
0
        public void ChangeWordsInFile(Route rout, FolderName folder, FileNames file, ParametricData param)
        {
            string scriptIn  = folder.scriptsFolder + @"\" + file.abaqusMacos;
            string scriptOut = rout.workingDirectory + @"\" + file.abaqusMacos;

            try
            {
                var    reader  = new StreamReader(scriptIn);
                string content = reader.ReadToEnd();
                reader.Close();

                content = Regex.Replace(content, "@StampFolder", Convert.ToString(rout.stampFolder));
                content = Regex.Replace(content, "@BlankFolder", Convert.ToString(rout.blankFolder));
                content = Regex.Replace(content, "@PlatformFolder", Convert.ToString(rout.platformFolder));
                content = Regex.Replace(content, "@Ring1Folder", Convert.ToString(rout.ring1Folder));
                content = Regex.Replace(content, "@Ring2Folder", Convert.ToString(rout.ring2Folder));
                content = Regex.Replace(content, "@GoodBlankPosition", Convert.ToString(param.goodBlankPosition));
                content = Regex.Replace(content, "@BadBlankPosition", Convert.ToString(param.badBlankPosition));
                content = Regex.Replace(content, "@PlatformPosition", Convert.ToString(param.platformPosition));
                content = Regex.Replace(content, "@Displacement", Convert.ToString(param.displacement));

                var writer = new StreamWriter(scriptOut);
                writer.Write(content);
                writer.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show("Change: ", e.Message);
            }
        }
コード例 #6
0
ファイル: XMLHelpers.cs プロジェクト: VSarazua/TacticsGame
        //TODO: This needs to be moved to its proper location
        //public static UnitTestDTO ActorParser(Humanoid u)
        //{
        //    UnitTestDTO newDTO = new UnitTestDTO()
        //    {
        //        ActorLevel = u.ActorLevel,
        //        Name = u.Name,
        //        Nickname = u.Nickname,
        //        MaxHealthPoints = u.MaxHealthPoints,
        //        HealthPoints = u.HealthPoints,
        //        MaxManaPoints = u.MaxManaPoints,
        //        ManaPoints = u.ManaPoints,
        //        Strength = u.Strength,
        //        Dexterity = u.Dexterity,
        //        Defense = u.Defense,
        //        MagicPower = u.MagicPower,
        //        MagicDefense = u.MagicDefense,
        //        ExperiencePoints = u.ExperiencePoints,
        //        isPlayerControlled = u.isPlayerControlled,
        //        LearnedAbilities = u.LearnedAbilities
        //    };
        //    return newDTO;
        //}

        /// <summary>
        /// This is a generic Save to XML method it is used to create or save data to a XML file.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="Object To Parse"></param>
        /// <param name="fileName"></param>
        /// <param name="directoryName"></param>
        public static void SaveToFile <T>(T objectClass, string fileName, FolderName folder, bool customFile)
        {
            //Here we are creating a new instance of the XmlSerializer class and dynamically passing in the
            //Object (T) to serialize
            XmlSerializer serializer = new XmlSerializer(typeof(T));

            //Since right now this is a console application it might be easier for us to save our data to MyDocs
            string rootDirectory;

            if (customFile == true)
            {
                rootDirectory = GetCustomRoot();
            }
            else
            {
                rootDirectory = GetCoreRoot();
            }
            Directory.CreateDirectory(rootDirectory + @"\" + folder);

            //TODO: See if there is a way to reduce simplify this code
            var        filePath = rootDirectory + @"\" + folder + @"\" + fileName;
            FileStream file     = File.Create(filePath);

            serializer.Serialize(file, objectClass);
            file.Close();
        }
コード例 #7
0
 public FolderTree(FolderTree Parent, FolderName Folder)
     : base(Parent, _ => DefineSubtrees(Parent, Folder))
 {
     this.Root             = Parent.Root;
     this.FolderName       = Folder;
     this.RelativeLocation = Parent.RelativeLocation + Folder;
 }
コード例 #8
0
        public InMemoryProductProvider ReadInData()
        {
            if (FolderName.IsNullOrEmpty())
            {
                throw new ArgumentException("We must have a Folder to load data from.");
            }

            //Book book = ReadInBook();

            //ReadCapabilities( book );
            //ReadAddresses( book );

            ReadPricelists();
            ReadProducts();

            //ReadPaymentTerms( book );
            //ReadPaymentTypes( book );
            //ReadDeliveryTerms( book );
            //ReadDeliveryTypes( book );

            //ReadProductCategories( book );
            //ReadProductFamilies( book );
            //ReadProductTypes( book );

            return(ProductProvider);
        }
コード例 #9
0
        public List <SearchResult> SearchFolder(FolderName folder, bool returnBody = true, bool returnAttachments = true)
        {
            var searchResult = new List <SearchResult>();

            var searchFilter = new SearchFilter.SearchFilterCollection(LogicalOperator.Or, SearchFilters.ToArray());

            var view = new ItemView(SearchLimit)
            {
                PropertySet = new PropertySet(BasePropertySet.IdOnly, ItemSchema.Subject, ItemSchema.HasAttachments, ItemSchema.DateTimeReceived)
            };

            view.OrderBy.Add(ItemSchema.DateTimeReceived, SortDirection.Descending);
            view.Traversal = ItemTraversal.Shallow;

            var res = Service.FindItems((WellKnownFolderName)folder, searchFilter, view);

            if (res.TotalCount > 0)
            {
                foreach (var item in res.Items)
                {
                    if (item is EmailMessage)
                    {
                        searchResult.Add(new SearchResult {
                            UniqueId       = item.Id.UniqueId,
                            ReceivedOn     = item.DateTimeReceived,
                            Subject        = item.Subject,
                            HasAttachments = item.HasAttachments
                        });
                    }
                }
            }

            return(searchResult);
        }
コード例 #10
0
        private string RetrieveDeployedBuildConfigFromDevice()
        {
            var CommandResult = GetCommand().Execute(string.Format("ls {0}", DeploymentPath));

            string CleanedCommandRes = Regex.Replace(CommandResult, @"\r\n?|\n", "");

            string[] Folders = CleanedCommandRes.Split(' ');

            // Kill all processes with the current name running on the Linux machine.
            foreach (var FolderName in Folders)
            {
                if (string.IsNullOrEmpty(FolderName))
                {
                    continue;
                }

                if (FolderName.Contains(ProjectConfig.Name))
                {
                    Match ConfigMatch = Regex.Match(FolderName, @"ShooterGame-[^-]+-(.+)(?=Server)", RegexOptions.IgnoreCase);
                    if (ConfigMatch.Success)
                    {
                        string RetrievedValue = ConfigMatch.Groups[1].Captures[0].Value;
                        Logger.Info(string.Format("Config {0} was deduced from device build folder {1}", RetrievedValue, FolderName));
                        return(RetrievedValue);
                    }
                    else
                    {
                        Logger.Info(string.Format("Unable to retrieve Config from device build folder {0} !", FolderName));
                        return(string.Empty);
                    }
                }
            }
            Logger.Info(string.Format("Unable to find build folder from the device, searching folder {0} !", DeploymentPath));
            return(string.Empty);
        }
コード例 #11
0
        private string RetrieveDeploymentPathFromDevice()
        {
            var CommandResult = GetCommand().Execute(string.Format("ls {0}", DeploymentPath));

            string CleanedCommandRes = Regex.Replace(CommandResult, @"\r\n?|\n", "");

            string[] Folders = CleanedCommandRes.Split(' ');

            // Kill all processes with the current name running on the Linux machine.
            foreach (var FolderName in Folders)
            {
                if (string.IsNullOrEmpty(FolderName))
                {
                    continue;
                }

                if (FolderName.Contains(ProjectConfig.Name))
                {
                    string DeducedPath = string.Format("{0}/{1}", DeploymentPath, FolderName);
                    Logger.Info(string.Format("Following deployment path was found on the device : {0}", DeducedPath));
                    return(DeducedPath);
                }
            }
            Logger.Info(string.Format("Unable to retrieve deployment path from the device, searching folder {0} !", DeploymentPath));
            return(string.Empty);
        }
コード例 #12
0
        protected void RegisterDefaultCookiePath(string folderName, FolderName folder = null)
        {
            folder = folder ?? new FolderName();
            var home         = Environment.GetEnvironmentVariable("HOME");
            var localAppData = Environment.GetEnvironmentVariable("APPDATA");

            if (string.IsNullOrEmpty(home) && string.IsNullOrEmpty(localAppData))
            {
                return;
            }

            if (!string.IsNullOrEmpty(home) && string.IsNullOrEmpty(localAppData))
            {
                var bitcoinFolder = Path.Combine(home, "." + folderName.ToLowerInvariant());

                if (Mainnet != null)
                {
                    var mainnet = folder.MainnetFolder == null?Path.Combine(bitcoinFolder, ".cookie")
                                      : Path.Combine(bitcoinFolder, folder.MainnetFolder, ".cookie");

                    ;
                    RPCClient.RegisterDefaultCookiePath(Mainnet, mainnet);
                }

                if (Testnet != null)
                {
                    var testnet = Path.Combine(bitcoinFolder, folder.TestnetFolder, ".cookie");
                    RPCClient.RegisterDefaultCookiePath(Testnet, testnet);
                }

                if (Regtest != null)
                {
                    var regtest = Path.Combine(bitcoinFolder, folder.RegtestFolder, ".cookie");
                    RPCClient.RegisterDefaultCookiePath(Regtest, regtest);
                }
            }
            else if (!string.IsNullOrEmpty(localAppData))
            {
                var bitcoinFolder = Path.Combine(localAppData, char.ToUpperInvariant(folderName[0]) + folderName.Substring(1));
                if (Mainnet != null)
                {
                    var mainnet = folder.MainnetFolder == null?Path.Combine(bitcoinFolder, ".cookie")
                                      : Path.Combine(bitcoinFolder, folder.MainnetFolder, ".cookie");

                    RPCClient.RegisterDefaultCookiePath(Mainnet, mainnet);
                }

                if (Testnet != null)
                {
                    var testnet = Path.Combine(bitcoinFolder, folder.TestnetFolder, ".cookie");
                    RPCClient.RegisterDefaultCookiePath(Testnet, testnet);
                }

                if (Regtest != null)
                {
                    var regtest = Path.Combine(bitcoinFolder, folder.RegtestFolder, ".cookie");
                    RPCClient.RegisterDefaultCookiePath(Regtest, regtest);
                }
            }
        }
コード例 #13
0
        public void ImmediateSubFolderTest()
        {
            FolderName folder = @"C:\Program Files (x86)\Microsoft Visual Studio\2019";

            folder.ContainsImmediateFolderName("Professional").Must().BeTrue().OrThrow();
            folder.ContainsImmediateFolderName("Enterprise").Must().Not.BeTrue().OrThrow();
        }
コード例 #14
0
ファイル: FileSystemNavigator.cs プロジェクト: 0xCM/Meta.Core
 protected FileSystemNavigator(IApplicationContext C, SystemNode Host)
     : base(C)
 {
     this.Host           = Host;
     this.TopUncRoot     = new NodeFolderPath(Host, "Z:\\unc");
     this.HostFolderName = FolderName.Parse(Host.NodeIdentifier);
 }
コード例 #15
0
ファイル: Discord.cs プロジェクト: ZeroLP/ASSharp
        /// <summary>
        /// Gets Discord's Version
        /// </summary>
        /// <returns>A String to Discord Version Directory</returns>
        internal static string GetDiscordVersion()
        {
            string DiscordVersion = "";

            string[] GetAllFolder;

            try
            {
                GetAllFolder = Directory.GetDirectories(GetDiscordDirectory()).Select(Path.GetFileName).ToArray();
            }
            catch (Exception e)
            {
                return(string.Empty);
            }

            foreach (string FolderName in GetAllFolder)
            {
                if (FolderName.StartsWith("0."))
                {
                    DiscordVersion = FolderName;
                }
            }

            return(DiscordVersion);
        }
コード例 #16
0
ファイル: Finder.cs プロジェクト: toddcoder/FGrep
        public IEnumerable <string> FilesByLine(FolderName folder, Func <FindResult, string> mapFunc, int indentLevel = 0)
        {
            var lineMatched = false;

            foreach (var file in folder.Files.Where(MatchedFile))
            {
                foreach (var result in FileLines(file))
                {
                    if (!lineMatched)
                    {
                        FolderMatched?.Invoke(this, new FolderArgs(folder));
                    }

                    var clone = result.Clone();
                    clone.File        = file;
                    clone.IndentLevel = indentLevel;

                    yield return(mapFunc(clone));
                }

                FileMatched?.Invoke(this, new FileArgs(file));
            }

            foreach (var subfolder in folder.Folders)
            {
                foreach (var result in FilesByLine(subfolder, mapFunc, indentLevel + 1))
                {
                    yield return(result);
                }
            }
        }
コード例 #17
0
        public void Normalize_ReturnStringInLowercase_WhenPassing_FolderName()
        {
            var expected = FolderName.ToLower();

            var actual = Path.Normalize(FolderName);

            Assert.AreEqual(expected, actual);
        }
コード例 #18
0
 public Perebor(ParametricData param, FileNames file, FolderName folder, Route rout, CommandCMD cmd)
 {
     this.param  = param;
     this.file   = file;
     this.folder = folder;
     this.rout   = rout;
     this.cmd    = cmd;
 }
コード例 #19
0
        public void RelativeFolderConversionToAbsolute()
        {
            var        folderName = @"..\..\Estream.Migrations\_DDL";
            FolderName baseFolder = @"~\src\Estream\Source\Estream.MigrationTests\Configurations";
            var        folder     = baseFolder.AbsoluteFolder(folderName);

            Console.WriteLine(folder);
        }
コード例 #20
0
 public Synchronizer(FolderName sourceFolder, FolderName targetFolder, Pattern pattern, bool move = false, bool recursive = true)
 {
     this.sourceFolder = sourceFolder;
     this.targetFolder = targetFolder;
     this.pattern      = pattern;
     this.move         = move;
     this.recursive    = recursive;
 }
コード例 #21
0
        private void StartBatchFolder_Button_Click(object sender, RoutedEventArgs e)
        {
            if (_fileFolder != null)
            {
                List <FolderName> prefoldername = new List <FolderName>();
                foreach (var folder in _fileFolder)
                {
                    var folder_name = folder.nameFolder;

                    var    FolderName = new FolderName();
                    string newname    = "";
                    string error      = "";
                    foreach (var action in _actions)
                    {
                        newname = action.Operate(folder_name, null);

                        int  check = 1;
                        bool flag  = false;

                        while (!flag)
                        {
                            for (int i = 0; i < _fileFolder.Count; i++)
                            {
                                if (_fileFolder.IndexOf(folder) != i && newname == _fileFolder[i].nameFolder)
                                {
                                    newname += $" ({check})";
                                    error    = $"Folder name is exists. Change folder name to {newname}";
                                    check++;
                                    i = 0;
                                }
                            }
                            flag = true;
                        }
                        folder_name = newname;
                    }
                    Guid   g          = Guid.NewGuid();
                    string guidstring = g.ToString();
                    string temp       = folder.pathFolder + guidstring;
                    Directory.Move(folder.pathFolder + folder.nameFolder, temp);
                    Directory.Move(temp, folder.pathFolder + newname);


                    FolderName.nameFolder  = newname;
                    FolderName.pathFolder  = folder.pathFolder;
                    FolderName.errorFolder = error;
                    prefoldername.Add(FolderName);
                }
                _fileFolder.Clear();
                foreach (var item in prefoldername)
                {
                    _fileFolder.Add(item);
                }

                FolderListView.ItemsSource = _fileFolder;

                System.Windows.Forms.MessageBox.Show("Change Name success!");
            }
        }
コード例 #22
0
    static IEnumerable <FolderTree> DefineSubtrees(FolderTree ParentTree, FolderName ChildFolder)
    {
        var childTree = new FolderTree(ParentTree, ChildFolder);

        foreach (var grandChild in DefineSubtrees(childTree))
        {
            yield return(grandChild);
        }
    }
コード例 #23
0
        public void LocalAndParentFilesTest3()
        {
            FolderName folder = @"C:\Enterprise\Temp";

            foreach (var file in folder.LocalAndParentFiles)
            {
                Console.WriteLine(file);
            }
        }
コード例 #24
0
        public void ContainsFolderTest()
        {
            FolderName parentFolder = @"C:\Enterprise\Projects";
            FolderName subFolder    = @"C:\Enterprise\Projects\Core";
            FolderName alienFolder  = @"C:\Enterprise\Working";

            parentFolder.ContainsFolder(subFolder).Must().BeTrue().OrThrow();
            parentFolder.ContainsFolder(alienFolder).Must().Not.BeTrue().OrThrow();
        }
コード例 #25
0
        public void LocalAndParentFoldersTest1()
        {
            FolderName folder = @"~\src\Estream\Source\Estream.Measurements\WellSearchDomain\ValueObjects\MasterData";

            foreach (var subFolder in folder.LocalAndParentFolders)
            {
                Console.WriteLine(subFolder);
            }
        }
コード例 #26
0
        public void LocalAndParentFoldersTest2()
        {
            FolderName folder = @"C:\Enterprise\Temp";

            foreach (var subFolder in folder.LocalAndParentFolders)
            {
                Console.WriteLine(subFolder);
            }
        }
コード例 #27
0
 /// <summary>
 /// 上传文件之后
 /// </summary>
 protected virtual void AfterUploadToFtp()
 {
     if (FolderName.Contains("栅格图"))
     {
         var ftpFilePPath  = Path.Combine(FtpConfig.DirectoryPath, Files[0].FileData);
         var thumbFilePath = ftpFilePPath.Insert(ftpFilePPath.LastIndexOf("."), "_thumb");
         MakeThumbnail(SaveFilePath, thumbFilePath, 220, 200);
     }
 }
コード例 #28
0
ファイル: Song.cs プロジェクト: rifathelal/osu-bg
        public Song(string folderPath)
        {
            DirectoryInfo directory = new DirectoryInfo(folderPath);

            FolderPath  = directory.FullName;
            FolderName  = directory.Name;
            Name        = FolderName.Substring(FolderName.IndexOf(' ') + 1);
            Backgrounds = new List <Background>();
        }
コード例 #29
0
        public MultiFinder(FolderName startingFolder, string pattern, bool multiThreaded, Func <FileName, bool> including)
        {
            this.startingFolder = startingFolder;
            this.pattern        = pattern;
            this.including      = including;

            jobPool = new JobPool(multiThreaded);
            locker  = new object();
            writer  = new ProgressWriter(locker, jobPool.ProcessorCount);
        }
コード例 #30
0
        public void RelativeToTest()
        {
            FolderName baseFolder = @"~\src\Estream\Source\Estream.MigrationTests\bin";
            var        result     = baseFolder.RelativeTo((FileName)@"~\src\Estream\Source\Estream.MigrationTests\Configurations\configuration.json");

            Console.WriteLine(result);
            var absolute = baseFolder.AbsoluteFolder(result);

            Console.WriteLine(absolute);
        }
コード例 #31
0
        public static ObjectGraph FromString(string source, FolderName currentFolder, out IMaybe <Replacer> replacer,
                                             string configs = Parser.DEFAULT_CONFIGS)
        {
            var parser = new Parser(source, currentFolder.ToString().Some());
            var graph  = parser.Parse(configs);

            replacer = parser.Replacer;

            return(graph);
        }
コード例 #32
0
ファイル: base.cs プロジェクト: Exclr8/CloudCore
        internal static bool CheckFileExists(Project dteProject, string itemName, string subProcessGuid, FolderName itemFolder, bool IsUserItem = false)
        {
            string projectPath = dteProject.FullName.Substring(0, dteProject.FullName.LastIndexOf("\\"));
            string guidFolder = "_" + subProcessGuid.Replace("-", "_");
            string itemPath = "";

            itemPath = itemPath = getFullPath("_" + itemName, itemFolder, guidFolder, projectPath, IsUserItem);

            return File.Exists(itemPath);
        }
コード例 #33
0
ファイル: base.cs プロジェクト: Exclr8/CloudCore
        internal static void DeleteProcessFile(Project dteProject, string itemName, FolderName itemFolder, string subProcessGuid, bool IsUserItem = false)
        {
            string guidFolder = "_" + subProcessGuid.Replace("-", "_");
            string projectPath = dteProject.FullName.Substring(0, dteProject.FullName.LastIndexOf("\\"));
            string fileFullPath = "";

            try
            {
                if (IsUserItem)
                {
                    dteProject.ProjectItems.Item("Areas").ProjectItems.Item(rootFolder).ProjectItems.Item(itemFolder.ToString()).ProjectItems.Item(guidFolder).ProjectItems.
                        Item("_" + itemName).Remove();

                    if (dteProject.ProjectItems.Item("Areas").ProjectItems.Item(rootFolder).ProjectItems.Item(itemFolder.ToString()).ProjectItems.
                        Item(guidFolder).ProjectItems.Count == 0)
                    {
                        dteProject.ProjectItems.
                        Item("Areas").ProjectItems.
                        Item(rootFolder).ProjectItems.
                        Item(itemFolder.ToString()).ProjectItems.
                        Item(guidFolder).Remove();

                        if (dteProject.ProjectItems.Item("Areas").ProjectItems.Item(rootFolder).ProjectItems.Item(itemFolder.ToString()).ProjectItems.Count == 0)
                        {
                            dteProject.ProjectItems.
                            Item("Areas").ProjectItems.
                            Item(rootFolder).ProjectItems.
                            Item(itemFolder.ToString()).Remove();

                            if (dteProject.ProjectItems.Item("Areas").ProjectItems.Item(rootFolder).ProjectItems.Count == 0)
                            {
                                dteProject.ProjectItems.
                                Item("Areas").ProjectItems.
                                Item(rootFolder).Remove();
                            }
                        }
                    }
                }
                else
                {
                    dteProject.ProjectItems.
                        Item(rootFolder).ProjectItems.
                        Item(guidFolder).ProjectItems.
                        Item(itemFolder.ToString()).ProjectItems.
                        Item("_" + itemName).Remove();

                    if (dteProject.ProjectItems.Item(rootFolder).ProjectItems.Item(guidFolder).ProjectItems.
                        Item(itemFolder.ToString()).ProjectItems.Count == 0)
                    {
                        dteProject.ProjectItems.
                        Item(rootFolder).ProjectItems.
                        Item(guidFolder).ProjectItems.
                        Item(itemFolder.ToString()).Remove();

                        if (dteProject.ProjectItems.Item(rootFolder).ProjectItems.Item(guidFolder).ProjectItems.Count == 0)
                        {
                            dteProject.ProjectItems.
                            Item(rootFolder).ProjectItems.
                            Item(guidFolder).Remove();
                        }
                    }
                }

            }
            catch (Exception)
            { }

            fileFullPath = getFullPath("_" + itemName, itemFolder, guidFolder, projectPath, IsUserItem);

            FileInfo file = new FileInfo(fileFullPath);

            //Delete the files if exist
            if (file.Exists)
            {
                CheckoutFileIfRequired(dteProject.DTE, dteProject.FullName);
                CheckoutFileIfRequired(dteProject.DTE, file.FullName);
                file.Delete();

                if (file.Directory.GetFiles().Count() == 0 && file.Directory.GetDirectories().Count() == 0)
                {
                    file.Directory.Delete();

                    if (file.Directory.Parent.GetFiles().Count() == 0 && file.Directory.Parent.GetDirectories().Count() == 0)
                    {
                        file.Directory.Parent.Delete();
                    }
                }
            }

            
        }
コード例 #34
0
ファイル: UserActivities.cs プロジェクト: Exclr8/CloudCore
        internal static void AddController(Project dteProject, FolderName contentFolder, string itemName, byte[] content)
        {
            string projectPath = dteProject.FullName.Substring(0, dteProject.FullName.LastIndexOf("\\"));
            string itemPath = string.Format("{0}\\Areas\\{1}\\{2}\\_{3}", projectPath, rootFolder, contentFolder.ToString(), itemName);

            CreateDirectories(projectPath, "Areas");
            CreateDirectories(string.Format("{0}\\Areas\\{1}", projectPath, rootFolder), contentFolder.ToString());

            CheckoutFileIfRequired(dteProject.DTE, dteProject.FullName);
            CheckoutFileIfRequired(dteProject.DTE, itemPath);

            File.Create(itemPath).Write(content, 0, content.Length);

            dteProject.ProjectItems.AddFromFile(itemPath);
        }
コード例 #35
0
ファイル: UserActivities.cs プロジェクト: Exclr8/CloudCore
        internal static void DeleteController(Project dteProject, FolderName contentFolder, string itemName)
        {
            string projectPath = dteProject.FullName.Substring(0, dteProject.FullName.LastIndexOf("\\"));

            string itemPath = string.Format("{0}\\Areas\\{1}\\{2}\\_{3}", projectPath, rootFolder, contentFolder.ToString(), itemName);

            dteProject.ProjectItems.
                        Item("Areas").ProjectItems.
                        Item(rootFolder).ProjectItems.
                        Item(contentFolder.ToString()).ProjectItems.
                        Item("_" + itemName).Remove();

            if (dteProject.ProjectItems.Item("Areas").ProjectItems.Item(rootFolder).ProjectItems.Item(contentFolder.ToString())
                .ProjectItems.Count == 0)
            {
                dteProject.ProjectItems.
                        Item("Areas").ProjectItems.
                        Item(rootFolder).ProjectItems.
                        Item(contentFolder.ToString()).Remove();
            }

            File.Delete(itemPath);
        }
コード例 #36
0
ファイル: UserActivities.cs プロジェクト: Exclr8/CloudCore
 internal static void OpenController(Project dteProject, FolderName contentFolder, string itemName)
 {
     dteProject.ProjectItems.
                 Item("Areas").ProjectItems.
                 Item(rootFolder).ProjectItems.
                 Item(contentFolder.ToString()).ProjectItems.
                 Item("_" + itemName).Open().Activate();
 }
コード例 #37
0
ファイル: UserActivities.cs プロジェクト: Exclr8/CloudCore
        internal static bool ControllerExists(Store store, FolderName contentFolder, string itemName)
        {
            Project dteProject = getDteProject(store, "page");

            string projectPath = dteProject.FullName.Substring(0, dteProject.FullName.LastIndexOf("\\"));

            string itemPath = string.Format("{0}\\Areas\\{1}\\{2}\\_{3}", projectPath, rootFolder, contentFolder.ToString(), itemName);

            return File.Exists(itemPath);
        }
コード例 #38
0
ファイル: base.cs プロジェクト: Exclr8/CloudCore
 internal static void OpenProcessFile(Project dteProject, string itemName, FolderName itemFolder, string subProcessGuid, bool IsUserItem = false)
 {
     string guidFolder = "_" + subProcessGuid.Replace("-", "_");
     if (IsUserItem)
     {
         dteProject.ProjectItems.
                 Item("Areas").ProjectItems.
                 Item(rootFolder).ProjectItems.
                 Item(itemFolder.ToString()).ProjectItems.
                 Item(guidFolder).ProjectItems.
                 Item("_" + itemName).Open().Activate();
     }
     else
     {
         dteProject.ProjectItems.Item(rootFolder).ProjectItems.Item(guidFolder).ProjectItems.Item(itemFolder.ToString()).ProjectItems
             .Item("_" + itemName).Open().Activate();
     }
 }
コード例 #39
0
ファイル: base.cs プロジェクト: Exclr8/CloudCore
 private static string getFullPath(string itemName, FolderName itemFolder, string guidFolder, string projectPath, bool IsUserItem)
 {
     if (IsUserItem)
     {
         return string.Format("{0}\\Areas\\{1}\\{3}\\{2}\\{4}", projectPath, rootFolder, guidFolder, itemFolder.ToString(), itemName);
     }
     else
     {
         return string.Format("{0}\\{1}\\{2}\\{3}\\{4}", projectPath, rootFolder, guidFolder, itemFolder.ToString(), itemName);
     }
 }