Skip to content

Commit e301b71

Browse files
Ashley DaviesAshley Davies
authored andcommitted
Improved code efficiency
1 parent f5ab473 commit e301b71

File tree

9 files changed

+92
-103
lines changed

9 files changed

+92
-103
lines changed

FileMasta/Data/Bookmark.cs

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 42 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77

88
namespace FileMasta.Data
99
{
10-
public class Database
10+
public class DataCache
1111
{
1212
/// <summary>
13-
/// Contains the web file elements in the database
13+
/// Contains the array of files in the database
1414
/// </summary>
1515
private readonly List<WebFile> _dbFiles = new List<WebFile>();
1616

1717
/// <summary>
18-
/// Contains the users saved files url
18+
/// Contains the users saved files
1919
/// </summary>
2020
private readonly List<string> _savedFiles = new List<string>();
2121

@@ -27,7 +27,7 @@ public class Database
2727
/// <summary>
2828
/// Initialize the database instance
2929
/// </summary>
30-
public Database()
30+
public DataCache()
3131
{
3232
if (!HttpExtensions.IsFileSizeEqual(DataHelper.DatabaseFilePath, AppExtensions.DatabaseUrl))
3333
HttpExtensions.DownloadFile(AppExtensions.DatabaseUrl, DataHelper.DatabaseFilePath);
@@ -96,22 +96,29 @@ public long GetTotalNoFiles()
9696
return _metadata.TotalNoFiles;
9797
}
9898

99+
private static readonly object Searching = new object();
100+
99101
/// <summary>
100-
/// Get the first file object that equals to the specified url
102+
/// Find the first file object that matches the specified url
101103
/// </summary>
102104
/// <param name="fileUrl"></param>
103105
/// <returns></returns>
104106
public WebFile GetFile(string fileUrl)
105107
{
106-
lock (SearchLock)
108+
lock (Searching)
107109
{
108110
return (from webFile in _dbFiles
109111
where webFile.Url.Equals(fileUrl)
110112
select webFile).First();
111113
}
112114
}
113115

114-
private static readonly object SearchLock = new object();
116+
public enum Sort
117+
{
118+
Name,
119+
Size,
120+
Date
121+
}
115122

116123
/// <summary>
117124
/// Search files from the database
@@ -125,9 +132,9 @@ where webFile.Url.Equals(fileUrl)
125132
/// <returns>Returns a list of matching files with the specified parameters</returns>
126133
public List<WebFile> Search(Sort sort, string name, string[] type, long minSize, DateTime minDateModified, DateTime maxDateModified)
127134
{
128-
lock (SearchLock)
135+
lock (Searching)
129136
{
130-
Sort(sort);
137+
SortFiles(sort);
131138
return (from webFile in _dbFiles
132139
where StringExtensions.ContainsAll(Uri.UnescapeDataString(webFile.Url.ToLower()),
133140
StringExtensions.GetWords(name.ToLower())) &&
@@ -144,19 +151,19 @@ where StringExtensions.ContainsAll(Uri.UnescapeDataString(webFile.Url.ToLower())
144151
/// </summary>
145152
/// <param name="sortBy">Sort Name, Date or Size</param>
146153
/// <param name="sortReverse">Reverse the sort order</param>
147-
private void Sort(Sort sortBy, bool sortReverse = false)
154+
private void SortFiles(Sort sortBy, bool sortReverse = false)
148155
{
149156
if (!sortReverse)
150157
{
151158
_dbFiles.Sort(delegate (WebFile x, WebFile y)
152159
{
153160
switch (sortBy)
154161
{
155-
case Data.Sort.Name:
162+
case Sort.Name:
156163
return string.Compare(x.Name, y.Name, StringComparison.Ordinal);
157-
case Data.Sort.Date:
164+
case Sort.Date:
158165
return x.LastModified.CompareTo(y.LastModified);
159-
case Data.Sort.Size:
166+
case Sort.Size:
160167
return x.Size.CompareTo(y.Size);
161168
default:
162169
return string.Compare(x.Name, y.Name, StringComparison.Ordinal);
@@ -169,11 +176,11 @@ private void Sort(Sort sortBy, bool sortReverse = false)
169176
{
170177
switch (sortBy)
171178
{
172-
case Data.Sort.Name:
179+
case Sort.Name:
173180
return string.Compare(y.Name, x.Name, StringComparison.Ordinal);
174-
case Data.Sort.Date:
181+
case Sort.Date:
175182
return y.LastModified.CompareTo(x.LastModified);
176-
case Data.Sort.Size:
183+
case Sort.Size:
177184
return y.Size.CompareTo(x.Size);
178185
default:
179186
return string.Compare(y.Name, x.Name, StringComparison.Ordinal);
@@ -188,7 +195,7 @@ private void Sort(Sort sortBy, bool sortReverse = false)
188195
/// <returns>Returns a list of matching files with the specified parameters</returns>
189196
public List<WebFile> SavedFiles()
190197
{
191-
lock (SearchLock)
198+
lock (Searching)
192199
{
193200
return (from webFile in _savedFiles
194201
let file = GetFile(webFile)
@@ -199,53 +206,58 @@ public List<WebFile> SavedFiles()
199206
/// <summary>
200207
/// Save the specified file to users the saved list
201208
/// </summary>
202-
/// <param name="fileUrl">URL to add</param>
203-
public void AddToSaved(string fileUrl)
209+
/// <param name="url">URL to add</param>
210+
public void SaveFile(string url)
204211
{
205-
_savedFiles.Add(fileUrl);
212+
_savedFiles.Add(url);
206213
}
207214

208215
/// <summary>
209216
/// Remove the specified file from the users saved list
210217
/// </summary>
211-
/// <param name="fileUrl">URL to remove</param>
212-
public void RemoveFromSaved(string fileUrl)
218+
/// <param name="url">URL to remove</param>
219+
public void UnsaveFile(string url)
213220
{
214-
_savedFiles.Remove(fileUrl);
221+
_savedFiles.Remove(url);
215222
}
216223

217224
/// <summary>
218225
/// Check if user has saved the specified file
219226
/// </summary>
220-
/// <param name="fileUrl">URL of the File</param>
227+
/// <param name="url">URL of the File</param>
221228
/// <returns>True if exists</returns>
222-
public bool IsFileSaved(string fileUrl)
229+
public bool IsFileSaved(string url)
223230
{
224231
foreach (var file in _savedFiles)
225-
if (file == fileUrl)
232+
if (file == url)
226233
return true;
227234
return false;
228235
}
229236

230237
/// <summary>
231238
/// Remove all saved file urls
232239
/// </summary>
233-
public void ClearSaved()
240+
public void WipeSaved()
234241
{
235242
_savedFiles.Clear();
236243
}
237244

238245
/// <summary>
239-
/// Save/update saved files to a local file
246+
/// Save/update users saved files to a local file
240247
/// </summary>
241-
public void UpdateSavedFile()
248+
public void CreateSavedFile()
242249
{
243-
if (_savedFiles.Count == 0) { DataHelper.RemoveSavedFile(); return; }
250+
if (_savedFiles.Count == 0) { DeleteSavedFile(); return; }
244251
using (var fs = File.OpenWrite(DataHelper.SavedFilePath))
245252
using (var bs = new BufferedStream(fs))
246253
using (var sw = new StreamWriter(bs))
247254
foreach (var fileUrl in _savedFiles)
248255
sw.WriteLine(fileUrl);
249256
}
257+
258+
public void DeleteSavedFile()
259+
{
260+
if (File.Exists(DataHelper.SavedFilePath)) File.Delete(DataHelper.SavedFilePath);
261+
}
250262
}
251263
}

FileMasta/Data/DataHelper.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@ public static WebFile CreateFile(string fileUrl)
1717
return new WebFile(Path.GetFileName(fileUrl), FtpExtensions.GetFileSize(fileUrl), FtpExtensions.GetFileLastModified(fileUrl), fileUrl);
1818
}
1919

20-
public static void RemoveSavedFile()
21-
{
22-
if (File.Exists(SavedFilePath)) File.Delete(SavedFilePath);
23-
}
24-
2520
/// <summary>
2621
/// Retrieve list of keywords from database
2722
/// </summary>

FileMasta/Data/Sort.cs

Lines changed: 0 additions & 9 deletions
This file was deleted.

FileMasta/FileMasta.csproj

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,11 @@
9292
<Reference Include="System.Xml" />
9393
</ItemGroup>
9494
<ItemGroup>
95-
<Compile Include="Data\Bookmark.cs" />
96-
<Compile Include="Data\Database.cs" />
95+
<Compile Include="Data\DataCache.cs" />
9796
<Compile Include="Data\DataHelper.cs" />
98-
<Compile Include="Data\Sort.cs" />
9997
<Compile Include="Extensions\FtpExtensions.cs" />
10098
<Compile Include="Extensions\HttpExtensions.cs" />
101-
<Compile Include="Utils\Engines.cs" />
99+
<Compile Include="Utilities\Engines.cs" />
102100
<Compile Include="Forms\AboutDialog.cs">
103101
<SubType>Form</SubType>
104102
</Compile>
@@ -145,7 +143,7 @@
145143
<Compile Include="Extensions\LocalExtensions.cs" />
146144
<Compile Include="Extensions\AppExtensions.cs" />
147145
<Compile Include="Extensions\StringExtensions.cs" />
148-
<Compile Include="Utils\Update.cs" />
146+
<Compile Include="Utilities\Update.cs" />
149147
<EmbeddedResource Include="Forms\AboutDialog.resx">
150148
<DependentUpon>AboutDialog.cs</DependentUpon>
151149
</EmbeddedResource>

0 commit comments

Comments
 (0)