Example #1
0
 public ImageHelper(
     ILogger <ImageHelper> logger,
     IRemoteStorageService storageService,
     IImageManipulationProvider imageManipulation,
     IConfiguration configuration,
     ITempCloudImagesService tempCloudImage)
 {
     this.logger            = logger;
     this.storageService    = storageService;
     this.imageManipulation = imageManipulation;
     this.configuration     = configuration;
     this.tempCloudImage    = tempCloudImage;
 }
 public UploadFilesController(
     ILocalStorageServices localStorageService,
     IRemoteStorageService remoteStorageService,
     IImageValidatorService imageValidator,
     UserManager <ApplicationUser> userManager,
     IWebHostEnvironment env,
     IConfiguration configuration,
     IBackgroundQueue <ImageInfoParams> queue)
 {
     this.LocalStorageService  = localStorageService;
     this.RemoteStorageService = remoteStorageService;
     this.ImageValidator       = imageValidator;
     this.UserManager          = userManager;
     this.Env           = env;
     this.Configuration = configuration;
     this.Queue         = queue;
 }
 public void CompareSingleDiretory(IRemoteStorageService destination, string directoryPath, Action<CompareInfo> onCompare, string directoryAlias)
 {
     Compare(destination, directoryPath, false, onCompare, new[]{new KeyValuePair<string, string>(directoryPath,directoryAlias)});
 }
 public void Compare(IRemoteStorageService destination, Action<CompareInfo> onCompare, IEnumerable<KeyValuePair<string,string>> directoryAliases)
 {
     Compare(destination, "/", true, onCompare, directoryAliases);
 }
        private void Compare(IRemoteStorageService destination, string startPath, bool deep, Action<CompareInfo> onCompare, IEnumerable<KeyValuePair<string,string>> directoryAliases)
        {
            Traverse(startPath,(resources,currentPath) =>
            {
                Logger.Info(string.Format("Traversing in source folder '{0}' with {1} items", currentPath, resources.Count));
                string destFolder = currentPath;
                if(directoryAliases != null)
                {
                    var alias = directoryAliases.FirstOrDefault(kv => kv.Key.ToLower() == currentPath.ToLower());
                    if(!string.IsNullOrEmpty(alias.Value))
                    {
                        destFolder = alias.Value;
                    }
                }

                List<RemoteResource> destObjects = destination.ListDirectory(destFolder);
                resources.Where(r => r.ResourceType == ResourceType.File).ToList().ForEach(resource =>
                {
                    var dest = destObjects.FirstOrDefault(d => d.Name.ToLower() == resource.Name.ToLower());
                    if (dest != null)
                    {
                        var comp = new CompareInfo()
                        {
                            SourceParent = currentPath,
                            SourcePath = resource.Path,
                            DestinationStatus = CompareStatus.Same,
                            SourceBytes = resource.Size,
                            DestinationBytes = dest.Size
                        };
                        if (dest.Size != resource.Size)
                        {
                            comp.DestinationStatus = CompareStatus.Different;
                        }
                        onCompare(comp);
                    }
                    else
                    {
                        onCompare(new CompareInfo()
                        {
                            SourceParent = currentPath,
                            SourcePath = resource.Path,
                            DestinationStatus = CompareStatus.Missing,
                            SourceBytes = resource.Size
                        });
                    }
                });
            },deep);
        }
Example #6
0
 public ConsoleService(ILocalStorageService localStorage, IRemoteStorageService remoteStorage, ZipService zipService)
 {
     _localStorage  = localStorage;
     _remoteStorage = remoteStorage;
     _zipService    = zipService;
 }