Beispiel #1
0
        // --------------------------------------------------------------------
        // 検出ファイルリストテーブルにファイル情報を追加
        // AddFileNames() で追加されない情報をすべて付与する
        // ファイルは再帰検索しない
        // --------------------------------------------------------------------
        private static void AddInfosCore(TargetFolderInfo targetFolderInfo)
        {
            // フォルダー設定を読み込む
            FolderSettingsInDisk   folderSettingsInDisk   = YlCommon.LoadFolderSettings(targetFolderInfo.TargetPath);
            FolderSettingsInMemory folderSettingsInMemory = YlCommon.CreateFolderSettingsInMemory(folderSettingsInDisk);

            using ListContextInMemory listContextInMemory = new();
            using TFoundSetter foundSetter = new(listContextInMemory);

            // 指定フォルダーの全レコード
            IQueryable <TFound> targetRecords = listContextInMemory.Founds.Where(x => x.Folder == targetFolderInfo.TargetPath);

            // 情報付与
            foreach (TFound record in targetRecords)
            {
                FileInfo fileInfo = new(record.Path);
                record.LastWriteTime = JulianDay.DateTimeToModifiedJulianDate(fileInfo.LastWriteTime);
                record.FileSize      = fileInfo.Length;
                foundSetter.SetTFoundValues(record, folderSettingsInMemory);

                YlModel.Instance.EnvModel.AppCancellationTokenSource.Token.ThrowIfCancellationRequested();
            }
            AddFolderTagsInfo(targetFolderInfo, targetRecords, listContextInMemory.Tags, listContextInMemory.TagSequences);

            // コミット
            listContextInMemory.SaveChanges();
        }
        public void TestToString()
        {
            var jd = new JulianDay(JulianDay.J2000);
            var et = new EphemerisTime(jd, 12.34);

            Assert.Equal((2451557.34).ToString(), et.ToString());
        }
Beispiel #3
0
        public void TestPesach2()
        {
            JulianDay JD = Events.Pesach(2018);

            Assert.AreEqual(JD.Month, 3);
            Assert.AreEqual(JD.Day, 31);
        }
Beispiel #4
0
        public void TestEaster()
        {
            JulianDay JD = Events.Easter(179);

            Assert.AreEqual(JD.Month, 04);
            Assert.AreEqual(JD.Day, 12);
        }
Beispiel #5
0
        public void TestPesach()
        {
            JulianDay JD = Events.Pesach(2015);

            Assert.AreEqual(JD.Month, 4);
            Assert.AreEqual(JD.Day, 4);
        }
Beispiel #6
0
        public void TestEaster1()
        {
            JulianDay JD = Events.Easter(1991);

            Assert.AreEqual(JD.Month, 3);
            Assert.AreEqual(JD.Day, 31);
        }
Beispiel #7
0
        public void TestToString()
        {
            var date = new UniversalTime(2014, 4, 26, 16, 53, 24);
            var jd   = new JulianDay(date, DateCalendar.Gregorian);

            Assert.AreEqual("2456774.20375", jd.ToString());
        }
        public void TestCastToDouble()
        {
            var jd = new JulianDay(JulianDay.J2000);
            var et = new EphemerisTime(jd, 12.34);

            Assert.Equal(2451545 + 12.34, (double)et);
        }
Beispiel #9
0
        public void TestDateToJulianDayNumber()
        {
            double expected = 2436116.31;
            double actual   = new JulianDay(1957, 10, 4, 19, 26, 24).JulianDayNumber;

            Assert.AreEqual(expected, actual);
        }
Beispiel #10
0
        public void TestDateToJulianDayNumber2()
        {
            double expected = 1842713.0;
            double actual   = new JulianDay(333, 1, 27, 12, 0, 0).JulianDayNumber;

            Assert.AreEqual(expected, actual);
        }
Beispiel #11
0
        public void TestCreateEmpty()
        {
            JulianDay jd = new JulianDay();

            Assert.AreEqual(0.0, jd.Value);
            Assert.AreEqual(DateCalendar.Julian, jd.Calendar);
        }
        /// <summary>
        /// Conversion d'une date Julien en temps universel
        /// </summary>
        public DateTime ToUniversalTime(JulianDay jDay)
        {
            int year = 0, month = 0, day = 0, hour = 0, minute = 0; double second = 0;

            Sweph.swe_jdet_to_utc(jDay.Value, ToCalendar(jDay.Calendar), ref year, ref month, ref day, ref hour, ref minute, ref second);
            return(new DateTime(year, month, day, hour, minute, (int)second, DateTimeKind.Utc));
        }
