Skip to content

Commit

Permalink
V1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
hezhilong committed Apr 10, 2022
1 parent ae72cc4 commit 6d9d4f9
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 10 deletions.
Binary file modified FishFM/Assets/avalonia-logo.ico
Binary file not shown.
4 changes: 4 additions & 0 deletions FishFM/FishFM.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<CFBundleSignature>????</CFBundleSignature>
<CFBundleExecutable>FishFM</CFBundleExecutable>
<CFBundleIconFile>FishFM.icns</CFBundleIconFile>
<CFBundleShortVersionString>1.0</CFBundleShortVersionString>
<NSPrincipalClass>NSApplication</NSPrincipalClass>
<NSHighResolutionCapable>true</NSHighResolutionCapable>
</PropertyGroup>
Expand Down Expand Up @@ -54,5 +55,8 @@
<None Update="libbass.so">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="FishFM.icns">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
Binary file added FishFM/FishFM.icns
Binary file not shown.
22 changes: 12 additions & 10 deletions FishFM/Helper/DbHelper.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.IO;
using FishFM.Models;
using LiteDB;
using Newtonsoft.Json;
Expand All @@ -10,7 +11,8 @@ public class DbHelper
{
private const string FmSongTable = "t_fm_songs";
private const string LikeTable = "t_liked_songs";
private static Random Rdm = new Random();
private static readonly string DbPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "MyFM.db");
private static readonly Random Rdm = new Random();

public static bool UpsertSongs(List<SongResult> list, string date, string type)
{
Expand All @@ -19,14 +21,14 @@ public static bool UpsertSongs(List<SongResult> list, string date, string type)
{
dbSongs.Add(songResult.ToDbSong(type, date));
}
using var db = new LiteDatabase("./MyFM.db");
using var db = new LiteDatabase(DbPath);
var col = db.GetCollection<DbSong>(FmSongTable);
return col.Upsert(dbSongs) >= 0;
}

public static List<SongResult> GetSongs(string date, string type)
{
using var db = new LiteDatabase("./MyFM.db");
using var db = new LiteDatabase(DbPath);
var col = db.GetCollection<DbSong>(FmSongTable);
var list = col.Query()
.Where(s => s.FmType == type && (string.IsNullOrEmpty(date) || s.AddDate == date)).ToList();
Expand All @@ -44,7 +46,7 @@ public static List<SongResult> GetSongs(string date, string type)

public static SongResult? GetLastSong(string type)
{
using var db = new LiteDatabase("./MyFM.db");
using var db = new LiteDatabase(DbPath);
var col = db.GetCollection<DbSong>(FmSongTable);
var lastSong = col.Query()
.Where(s => s.FmType == type).OrderByDescending(s=>s.AddDate).Limit(1).FirstOrDefault();
Expand All @@ -57,7 +59,7 @@ public static List<SongResult> GetSongs(string date, string type)

public static List<SongResult> GetSongsByIds(List<string> ids)
{
using var db = new LiteDatabase("./MyFM.db");
using var db = new LiteDatabase(DbPath);
var col = db.GetCollection<DbSong>(FmSongTable);
var list = col.Query()
.Where(s => ids.Contains(s.Id)).ToList();
Expand All @@ -75,7 +77,7 @@ public static List<SongResult> GetSongsByIds(List<string> ids)

public static List<SongResult> GetRandomSongs()
{
using var db = new LiteDatabase("./MyFM.db");
using var db = new LiteDatabase(DbPath);
var col = db.GetCollection<DbSong>(FmSongTable);
var offset = Rdm.Next(0, col.Count());
var list = col.Query()
Expand All @@ -94,14 +96,14 @@ public static List<SongResult> GetRandomSongs()

public static void LikeSong(SongResult songResult)
{
using var db = new LiteDatabase("./MyFM.db");
using var db = new LiteDatabase(DbPath);
var col = db.GetCollection<LikedSong>(LikeTable);
col.Upsert(new LikedSong(){Id = songResult.ToDbSong("","").Id});
}

public static void DislikeSong(SongResult songResult)
{
using var db = new LiteDatabase("./MyFM.db");
using var db = new LiteDatabase(DbPath);
var col = db.GetCollection<LikedSong>(LikeTable);
col.Delete(songResult.ToDbSong("","").Id);
}
Expand All @@ -112,14 +114,14 @@ public static bool IsSongLiked(SongResult? songResult)
{
return false;
}
using var db = new LiteDatabase("./MyFM.db");
using var db = new LiteDatabase(DbPath);
var col = db.GetCollection<LikedSong>(LikeTable);
return col.Exists(x=>x.Id == songResult.ToDbSong("","").Id);
}

public static List<string> GetAllLikedSong()
{
using var db = new LiteDatabase("./MyFM.db");
using var db = new LiteDatabase(DbPath);
var col = db.GetCollection<LikedSong>(LikeTable);
return col.Query().Select(x =>x.Id).ToList();
}
Expand Down

0 comments on commit 6d9d4f9

Please sign in to comment.