예제 #1
0
        public (bool Ok, DateTime Value) FileWileNameWithoutExtensionLastAsDateTime()
        {
            var split = FileNameWithoutExtension.Split('.');

            if (split.Length <= 1)
            {
                return(false, DateTime.MinValue);
            }
            var last = split.Last();

            if (last.AreDigits())
            {
                foreach (var format in fluent.Enum.Names <DateTimeFormat>())
                {
                    if (last.Length == format.Length)
                    {
                        if (DateTime.TryParseExact(last, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out var dateTime))
                        {
                            return(true, dateTime);
                        }
                    }
                }
            }
            return(false, DateTime.MinValue);
        }
예제 #2
0
        }                       // for testing

        /// <summary>
        /// Initializes a new instance of the <see cref="BlobItem"/> class.
        /// </summary>
        /// <param name="item">The <see cref="IListBlobItem"/> to build properties from.</param>
        public BlobItem([NotNull] IListBlobItem item)
        {
            Tag = item;

            RootFolder      = item.Container.Name;
            Path            = item.Uri.AbsolutePath;
            UniqueLeaseName = Guid.NewGuid().ToString();

            var index = Path.LastIndexOf("/", StringComparison.InvariantCulture);

            FileName = Path.Substring(index + 1, Path.Length - index - 1);
            FileNameWithoutExtension = FileName;

            index = Path.LastIndexOf(".", StringComparison.InvariantCulture) + 1;

            if (index > 0)
            {
                FileExtension            = Path.Substring(index, Path.Length - index).ToLower(CultureInfo.InvariantCulture);
                FileNameWithoutExtension = FileName.Replace(FileExtension, string.Empty);

                var extIndex = FileNameWithoutExtension.LastIndexOf(".", StringComparison.InvariantCulture);
                FileNameWithoutExtension = extIndex > 0 ? FileNameWithoutExtension.Substring(0, extIndex) : FileNameWithoutExtension;
            }
            Path = $"{RootFolder}/{FileName}";
        }
예제 #3
0
        /// <summary>
        /// Returns an ASP.NET Core environment-specific JSON file-name for a base file-name and ASP.NET Core environment name.
        /// </summary>
        public static FileName GetJsonFileNameForEnvironment(FileNameWithoutExtension baseFileNameWithoutExtension, string aspNetCoreEnvironmentName)
        {
            var fileNameWithoutExtension = PathUtilities.Combine(baseFileNameWithoutExtension, aspNetCoreEnvironmentName.AsFileNameSegment()).AsFileNameWithoutExtension();

            var output = PathUtilities.GetFileName(fileNameWithoutExtension, FileExtensions.Json);

            return(output);
        }
예제 #4
0
        public static FileName GetJsonFileNameForEnvironment(FileNameWithoutExtension baseFileNameWithoutExtension, AspNetCoreEnvironmentValue aspNetCoreEnvironment)
        {
            var aspNetCoreEnvironmentName = aspNetCoreEnvironment.ToStringStandard();

            var output = AppSettings.GetJsonFileNameForEnvironment(baseFileNameWithoutExtension, aspNetCoreEnvironmentName);

            return(output);
        }
예제 #5
0
        private void SetNameFromCodePattern(int nameStartIndex)
        {
            if (nameStartIndex >= FileNameWithoutExtension.Length)
            {
                return;
            }

            Name = FileNameWithoutExtension.Remove(0, nameStartIndex).Trim();
        }