Beispiel #13
0
        public void TestToDateTime()
        {
            var date = new DateUT(2014, 4, 26, 16, 53, 24);
            var jd   = new JulianDay(date, DateCalendar.Gregorian);

            Assert.AreEqual(date.ToDateTime(), jd.ToDateTime());
        }
Beispiel #14
0
        public void TestToString()
        {
            var date = new DateUT(2014, 4, 26, 16, 53, 24);
            var jd   = new JulianDay(date, DateCalendar.Gregorian);

            Assert.AreEqual(2456774.20375.ToString(), jd.ToString());
        }
Beispiel #15
0
        public void TestCastToDouble()
        {
            var    date = new DateUT(2014, 4, 26, 16, 53, 24);
            var    jd   = new JulianDay(date, DateCalendar.Gregorian);
            double cd   = jd;

            Assert.AreEqual(cd, jd.Value);
        }
Beispiel #16
0
        public void TestJulianDayNumberToDate2()
        {
            double    JD       = 1842713.0;
            JulianDay expected = new JulianDay(333, 1, 27, 12, 0, 0);
            JulianDay actual   = new JulianDay(JD);

            Assert.AreEqual(expected, actual);
        }
Beispiel #17
0
        public void TestJulianDayNumberToDate3()
        {
            double    JD       = 1507900.13;
            JulianDay expected = new JulianDay(-584, 5, 28, 15, 07, 12);
            JulianDay actual   = new JulianDay(JD);

            Assert.AreEqual(expected, actual);
        }
Beispiel #18
0
 // --------------------------------------------------------------------
 // 標準的な計算方法で算出される DisplayReleaseDate
 // --------------------------------------------------------------------
 public static String?DisplayReleaseDateByDefaultAlgorithm <T>(T categorizable) where T : IRcCategorizable
 {
     if (categorizable.ReleaseDate <= YlConstants.INVALID_MJD)
     {
         return(null);
     }
     return(JulianDay.ModifiedJulianDateToDateTime(categorizable.ReleaseDate).ToString(YlConstants.DATE_FORMAT));
 }
Beispiel #19
0
        public void TestJulianDayNumberToDate()
        {
            double    JD       = 2436116.31;
            JulianDay expected = new JulianDay(1957, 10, 4, 19, 26, 24);
            JulianDay actual   = new JulianDay(JD);

            Assert.AreEqual(expected, actual);
        }
 protected void GetJD()
 {
     if (Person != null)
     {
         int h, m, s;
         Utilities.GetMidleValue(Person, out h, out m, out s);
         JD = new JulianDay(Person.BirthDay, Person.BirthMonth, Person.BirthYear, h, m, s, EventPlace.TimeZoneData.TimeOffset, Person.AdditionalHours).JD;
     }
 }
Beispiel #21
0
        public void TestToString()
        {
            var           date = new UniversalTime(2014, 4, 26, 16, 53, 24);
            var           jd   = new JulianDay(date, DateCalendar.Gregorian);
            var           dt   = 0.456;
            EphemerisTime et   = new EphemerisTime(jd, dt);

            Assert.AreEqual(2456774.65975.ToString(), et.ToString());
        }
Beispiel #22
0
        public void TestDayOfYear()
        {
            JulianDay JD       = new JulianDay(1978, 11, 14);
            int       expected = 318;
            int       actual;

            actual = JD.DayOfYear;
            Assert.AreEqual(expected, actual);
        }
Beispiel #23
0
        public void TestFromJulianDayNumber()
        {
            JulianDay       JD = new JulianDay(1991, 8, 13);
            IslamicCalendar MC = IslamicCalendar.FromJulianDay(JD);

            Assert.AreEqual(MC.Year, 1412);
            Assert.AreEqual(MC.Month, 2);
            Assert.AreEqual(MC.Day, 2);
        }
Beispiel #24
0
        public void TestToJulianDayNumber()
        {
            IslamicCalendar MC = new IslamicCalendar(1421, 1, 1);
            JulianDay       JD = MC.ToJulianDay();

            Assert.AreEqual(JD.Year, 2000);
            Assert.AreEqual(JD.Month, 4);
            Assert.AreEqual(JD.Day, 6);
        }
