DriveServiceManager.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Threading.Tasks;
  4. using Xamarin.Forms;
  5. using XamarinFormsGoogleDriveAPI.Model.BusinessModel;
  6. using XamarinFormsGoogleDriveAPI.Model.DataModel;
  7. using XamarinFormsGoogleDriveAPI.Services.Service.Business.Manager;
  8. using XamarinFormsGoogleDriveAPI.Services.Service.Interface;
  9. [assembly: Dependency(typeof(DriveServiceManager))]
  10. namespace XamarinFormsGoogleDriveAPI.Services.Service.Business.Manager
  11. {
  12. public class DriveServiceManager : IDriveServiceManager
  13. {
  14. public IDriveService DriveService { get; set; }
  15. public DriveServiceManager()
  16. {
  17. DriveService = DependencyService.Get<IDriveService>();
  18. }
  19. public async Task<IList<FileModel>> GetFilesList()
  20. {
  21. IList<FileModel> fileModel = null;
  22. var dataModel = await DriveService.GetFileDetailsAsync();
  23. if (dataModel != null)
  24. {
  25. fileModel =
  26. dataModel.Select(
  27. row =>
  28. new FileModel
  29. {
  30. FileId = row.FileId,
  31. ModifiedBy = row.ModifiedBy,
  32. Owner = row.Owner,
  33. Title = row.Title,
  34. ModifiedTime = row.ModifiedTime
  35. })
  36. .ToList();
  37. }
  38. return fileModel;
  39. }
  40. public async Task<FileDataModel> SaveFileAsync(string fileId, string fileName)
  41. {
  42. var rootObject = await DriveService.SaveFileAsync(fileId, fileName);
  43. return rootObject;
  44. }
  45. public async Task<bool> UploadFileAsync(string fileId, FileDataModel GDriveModel)
  46. {
  47. return await DriveService.UploadFileAsync(fileId, GDriveModel);
  48. }
  49. }
  50. }