Skip to content

Commit e3fde67

Browse files
xoqoniySitholeWB
authored andcommitted
Modified Upload fike and Increment DownloadCount methods in file Service.
1 parent 0587d4f commit e3fde67

1 file changed

Lines changed: 33 additions & 17 deletions

File tree

Services/FilesService.cs

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,31 @@ public async Task<string> DeleteFileAsync(string id)
4545
});
4646
}
4747

48-
public Task IncrementDownloadCountAsync(string id)
49-
{
50-
throw new NotImplementedException();
51-
}
48+
public async Task IncrementDownloadCountAsync(string id)
49+
{
50+
await Task.Run(() =>
51+
{
52+
var collection = _liteDatabase.GetCollection<FileDetails>("FileDetails");
53+
var fileDetails = collection.FindById(id);
54+
if (fileDetails != null)
55+
{
56+
// Increment the download count
57+
fileDetails.DownloadCount++;
58+
// Update the file details in the collection
59+
var success = collection.Update(fileDetails);
60+
if (!success)
61+
{
62+
throw new Exception("Error while updating download count");
63+
}
64+
}
65+
else
66+
{
67+
throw new Exception("File not found");
68+
}
69+
});
70+
}
5271

53-
public async Task<IEnumerable<FileDetails>> GetAllFileDetailsAsync()
72+
public async Task<IEnumerable<FileDetails>> GetAllFileDetailsAsync()
5473
{
5574
return await Task.Run(() =>
5675
{
@@ -92,16 +111,13 @@ public async Task<FileDetails> UpdateFileDetailsAsync(FileDetails details)
92111
});
93112
}
94113

95-
public async Task<FileDetails> UploadFileAsync(Stream fileStream, FileDetails fileDetails)
96-
{
97-
return await Task.Run(() =>
98-
{
99-
var collection = _liteDatabase.GetCollection<FileDetails>("FileDetails");
100-
fileDetails.Id = ObjectId.NewObjectId().ToString();
101-
collection.Insert(fileDetails.Id, fileDetails);
102-
var obj = _liteDatabase.FileStorage.Upload(fileDetails.Id, fileDetails.Name, fileStream);
103-
return fileDetails;
104-
});
105-
}
106-
}
114+
public async Task<FileDetails> UploadFileAsync(Stream fileStream, FileDetails fileDetails)
115+
{
116+
var collection = _liteDatabase.GetCollection<FileDetails>("FileDetails");
117+
fileDetails.Id = ObjectId.NewObjectId().ToString();
118+
collection.Insert(fileDetails.Id, fileDetails);
119+
var obj = _liteDatabase.FileStorage.Upload(fileDetails.Id, fileDetails.Name, fileStream);
120+
return fileDetails;
121+
}
122+
}
107123
}

0 commit comments

Comments
 (0)