Beispiel #25
0
        public void TestCastToDouble()
        {
            var           date = new UniversalTime(2014, 4, 26, 16, 53, 24);
            var           jd   = new JulianDay(date, DateCalendar.Gregorian);
            var           dt   = 0.456;
            EphemerisTime et   = new EphemerisTime(jd, dt);
            double        cd   = et;

            Assert.AreEqual(cd, et.Value);
        }
Beispiel #26
0
        // --------------------------------------------------------------------
        // 新着を出力
        // --------------------------------------------------------------------
        private Int32 OutputNew()
        {
            WebOutputSettings aWebOutputSettings = (WebOutputSettings)OutputSettings;

            if (!aWebOutputSettings.EnableNew)
            {
                return(0);
            }

            Double aNewDate = JulianDay.DateTimeToJulianDay(DateTime.Now.AddDays(-aWebOutputSettings.NewDays));

            StringBuilder       aSB          = new StringBuilder();
            IQueryable <TFound> aQueryResult =
                from x in TableFound
                where x.LastWriteTime >= aNewDate
                orderby x.Head, x.ProgramRuby, x.ProgramName, x.SongRuby, x.SongName
            select x;
            TFound aPrevTFound = null;

            Int32 aNumProgramSongs = 0;
            Int32 aNumHeadSongs    = 0;
            Int32 aProgramIndex    = 0;

            foreach (TFound aTFound in aQueryResult)
            {
                if (aPrevTFound == null ||
                    aPrevTFound != null && aTFound.ProgramName != aPrevTFound.ProgramName)
                {
                    if (aPrevTFound != null)
                    {
                        // 番組の区切り(終了)
                        EndProgram(aSB, aNumProgramSongs);
                    }

                    // 番組の区切り(開始)
                    BeginProgram(aSB, aTFound, ref aProgramIndex);
                    aNumProgramSongs = 0;
                }

                // 曲情報追加
                AppendSongInfo(aSB, aTFound, aNumProgramSongs);

                // ループ処理
                aPrevTFound = aTFound;
                aNumProgramSongs++;
                aNumHeadSongs++;
            }

            if (aNumHeadSongs > 0)
            {
                OutputNew(aSB, aNumProgramSongs, aNumHeadSongs);
            }

            return(aNumHeadSongs);
        }
        public void TestImplicitCast()
        {
            JulianDay jd = 2451545.0;

            Assert.Equal(JulianDay.J2000, jd.Value);
            Assert.Equal(DateCalendar.Gregorian, jd.Calendar);

            Double d = jd;

            Assert.Equal(JulianDay.J2000, d);
        }
Beispiel #28
0
        public void TestCreate()
        {
            var           date = new UniversalTime(2014, 4, 26, 16, 53, 24);
            var           jd   = new JulianDay(date, DateCalendar.Gregorian);
            var           dt   = 0.456;
            EphemerisTime et   = new EphemerisTime(jd, dt);

            Assert.AreEqual(jd, et.JulianDay);
            Assert.AreEqual(dt, et.DeltaT);
            Assert.AreEqual(jd.Value + dt, et.Value);
        }
Beispiel #29
0
        public void TestJulianDay()
        {
            DateTime dt = new DateTime(2019, 6, 9, 12, 18, 0, DateTimeKind.Utc).Date;

            DateTime dt2 = new DateTime(2019, 6, 9, 12, 18, 0, DateTimeKind.Utc);

            double TimeZone = 2.0;

            string finAnswer = Calc.compare(JulianDay.CalcJulianDay(dt, dt2, TimeZone).ToString(), "2458643.92");

            Assert.AreEqual("2458643.92", finAnswer);
        }
Beispiel #30
0
        public void TestCreateDouble()
        {
            var       date = 2456774.20375;
            JulianDay jd   = new JulianDay(date, DateCalendar.Gregorian);

            Assert.AreEqual(date, jd.Value);
            Assert.AreEqual(DateCalendar.Gregorian, jd.Calendar);

            jd = new JulianDay(date, DateCalendar.Julian);
            Assert.AreEqual(date, jd.Value);
            Assert.AreEqual(DateCalendar.Julian, jd.Calendar);
        }