예제 #6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BlobItem"/> class.
        /// </summary>
        /// <param name="item">The <see cref="CloudBlockBlob"/> to build properties from.</param>
        public BlobItem([NotNull] CloudBlockBlob item)
        {
            Tag = item;

            RootFolder      = item.Container.Name;
            Path            = item.Uri.AbsolutePath;
            UniqueLeaseName = Guid.NewGuid().ToString();

            var index = Path.LastIndexOf("/", StringComparison.InvariantCulture);

            FileName = Path.Substring(index + 1, Path.Length - index - 1);
            FileNameWithoutExtension = FileName;

            index = Path.LastIndexOf(".", StringComparison.InvariantCulture) + 1;

            if (index > 0)
            {
                FileExtension            = Path.Substring(index, Path.Length - index).ToLower(CultureInfo.InvariantCulture);
                FileNameWithoutExtension = FileName.Replace(FileExtension, string.Empty);

                var extIndex = FileNameWithoutExtension.LastIndexOf(".", StringComparison.InvariantCulture);
                FileNameWithoutExtension = extIndex > 0 ? FileNameWithoutExtension.Substring(0, extIndex) : FileNameWithoutExtension;
            }

            Metadata = (Dictionary <string, string>)item.Metadata;

            if (item.Properties != null && item.Properties.Length != -1)
            {
                FileSize = item.Properties.Length;

                // Set content hash if it exists.
                if (item.Properties.ContentMD5 != null)
                {
                    ContentHash = ConvertContentHash(item.Properties.ContentMD5);
                }

                // Set LastWriteTime if it exists.
                if (item.Properties.LastModified != null)
                {
                    LastWriteTime = item.Properties.LastModified.Value.UtcDateTime;
                }
            }

            // We need to get the LastWriteTime for the blob, a custom metadata property.
            // We are including a fallback to the built in last modified date of the blob should the custom property not exist.
            // Instantiating the property to DateTime.MinValue just in case something really weird has happened and the fallback property isn't set.
            if (item.Metadata.ContainsKey("LastWriteTimeUtc"))
            {
                var encodedLastWrite = item.Metadata["LastWriteTimeUtc"];
                LastWriteTime = DateTime.Parse(HttpUtility.UrlDecode(encodedLastWrite));
            }
            Path = $"{RootFolder}/{FileName}";
        }
예제 #7
0
        private bool GetFinalPatternIndexesAndCounts(out int seasonIndex,
                                                     out int seasonCount, out int episodeIndex, out int episodeCount)
        {
            string fileNameWE = FileNameWithoutExtension.ToLower();

            seasonIndex = 0;

            do
            {
                episodeIndex = -1;
                seasonCount  = episodeCount = 0;

                while (seasonIndex < fileNameWE.Length && fileNameWE[seasonIndex] != 's')
                {
                    seasonIndex++;
                }

                seasonIndex++;

                while (seasonIndex + seasonCount < fileNameWE.Length &&
                       char.IsNumber(fileNameWE[seasonIndex + seasonCount]))
                {
                    seasonCount++;
                }

                if (seasonIndex + seasonCount < fileNameWE.Length && fileNameWE[seasonIndex + seasonCount] == 'e')
                {
                    episodeIndex = seasonIndex + seasonCount + 1;

                    while (episodeIndex + episodeCount < fileNameWE.Length &&
                           char.IsNumber(fileNameWE[episodeIndex + episodeCount]))
                    {
                        episodeCount++;
                    }

                    if (seasonIndex != -1 && seasonCount != 0 && episodeIndex != -1 && episodeCount != 0)
                    {
                        return(true);
                    }
                }

                seasonIndex++;
            }while (seasonIndex < fileNameWE.Length);

            return(false);
        }
예제 #8
0
        private void SetNameFromFinalPattern(int startIndex)
        {
            string fileNameWE = FileNameWithoutExtension.ToLower();

            while (startIndex < fileNameWE.Length && fileNameWE[startIndex] == ' ')
            {
                startIndex++;
            }
            while (startIndex < fileNameWE.Length && fileNameWE[startIndex] == '-')
            {
                startIndex++;
            }
            while (startIndex < fileNameWE.Length && fileNameWE[startIndex] == ' ')
            {
                startIndex++;
            }

            if (startIndex >= fileNameWE.Length)
            {
                return;
            }

            Name = FileNameWithoutExtension.Remove(0, startIndex).TrimStart(' ').TrimEnd(' ');
        }
예제 #9
0
        public PsmFromTsv(string line, char[] split, Dictionary <string, int> parsedHeader)
        {
            var spl = line.Split(split);

            //Required properties
            FileNameWithoutExtension = spl[parsedHeader[PsmTsvHeader.FileName]].Trim();

            // remove file format, e.g., .raw, .mzML, .mgf
            // this is more robust but slower than Path.GetFileNameWithoutExtension
            if (FileNameWithoutExtension.Contains('.'))
            {
                foreach (var knownSpectraFileExtension in GlobalVariables.AcceptedSpectraFormats)
                {
                    FileNameWithoutExtension = Path.GetFileName(FileNameWithoutExtension.Replace(knownSpectraFileExtension, string.Empty, StringComparison.InvariantCultureIgnoreCase));
                }
            }

            Ms2ScanNumber = int.Parse(spl[parsedHeader[PsmTsvHeader.Ms2ScanNumber]]);

            // this will probably not be known in an .mgf data file
            if (int.TryParse(spl[parsedHeader[PsmTsvHeader.PrecursorScanNum]].Trim(), out int result))
            {
                PrecursorScanNum = result;
            }
            else
            {
                PrecursorScanNum = 0;
            }

            PrecursorCharge   = (int)double.Parse(spl[parsedHeader[PsmTsvHeader.PrecursorCharge]].Trim(), CultureInfo.InvariantCulture);
            PrecursorMz       = double.Parse(spl[parsedHeader[PsmTsvHeader.PrecursorMz]].Trim(), CultureInfo.InvariantCulture);
            PrecursorMass     = double.Parse(spl[parsedHeader[PsmTsvHeader.PrecursorMass]].Trim(), CultureInfo.InvariantCulture);
            BaseSeq           = RemoveParentheses(spl[parsedHeader[PsmTsvHeader.BaseSequence]].Trim());
            FullSequence      = spl[parsedHeader[PsmTsvHeader.FullSequence]];
            PeptideMonoMass   = spl[parsedHeader[PsmTsvHeader.PeptideMonoMass]].Trim();
            Score             = double.Parse(spl[parsedHeader[PsmTsvHeader.Score]].Trim(), CultureInfo.InvariantCulture);
            DecoyContamTarget = spl[parsedHeader[PsmTsvHeader.DecoyContaminantTarget]].Trim();
            QValue            = double.Parse(spl[parsedHeader[PsmTsvHeader.QValue]].Trim(), CultureInfo.InvariantCulture);
            MatchedIons       = (spl[parsedHeader[PsmTsvHeader.MatchedIonMzRatios]].StartsWith("{")) ? ReadChildScanMatchedIons(spl[parsedHeader[PsmTsvHeader.MatchedIonMzRatios]].Trim(), BaseSeq).First().Value : ReadFragmentIonsFromString(spl[parsedHeader[PsmTsvHeader.MatchedIonMzRatios]].Trim(), BaseSeq);

            //For general psms
            TotalIonCurrent  = (parsedHeader[PsmTsvHeader.TotalIonCurrent] < 0) ? null : (double?)double.Parse(spl[parsedHeader[PsmTsvHeader.TotalIonCurrent]].Trim(), CultureInfo.InvariantCulture);
            DeltaScore       = (parsedHeader[PsmTsvHeader.DeltaScore] < 0) ? null : (double?)double.Parse(spl[parsedHeader[PsmTsvHeader.DeltaScore]].Trim(), CultureInfo.InvariantCulture);
            Notch            = (parsedHeader[PsmTsvHeader.Notch] < 0) ? null : spl[parsedHeader[PsmTsvHeader.Notch]].Trim();
            EssentialSeq     = (parsedHeader[PsmTsvHeader.EssentialSequence] < 0) ? null : spl[parsedHeader[PsmTsvHeader.EssentialSequence]].Trim();
            MissedCleavage   = (parsedHeader[PsmTsvHeader.MissedCleavages] < 0) ? null : spl[parsedHeader[PsmTsvHeader.MissedCleavages]].Trim();
            MassDiffDa       = (parsedHeader[PsmTsvHeader.MassDiffDa] < 0) ? null : spl[parsedHeader[PsmTsvHeader.MassDiffDa]].Trim();
            MassDiffPpm      = (parsedHeader[PsmTsvHeader.MassDiffPpm] < 0) ? null : spl[parsedHeader[PsmTsvHeader.MassDiffPpm]].Trim();
            ProteinAccession = (parsedHeader[PsmTsvHeader.ProteinAccession] < 0) ? null : spl[parsedHeader[PsmTsvHeader.ProteinAccession]].Trim();
            ProteinName      = (parsedHeader[PsmTsvHeader.ProteinName] < 0) ? null : spl[parsedHeader[PsmTsvHeader.ProteinName]].Trim();
            GeneName         = (parsedHeader[PsmTsvHeader.GeneName] < 0) ? null : spl[parsedHeader[PsmTsvHeader.GeneName]].Trim();
            OrganismName     = (parsedHeader[PsmTsvHeader.OrganismName] < 0) ? null : spl[parsedHeader[PsmTsvHeader.OrganismName]].Trim();
            IntersectingSequenceVariations = (parsedHeader[PsmTsvHeader.IntersectingSequenceVariations] < 0) ? null : spl[parsedHeader[PsmTsvHeader.IntersectingSequenceVariations]].Trim();
            IdentifiedSequenceVariations   = (parsedHeader[PsmTsvHeader.IdentifiedSequenceVariations] < 0) ? null : spl[parsedHeader[PsmTsvHeader.IdentifiedSequenceVariations]].Trim();
            SpliceSites                  = (parsedHeader[PsmTsvHeader.SpliceSites] < 0) ? null : spl[parsedHeader[PsmTsvHeader.SpliceSites]].Trim();
            PeptideDesicription          = (parsedHeader[PsmTsvHeader.PeptideDesicription] < 0) ? null : spl[parsedHeader[PsmTsvHeader.PeptideDesicription]].Trim();
            StartAndEndResiduesInProtein = (parsedHeader[PsmTsvHeader.StartAndEndResiduesInProtein] < 0) ? null : spl[parsedHeader[PsmTsvHeader.StartAndEndResiduesInProtein]].Trim();
            PreviousAminoAcid            = (parsedHeader[PsmTsvHeader.PreviousAminoAcid] < 0) ? null : spl[parsedHeader[PsmTsvHeader.PreviousAminoAcid]].Trim();
            NextAminoAcid                = (parsedHeader[PsmTsvHeader.NextAminoAcid] < 0) ? null : spl[parsedHeader[PsmTsvHeader.NextAminoAcid]].Trim();
            QValueNotch                  = (parsedHeader[PsmTsvHeader.QValueNotch] < 0) ? null : (double?)double.Parse(spl[parsedHeader[PsmTsvHeader.QValueNotch]].Trim(), CultureInfo.InvariantCulture);
            RetentionTime                = (parsedHeader[PsmTsvHeader.Ms2ScanRetentionTime] < 0) ? null : (double?)double.Parse(spl[parsedHeader[PsmTsvHeader.Ms2ScanRetentionTime]].Trim(), CultureInfo.InvariantCulture);
            PEP        = double.Parse(spl[parsedHeader[PsmTsvHeader.PEP]].Trim(), CultureInfo.InvariantCulture);
            PEP_QValue = double.Parse(spl[parsedHeader[PsmTsvHeader.PEP_QValue]].Trim(), CultureInfo.InvariantCulture);

            VariantCrossingIons = findVariantCrossingIons();

            //For crosslinks
            CrossType                   = (parsedHeader[PsmTsvHeader.CrossTypeLabel] < 0) ? null : spl[parsedHeader[PsmTsvHeader.CrossTypeLabel]].Trim();
            LinkResidues                = (parsedHeader[PsmTsvHeader.LinkResiduesLabel] < 0) ? null : spl[parsedHeader[PsmTsvHeader.LinkResiduesLabel]].Trim();
            ProteinLinkSite             = (parsedHeader[PsmTsvHeader.ProteinLinkSiteLabel] < 0) ? null : (spl[parsedHeader[PsmTsvHeader.ProteinLinkSiteLabel]] == "" ? null : (int?)int.Parse(spl[parsedHeader[PsmTsvHeader.ProteinLinkSiteLabel]].Trim()));
            Rank                        = (parsedHeader[PsmTsvHeader.RankLabel] < 0) ? null : (int?)int.Parse(spl[parsedHeader[PsmTsvHeader.RankLabel]].Trim());
            BetaPeptideProteinAccession = (parsedHeader[PsmTsvHeader.BetaPeptideProteinAccessionLabel] < 0) ? null : spl[parsedHeader[PsmTsvHeader.BetaPeptideProteinAccessionLabel]].Trim();
            BetaPeptideProteinLinkSite  = (parsedHeader[PsmTsvHeader.BetaPeptideProteinLinkSiteLabel] < 0) ? null : (spl[parsedHeader[PsmTsvHeader.BetaPeptideProteinLinkSiteLabel]] == "" ? null : (int?)int.Parse(spl[parsedHeader[PsmTsvHeader.BetaPeptideProteinLinkSiteLabel]].Trim()));
            BetaPeptideBaseSequence     = (parsedHeader[PsmTsvHeader.BetaPeptideBaseSequenceLabel] < 0) ? null : spl[parsedHeader[PsmTsvHeader.BetaPeptideBaseSequenceLabel]].Trim();
            BetaPeptideFullSequence     = (parsedHeader[PsmTsvHeader.BetaPeptideFullSequenceLabel] < 0) ? null : spl[parsedHeader[PsmTsvHeader.BetaPeptideFullSequenceLabel]].Trim();
            BetaPeptideTheoreticalMass  = (parsedHeader[PsmTsvHeader.BetaPeptideTheoreticalMassLabel] < 0) ? null : spl[parsedHeader[PsmTsvHeader.BetaPeptideTheoreticalMassLabel]].Trim();
            BetaPeptideScore            = (parsedHeader[PsmTsvHeader.BetaPeptideScoreLabel] < 0) ? null : (double?)double.Parse(spl[parsedHeader[PsmTsvHeader.BetaPeptideScoreLabel]].Trim(), CultureInfo.InvariantCulture);
            BetaPeptideRank             = (parsedHeader[PsmTsvHeader.BetaPeptideRankLabel] < 0) ? null : (int?)int.Parse(spl[parsedHeader[PsmTsvHeader.BetaPeptideRankLabel]].Trim());
            BetaPeptideMatchedIons      = (parsedHeader[PsmTsvHeader.BetaPeptideMatchedIonsLabel] < 0) ? null :
                                          ((spl[parsedHeader[PsmTsvHeader.BetaPeptideMatchedIonsLabel]].StartsWith("{")) ? ReadChildScanMatchedIons(spl[parsedHeader[PsmTsvHeader.BetaPeptideMatchedIonsLabel]].Trim(), BetaPeptideBaseSequence).First().Value : ReadFragmentIonsFromString(spl[parsedHeader[PsmTsvHeader.BetaPeptideMatchedIonsLabel]].Trim(), BetaPeptideBaseSequence));
            XLTotalScore = (parsedHeader[PsmTsvHeader.XLTotalScoreLabel] < 0) ? null : (double?)double.Parse(spl[parsedHeader[PsmTsvHeader.XLTotalScoreLabel]].Trim(), CultureInfo.InvariantCulture);
            ParentIons   = (parsedHeader[PsmTsvHeader.ParentIonsLabel] < 0) ? null : spl[parsedHeader[PsmTsvHeader.ParentIonsLabel]].Trim();

            // child scan matched ions (only for crosslinks for now, but in the future this will change)
            ChildScanMatchedIons = (!spl[parsedHeader[PsmTsvHeader.MatchedIonMzRatios]].StartsWith("{")) ? null : ReadChildScanMatchedIons(spl[parsedHeader[PsmTsvHeader.MatchedIonMzRatios]].Trim(), BaseSeq);
            if (ChildScanMatchedIons != null && ChildScanMatchedIons.ContainsKey(Ms2ScanNumber))
            {
                ChildScanMatchedIons.Remove(Ms2ScanNumber);
            }

            // beta peptide child scan matched ions (for crosslinks)
            BetaPeptideChildScanMatchedIons = (parsedHeader[PsmTsvHeader.BetaPeptideMatchedIonsLabel] < 0) ? null :
                                              ((!spl[parsedHeader[PsmTsvHeader.BetaPeptideMatchedIonsLabel]].StartsWith("{")) ? null : ReadChildScanMatchedIons(spl[parsedHeader[PsmTsvHeader.BetaPeptideMatchedIonsLabel]].Trim(), BetaPeptideBaseSequence));
            if (BetaPeptideChildScanMatchedIons != null && BetaPeptideChildScanMatchedIons.ContainsKey(Ms2ScanNumber))
            {
                BetaPeptideChildScanMatchedIons.Remove(Ms2ScanNumber);
            }

            //For Glyco
            GlycanMass        = (parsedHeader[PsmTsvHeader_Glyco.GlycanMass] < 0) ? null : (double?)double.Parse(spl[parsedHeader[PsmTsvHeader_Glyco.GlycanMass]], CultureInfo.InvariantCulture);
            GlycanComposition = (parsedHeader[PsmTsvHeader_Glyco.GlycanComposition] < 0) ? null : spl[parsedHeader[PsmTsvHeader_Glyco.GlycanComposition]];
            GlycanStructure   = (parsedHeader[PsmTsvHeader_Glyco.GlycanStructure] < 0) ? null : spl[parsedHeader[PsmTsvHeader_Glyco.GlycanStructure]];
            var localizationLevel = (parsedHeader[PsmTsvHeader_Glyco.GlycanLocalizationLevel] < 0) ? null : spl[parsedHeader[PsmTsvHeader_Glyco.GlycanLocalizationLevel]];

            if (localizationLevel != null)
            {
                GlycanLocalizationLevel = (LocalizationLevel)Enum.Parse(typeof(LocalizationLevel), localizationLevel);
            }
            LocalizedGlycan = (parsedHeader[PsmTsvHeader_Glyco.LocalizedGlycan] < 0) ? null : spl[parsedHeader[PsmTsvHeader_Glyco.LocalizedGlycan]];
        }
예제 #10
0
        /// <summary>
        /// Log a message to the log file.
        /// </summary>
        /// <param name="message">content to log</param>
        /// <param name="category">the priority of the message</param>
        public override void WriteLine(string message, string category)
        {
            if (String.IsNullOrEmpty(message))
            {
                return;
            }

            if (RollingLogs)
            {
                // Create or append to log file.
                string shortDate = DateTime.Now.ToString("yyyyMMdd");
                FileNameWithoutExtension = FileNameWithoutExtension.Substring(0, FileNameWithoutExtension.LastIndexOf('_')) + "_" + shortDate;
            }

            string fullPath = Path.Combine(logLocation, FileNameWithoutExtension, LogExtension);
            string dateTime = DateTime.Now.ToString("MM-dd-yyyy h:mm:ss tt");

            //Get calling method name
            StackTrace stackTrace = new StackTrace();

            string methodName = "";
            int    methodNum  = 1;

            MethodBase mb        = stackTrace.GetFrame(methodNum).GetMethod();
            string     className = "";

            while (mb.Name.ToLowerInvariant() == "writeline" || mb.Name.ToLowerInvariant() == "handleexception")
            {
                methodNum++;
                mb = stackTrace.GetFrame(methodNum).GetMethod();
                string[] fullName = mb.ReflectedType.FullName.Split('.');
                className = fullName[fullName.Length - 1];
            }

            if (mb != null)
            {
                if (!String.IsNullOrEmpty(className))
                {
                    methodName = className + ">";
                }

                methodName += mb.Name;
            }

            // Create or append to log file.
            fullPath = Path.Combine(LogLocation, FileNameWithoutExtension + LogExtension);

            //remove extra line breaks
            if (message.EndsWith(Environment.NewLine))
            {
                message = message.Substring(0, message.LastIndexOf(Environment.NewLine));
            }

            for (int i = 0; i < 10; i++)
            {
                try
                {
                    File.AppendAllText(fullPath, String.Format("{0} [{1}] [{2}] [{3}] {4}", dateTime, category.ToUpperInvariant(), Environment.MachineName, methodName, message + Environment.NewLine));
                    break;
                }
                catch (System.IO.IOException)
                {
                    System.Threading.Thread.Sleep(100);
                }
            }
        }
예제 #11
0
 public override int GetHashCode()
 {
     return(FileNameWithoutExtension.GetHashCode());
 }
예제 #12
0
        /// <summary>
        /// The default project-file file-name-without-extension is the same as the project-name.
        /// </summary>
        public static FileNameWithoutExtension ProjectFileNameWithoutExtensionFromProjectName(ProjectName projectName)
        {
            var projectFileNameWithoutExtension = new FileNameWithoutExtension(projectName.Value);

            return(projectFileNameWithoutExtension);
        }
예제 #13
0
        /// <summary>
        /// The default project-name is the same as the project-file file-name-without-extension.
        /// </summary>
        public static ProjectName ProjectNameFromProjectFileNameWithoutExtension(FileNameWithoutExtension projectFileNameWithoutExtension)
        {
            var projectName = new ProjectName(projectFileNameWithoutExtension.Value);

            return(projectName);
        }
예제 #14
0
 public FileName(FileNameWithoutExtension nameWithoutExtension, FileExtension extension)
     : this(nameWithoutExtension.ToString() + extension.ToString())
 {
 }
예제 #15
0
        /// <summary>
        /// The default solution-file file-name-without-extension is the same as the solution-name.
        /// </summary>
        public static FileNameWithoutExtension SolutionFileNameWithoutExtensionFromSolutionName(SolutionName solutionName)
        {
            var solutionFileNameWithoutExtension = new FileNameWithoutExtension(solutionName.Value);

            return(solutionFileNameWithoutExtension);
        }
예제 #16
0
        public static FileNameWithoutExtension AsFileNameWithoutExtension(this string value)
        {
            var fileNameWithoutExtension = new FileNameWithoutExtension(value);

            return(fileNameWithoutExtension);
        }
예제 #17
0
        public static ProjectFileName GetCSharpProjectFileName(FileNameWithoutExtension projectfileNameWithoutExtension)
        {
            var projectFileName = PathUtilities.GetFileName(projectfileNameWithoutExtension, CSharpProjectFileExtension.Instance).AsProjectFileName();

            return(projectFileName);
        }
예제 #18
0
        /// <summary>
        /// The default solution-name is the same as the solution file-name-without-extension
        /// </summary>
        public static SolutionName SolutionNameFromSolutionFileNameWithoutExtension(FileNameWithoutExtension solutionFileNameWithoutExtension)
        {
            var solutionName = new SolutionName(solutionFileNameWithoutExtension.Value);

            return(solutionName);
        }
예제 #19
0
        public static SolutionFileName GetSolutionFileName(FileNameWithoutExtension solutionFileNameWithoutExtension)
        {
            var solutionFileName = PathUtilities.GetFileName(solutionFileNameWithoutExtension, FileExtensions.Sln).AsSolutionFileName();

            return(solutionFileName);
        }
예제 #20
0
        /// <summary>
        /// The default package ID is the same as the project file-name-without-extensions.
        /// </summary>
        public static PackageID GetDefaultPackageID(FileNameWithoutExtension projectFileNameWithoutExtension)
        {
            var packageID = new PackageID(projectFileNameWithoutExtension.Value);

            return(packageID);
        }